【发布时间】:2018-02-25 05:01:09
【问题描述】:
我有按日期和时间组织的 CSV 文件,如下所示
logs/YYYY/MM/DD/CSV files...
我已设置 Apache Drill 以在这些 CSV 文件之上执行 SQL 查询。由于CSV文件很多;文件的组织可用于优化性能。例如,
SELECT * from data where trans>='20170101' AND trans<'20170102';
在此 SQL 中,应扫描目录 logs/2017/01/01 以查找数据。有没有办法让 Apache Drill 基于这个目录结构做优化?是否可以在 Hive、Impala 或任何其他工具中执行此操作?
请注意:
- SQL 查询几乎总是包含时间范围。
- 给定目录中的 CSV 文件数量并不多。结合所有年份的数据,这将是巨大的
- 每个 CSV 文件中都有一个名为“trans”的字段,其中包含日期和时间。
- CSV 文件根据“trans”字段的值放置在适当的目录下。
- CSV 文件不遵循任何架构。列可能不同,也可能不同。
【问题讨论】:
标签: hadoop apache-spark hive apache-drill presto