Как вставить потоковые данные в hawq и выполнить запрос в онлайн-данных.Вставить потоковые данные в hawq
I teste jdbc insert and performance был очень плохим.
После этого я протестировал запись данных в hdfs с помощью лотка и создал внешнюю таблицу в hawq, но hawq не может читать данные, пока лоток не закроет файл. проблема заключается в том, что если я установил скорость потока льда, очень низкую (1 мин) через несколько дней число файлов увеличивается, и это плохо для hdf.
Третье решение - hbase, но поскольку большинство моих запросов являются агрегацией для многих данных, hbase не является хорошим решением (hbase хорош для получения отдельных данных).
Таким образом, с этими ограничениями, что является хорошим решением для запроса потоковых данных в режиме онлайн с помощью hawq?
Вам строго нужна внешняя таблица? Если вы только обрабатываете данные в HAWQ с помощью SQL, гораздо лучше и быстрее использовать внутренние паркетные таблицы. Тогда ваш рабочий процесс можно упростить - вы можете создайте файл в hdfs, используя flume, и каждую минуту вы можете сделать INSERT INTO SELECT * FROM и сразу удалить обработанные файлы. Вам не нужны обработанные файлы, поскольку данные перемещаются в каталоги с управляемым сегментом hawq alread у. Вы можете настроить crontab на hawq master для выполнения этого движения каждую минуту и впоследствии удалить обработанные файлы hdfs. –
Ali