我想在AWS S3中存储http请求有效负载,并使用AWS Athena对这些数据进行查询。文件中的数据格式是什么,在这种情况下建议存储在S3中?
选择包括:JSON,CSV,TSV,Textfiles,Apache ORC,Apache Parquet,压缩数据。
目前我正在考虑这三个方面:序列化/反序列化的时间,查询速度,空间。
欢迎任何链接提供帮助!谢谢!
答案 0 :(得分:0)
Athena目前支持以下文件格式。
为了使用这些格式,您必须指定一个序列化器 - 反序列化器类(SerDe),以便Athena知道该表的格式。
要提高Athena查询性能,重要的因素是对数据进行分区。通过对数据进行分区,您可以限制每个查询扫描的数据量,从而提高性能并降低成本。
有关详情,请查看Athena partitioning并支持file formats。
答案 1 :(得分:0)
对于序列化和查询性能以及空间,Apache Parquet和ORC将是最佳选择。它们都是使用各种编码和压缩技术的柱状数据格式,以同时优化大小和查询性能。
ORC和Parquet之间的选择主要取决于您计划使用的工具。虽然Parquet是比较普遍的,但有些工具在ORC中表现更好。
使用这些格式存在一个限制因素:它们针对批处理工作负载进行了优化。这意味着您还需要批量编写它们。