我们在S3中有许多GZIP CSV格式的文件(大约20k-30k文件)。 我们希望运行涉及所有文件的分析(非常简单)。
看起来像这样: S3://bucket-name/pt=something/dt=2017-01-01-00-00/1234/5432.csv.gz
我们尝试过:
在许多S3文件上运行简单SQL查询的最佳选择是什么?
谢谢!
答案 0 :(得分:1)
Athena可能是您用例的绝佳工具,我想。我们将它用于针对存储在S3中的数据集的许多类型的查询。大多数是Parquet格式,有些是TSV。虽然我知道GZIP是受支持的SerDe,但我认为它不能被读作一系列单独的.gz文件。我们在大多数情况下使用Snappy进行压缩。在我们的使用中,至少,我们使用Hive(和合适的压缩SerDe)从Hadoop集群向S3写入文件,直接压缩。
但是,如果您能够在将文件复制到S3之前解压缩文件(并且可能将它们写入新的压缩格式),这可能会有效,并允许您使用Athena。 The S3 version of distcp
有一个选项--outputCodec=CODEC
和其他一些功能,可以让您通过一两个命令完成此任务。
最后,EMR将处理同样的问题 - EMR的默认查询引擎是Presto,这是Athena使用的。如果您以Hadoop可读格式将数据导入S3,您将有几个不错的选择。