支持的 SerDes 和数据格式 - Amazon Athena

支持的 SerDes 和数据格式

Athena 支持采用以下格式创建表和查询数据:CSV、TSV、自定义分隔符和 JSON 格式,Hadoop 相关格式(ORC、Apache Avro 和 Parquet),Logstash 日志、AWS CloudTrail 日志和 Apache WebServer 日志。

注意

本节中列出的格式由 Athena 用于读取数据。有关 Athena 在运行 CTAS 查询时用于写入数据的格式,请参阅 从查询结果创建表(CTAS)

要在 Athena 中采用这些格式创建表和查询数据,请指定一个串行器-解串器类 (SerDe),以便 Athena 知道使用哪种格式以及如何解析数据。

此表列出了 Athena 中支持的数据格式及其对应的 SerDe 库。

SerDe 是一个自定义库,可以告诉 Athena 使用的数据目录如何处理数据。要指定 SerDe 类型,可以在 Athena 中的 CREATE TABLE 语句的 ROW FORMAT 部分中显式列出该类型。在某些情况下,您可以省略 SerDe 名称,因为 Athena 在默认情况下对特定类型的数据格式使用某些 SerDe 类型。

支持的数据格式和 SerDes
Data format(数据格式) 描述 Athena 中支持的 SerDe 类型
Amazon Ion Amazon Ion 是一种类型丰富、自描述的数据格式,是 JSON 的超集,由 Amazon 开发和开源。 使用 Amazon Ion Hive SerDe

Apache Avro

用于在 Hadoop 中存储数据的一种格式,它对记录值使用基于 JSON 的架构。

使用 Avro SerDe

Apache Parquet

一种用于在 Hadoop 中列式存储数据的格式。

使用 Parquet SerDe 和 SNAPPY 压缩。

Apache WebServer 日志

一种用于在 Apache WebServer 中存储日志的格式。

使用 Grok SerDeRegex SerDe

CloudTrail 日志

一种用于在 CloudTrail 中存储日志的格式。

CSV(逗号分隔的值)

对于 CSV 格式的数据,每个行均表示一个数据记录,每个记录包含一个或多个字段,以逗号分隔。

自定义分隔的

对于采用此格式的数据,每一行表示一个数据记录,记录由自定义的单字符分隔符分隔。

使用 用于 CSV、TSV 和自定义分隔文件的 LazySimpleSerDe 并指定自定义单字符分隔符。

JSON(JavaScript 对象表示法)

对于 JSON 数据,每个行均表示一个数据记录,每个记录包含属性-值对和数组,以逗号分隔。

Logstash 日志

一种用于在 Logstash 中存储日志的格式。

使用 Grok SerDe

ORC(优化的行列式)

一种用于优化 Hive 数据列式存储的格式。

使用 ORC SerDe 和 ZLIB 压缩。

TSV(制表符分隔的值)

对于 TSV 格式的数据,每个行均表示一个数据记录,每个记录包含一个或多个字段,以制表符分隔。

使用 用于 CSV、TSV 和自定义分隔文件的 LazySimpleSerDe 并将分隔符指定为 FIELDS TERMINATED BY '\t'