Вот шаги к текущему процессу:Как эффективно перемещать данные от Kafka до таблицы Impala?
- Flafka записывает журналы в «зоне посадки» на HDFS.
- Задание, запланированное Oozie, копирует полные файлы из зоны приземления в промежуточную зону.
- Данные этапа являются «схемами» таблицы Hive, которая использует промежуточную область в качестве ее местоположения.
- Записи из промежуточного стола добавляются в постоянную таблицу улей (например,
insert into permanent_table select * from staging_table
). - Данные из таблицы «Улов» доступны в Импале, выполнив
refresh permanent_table
в Импале.
Я смотрю на этот процесс я построил и «пахнет» плохо: слишком много промежуточных шагов, которые нарушают поток данных.
Около 20 месяцев назад я увидел демоверсию, в которой данные транслировались из трубки Amazon Kinesis, и был доступен в непосредственной близости от Импалы в реальном времени. Я не думаю, что они сделали что-то довольно уродливое/запутанное. Есть ли более эффективный способ передачи данных от Kafka в Impala (возможно, потребитель Kafka, который может сериализоваться в Parquet)?
Я предполагаю, что «потоковая передача данных с низкой задержкой SQL» должна быть довольно распространенным вариантом использования, и поэтому мне интересно узнать, как другие люди решили эту проблему.
[Здесь] (http://www.svds.com/flexible-data-architecture-with-spark-cassandra- and-impala /) - это альтернативная архитектура, которая, кажется, имеет меньше перелетов и может быть относительно быстрее – vmachan
Помогает ли это? https://blog.cloudera.com/blog/2015/11/how-to-ingest-and-query-fast-data-with-impala-without-kudu/ –