У меня есть файлы CSV, организованные по дате и времени следующим образом
logs/YYYY/MM/DD/CSV files...
Я настроил Apache Drill для выполнения SQL-запросов поверх этих CSV-файлов. Поскольку файлов 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 не соответствуют какой-либо схеме. Столбцы могут быть или не быть разными.