Как соединить два KTable и записать результат ktable в State Store - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть два объекта KTable:

KTable<Long, byte[]> firstTable = builder.table("firstTopic", Consumed.with(Serdes.Long(), Serdes.ByteArray()));

 KTable<Long, byte[]> secondTable = builder.table("secondTopic",
        Consumed.with(Serdes.Long(), Serdes.ByteArray()));

После этого я хочу объединить эти две таблицы:

firstTable.leftJoin(secondTable,
            (leftValue, rightValue) -> {
            try {
                return utils.serializeNetwork(utils.deserializeNetwork(leftValue));
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
            }
          )

Итак, у меня есть две таблицы, и я объединяю их в однуtable, и я хочу, чтобы полученная таблица сохранялась в хранилище состояний kafka каждым ключом, но я не знаю, как это сделать.

1 Ответ

0 голосов
/ 04 декабря 2018

Вы можете принудительно материализовать материализацию в локальном хранилище, указав параметр Materialized в leftJoin и указав имя для хранилища состояний.

firstTable.leftJoin(..., Materialized.as("my-store-name"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...