Хранилище Flink Table и Hive Catalog

У меня есть тема кафки и Hive Metastore. Я хочу присоединиться к входящим событиям из темы kafka с записями метастора. Я увидел возможность с Flink использовать каталог для запроса Hive Metastore. Итак, я вижу два способа справиться с этим:

  • использование API DataStream для использования темы kafka и запроса каталога Hive так или иначе в процессеFunction или что-то подобное
  • используя Table-Api, я бы создал таблицу из темы kafka и присоединил ее к каталогу Hive

Больше всего меня беспокоит хранение. В обоих случаях что хранится в памяти, а что нет? Хранится ли в каталоге Hive что-нибудь на стороне кластера Flink? Во втором случае, как обрабатывается таблица? Флинк создает копию?

Какое решение кажется лучшим? (возможно, оба варианта - хороший выбор)

1 ответ

Для разных сценариев подходят разные методы, иногда в зависимости от того, является ли ваша таблица улья статической или динамической.

Если ваш улей представляет собой только таблицу размеров, вы можете попробовать эту главу.

соединения в непрерывных запросах

Он автоматически связывает последний раздел куста и подходит для сценариев, в которых данные измерений обновляются медленно.

Но нужно отметить, что эта функция не поддерживается планировщиком Legacy.

Если в вашей таблице улья хранятся данные о событиях, и для каждых данных kafka необходимо активно запрашивать и связывать несколько полей в таблице улья, то я думаю, что лучше использовать базы данных kv, такие как hbase для соединения.

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