AWS Athena查询文件中的AWS S3数据格式

时间:2017-06-11 07:04:18

标签: json csv http parquet amazon-athena

我想在AWS S3中存储http请求有效负载,并使用AWS Athena对这些数据进行查询。文件中的数据格式是什么,在这种情况下建议存储在S3中?

选择包括:JSON,CSV,TSV,Textfiles,Apache ORC,Apache Parquet,压缩数据。

目前我正在考虑这三个方面:序列化/反序列化的时间,查询速度,空间。

欢迎任何链接提供帮助!谢谢!

2 个答案:

答案 0 :(得分:0)

Athena目前支持以下文件格式。

  • 阿夫罗
  • CloudTrail
  • CSV(OpenCSVSerDe)
  • TSV
  • Parquet Serde
  • ORC
  • JS​​ON
  • Apache Web服务器日志(RegexSerDe)
  • 自定义分隔符

为了使用这些格式,您必须指定一个序列化器 - 反序列化器类(SerDe),以便Athena知道该表的格式。

要提高Athena查询性能,重要的因素是对数据进行分区。通过对数据进行分区,您可以限制每个查询扫描的数据量,从而提高性能并降低成本。

有关详情,请查看Athena partitioning并支持file formats

答案 1 :(得分:0)

对于序列化和查询性能以及空间,Apache Parquet和ORC将是最佳选择。它们都是使用各种编码和压缩技术的柱状数据格式,以同时优化大小和查询性能。

ORC和Parquet之间的选择主要取决于您计划使用的工具。虽然Parquet是比较普遍的,但有些工具在ORC中表现更好。

使用这些格式存在一个限制因素:它们针对批处理工作负载进行了优化。这意味着您还需要批量编写它们。