Kafka streams vs Kafka connect для трубопровода Kafka HBase ETL - PullRequest
0 голосов
/ 08 января 2019

У меня есть простой сценарий для задания ETL: взять данные из темы Кафки и поместить их в таблицу HBase. В будущем я собираюсь добавить поддержку некоторой логики после чтения данных из темы. Я рассматриваю два сценария:

  • использовать Kafka Streams для чтения данных из темы и дальнейшей записи через собственный драйвер HBased каждой записи
  • Используйте Kafka -> HBase разъем

У меня есть следующие опасения по поводу моих опций:

  • Является ли глупой идеей записывать данные каждый раз, когда они поступают в окно потока Кафки? - предположить, что это понизит производительность
  • Соединитель Kafka Hbase поддерживается только сторонним разработчиком, я не уверен в качестве кода этого решения и в возможности добавить пользовательскую логику агрегирования поверх данных из темы.

1 Ответ

0 голосов
/ 08 января 2019

Я сам пытался найти варианты ETL для KAFKA в HBase, однако пока мое исследование говорит мне, что не очень хорошая идея взаимодействовать с внешней системой в приложении потоков KAFKA (см. Ответ здесь и здесь ). Потоки KAFKA очень мощны и хороши, если у вас есть вариант использования KAFKA->Transform_message->KAFKA, и в конечном итоге вы можете подключиться к KAFKA, который будет брать ваши данные из темы KAFKA и записывать их в приемник.

Поскольку вы не хотите использовать стороннее KAFKA connect для HBase, один вариант - написать что-то самостоятельно с помощью API подключения, другой вариант - использовать API-интерфейс производителя KAFKA и написать приложение традиционным способом, опрашивать сообщения, писать в приемник, фиксировать пакет и двигаться дальше.

...