我正计划用以下参数分析TSV文件
文件大小将达到350-400 MB
我在这里的疑问
由于我是AWS Athena的新手,欢迎任何建议或反馈?
答案 0 :(得分:1)
我认为Athena在处理400 MB文件时不会遇到任何问题。您可以将它们分成两个大小相等的文件(是的,也使用压缩)然后查询。通常 - 如果拆分文件太小(小于128 MB)并且文件太多,您可能会发现拆分文件实际上需要更多时间。对于您的文件总大小,我认为即使它只是一个文件,您也不会发现任何差异。
但是将TSV转换为柱状格式将为您提供最佳性能。尝试将TSV / CSV转换为Parquet并进行查询。您的所有查询都不太可能select * from
所以请继续进行。查看converting to columnar formats
答案 1 :(得分:1)
对于Athena而言,这是一个非常小的数据集,除非有许多人不断使用它,否则优化可能不值得付出努力。如果您要做的只是从1.6秒到0.8秒的查询时间,那么可能会花费更多的时间。要回答您的问题:
是否需要拆分成多个文件才能获得更好的性能?否。在这种规模下,这可能会损害性能。
我应该对它进行分区吗?以减少扫描次数并节省成本?不太可能设想一个值得的方案。
如何加快选择查询的速度?索引如何在TSV文件中工作?如果您在排序等方面停留在TSV文件中,则无能为力。
Snappy压缩会减少文件的大小吗? 30%-40%(文件为280-300 MB)。它将。
将其转换为Apache ORC是否有助于减小尺寸?是。这将是最有价值的行动。转换为ORC或Parquet所需的最小努力可能会给您带来比以上任何其他方面更大的收益。