从 Amazon S3 创建表时,Athena 如何将数据与正确的字段匹配?

Posted

技术标签:

【中文标题】从 Amazon S3 创建表时,Athena 如何将数据与正确的字段匹配?【英文标题】:How does Athena match data to the correct fields when creating a table from Amazon S3? 【发布时间】:2021-09-13 12:10:25 【问题描述】:

我仍在处理 Athena,如果这个问题没有意义,我深表歉意。我正在尝试从我上传到我的 Amazon S3 存储桶的 csv 文件在 Athena 中创建一个表。在 Athena 上的表创建过程中,我需要定义字段名称和数据类型。这些字段如何与存储在 Amazon S3 存储桶中的字段匹配?仅仅是它们在 csv 中出现的顺序吗?

【问题讨论】:

【参考方案1】:

是的,具体取决于订单。 https://docs.aws.amazon.com/athena/latest/ug/csv-serde.html

【讨论】:

【参考方案2】:

这取决于数据格式和使用的 serde。对于 CSV 数据,列按索引映射。 regex 和 grok serde 以及 ORC 也是如此。 JSON、Avro 和 Parquet 改为按名称映射。

Grok、ORC 和 Parquet 可以配置为索引或名称,但以上为默认值。

【讨论】:

以上是关于从 Amazon S3 创建表时,Athena 如何将数据与正确的字段匹配?的主要内容,如果未能解决你的问题,请参考以下文章

当我们从 s3 中的 csv 文件读取数据并在 aws athena 中创建表时如何跳过标题。

Amazon athena 无法读取 S3 Access 日志文件,Athena 选择查询为每一列返回空结果集

Amazon Athena 表创建问题

Amazon AWS Athena S3 和 Glacier 混合存储桶

Amazon Athena:输入没有可行的替代方案

我可以从 Athena 中删除数据(表中的行)吗?