Я попытался использовать apache-drill для запуска простого запроса на объединение, и скорость была не очень хорошей. мой тестовый запрос был:
SELECT p.Product_Category, SUM(f.sales)
FROM facts f
JOIN Product p on f.pkey = p.pkey
GROUP BY p.Product_Category
Где факты содержат около 422 000 строк, а продукт — 600 строк. группировка возвращается с 4 строками.
Сначала я протестировал этот запрос на SqlServer и получил результат примерно через 150 мс.
С помощью Drill я сначала попытался подключиться напрямую к SqlServer и выполнить запрос, но это было медленно (около 5 секунд).
Затем я попытался сохранить таблицы в файлы json и читать из них, но это было еще медленнее, поэтому я попробовал файлы parquet.
Я получил результат обратно в первом прогоне примерно через 3 секунды. следующий запуск был около 900 мс, а затем он стабилизировался на уровне около 500 мс.
Судя по чтению, это не имеет смысла, и сверлить нужно быстрее! Я попробовал "ОБНОВИТЬ МЕТАДАННЫЕ ТАБЛИЦЫ", но скорость не изменилась.
Я запускал это в Windows через командную строку сверла.
Есть идеи, нужна ли мне дополнительная конфигурация или что-то в этом роде?
Спасибо!