Кафка потоки ktable-ktable иностранное ключ соединение излучает нулевой, даже если правая сторона пустаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Кафка потоки ktable-ktable иностранное ключ соединение излучает нулевой, даже если правая сторона пуста

Сообщение Anonymous »

Какова семантика для kafka Streams (3.7.1) ktable-Ktable ginal foreight Key, где извлеченный внешний ключ никогда не совпадал с первичным ключом в правой стороне ktable? < /p>
В этом примере правая сторона пусто и ничто не соответствует.
...
KTable personsWithNiceName = person.join(niceName,
name -> name,
(name, nice) -> nice + " " +name))
.toStream().to("Result");
< /code>
При написании первого сообщения ничего не совпадает, и ничего не испускается. Это согласуется с моими ожиданиями. < /P>
inputPersonTopic.pipeInput("1", "Jane");

outputTopic.readKeyValuesToList().forEach((rec) -> {
System.out.println("Key: " + rec.key + " Value: " + rec.value);
});

// nothing is emitted
< /code>
Однако; Написание любого сообщения для того же ключа снова испускается. Это меня немного расстроило. < /P>
inputPersonTopic.pipeInput("1", "Jane");

outputTopic.readKeyValuesToList().forEach((rec) -> {
System.out.println("Key: " + rec.key + " Value: " + rec.value);
});

//Key: 1 Value: null
< /code>
Это ожидается? Поскольку предыдущего значения нет и нечего удалить, я скорее надеялся, что также последующие значения тоже будут подавлены. Потребители, и вызовут довольно много шума. Если да, то какой наиболее эффективный способ? Я могу думать только о процессоре с магазином для «виден», которые просто игнорируют надгробия для невидимых ключей.

Подробнее здесь: https://stackoverflow.com/questions/794 ... side-is-em
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»