Хранилище 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 для соединения.