Почему HbaseTemplate работает медленно после обновления Flink

У нас есть пакетное приложение, использующее Flink 1.0.0. Приложение запускается на кластере пряжи с парой узлов и параллелизмом ~48. Это приложение читает из Hbase, используя hbase-коннектор, и записывает в hbase, используя наш собственный формат вывода. Для каждой записи мы выполняем поиск из hbase, используя: HbaseTemplate.

В коде это будет выглядеть примерно так:

environment.createInput(hbaseTableInputFormat())
           .map(object -> object.enrichWith(hbaseTemplate.get(object.getSomeId()))
           .output(hbaseOutputFormat());

(в нашем примере мы также используем partitionByHash и union)

При использовании flink 1.0.0 это работало нормально, но после обновления до Flink 1.4.2 производительность упала в 15-20 раз.

После некоторой отладки мы перешли от использования HbaseTemplate к клиентской таблице hbase, и это решило проблемы с производительностью!

Почему это могло помочь, что-то изменилось в Flink, возможно, в способе создания операторов?

0 ответов

Другие вопросы по тегам