【发布时间】:2019-10-31 07:40:34
【问题描述】:
我正在尝试基于 CSV 文件创建一个外部表。我的问题是并非所有 CSV 文件都是相同的(其中一些缺少列),并且列的顺序并不总是相同。
问题是我是否可以让 Athena 按名称而不是按顺序解析列
【问题讨论】:
标签: csv amazon-athena
我正在尝试基于 CSV 文件创建一个外部表。我的问题是并非所有 CSV 文件都是相同的(其中一些缺少列),并且列的顺序并不总是相同。
问题是我是否可以让 Athena 按名称而不是按顺序解析列
【问题讨论】:
标签: csv amazon-athena
不,athena 无法按名称而不是顺序来解析列。数据的顺序应与表架构中定义的顺序完全相同。在将它们写入 S3 之前,您需要预处理 CSV 并更改列顺序。
从 aws athena 文档中添加引号:
当您在 Athena 中创建新表架构时,Athena 会存储该架构 在数据目录中并在您运行查询时使用它。
Athena 使用一种称为 schema-on-read 的方法,这意味着一个模式 在您执行查询时投射到您的数据上。这 无需加载或转换数据。
当您在 Athena 中创建数据库和表时,您只需 描述架构和表数据所在的位置 位于 Amazon S3 中用于读取时查询。数据库和表, 因此,与它们的含义略有不同 传统的关系数据库系统,因为不存储数据 以及数据库和表的架构定义。
【讨论】: