簡體   English   中英

kafka流到ktable加入

[英]kafka stream to ktable join

我正在嘗試加入

  • KStream:從一個主題創建,該主題具有JSON值。 我使用值中的兩個屬性來重新設置流。 示例值(json的片段)。 我創建了一個自定義pojo類,並使用了一個自定義serdes。 {"value":"0","time":1.540753118800291E9,,"deviceIp":"111.111.111.111","deviceName":"KYZ1","indicatorName":"ifHCInOctets"}

鍵映射為:

map((key, value) -> KeyValue.pair(value.deviceName+value.indicatorName, value))

我在KStream上進行了窺視,並打印了我使用的鍵和屬性。 看起來都不錯。

  • KTable:我從一個主題創建一個ktable,我正在使用python腳本寫入該主題,該主題的鍵是KYZ1ifHCInOctets ,即設備名稱和指標名稱的組合(從上面)。 我執行了toStream,然后瀏覽了生成的流。 鍵和值似乎都很好。

現在,當我進行內部聯接並進行窺視或遍歷某個主題時,我會看到鍵和值不匹配。 加入似乎無效,

  KStream<String, MyPojoClass> joined= datastream.join(table, 
          (data,table)->data
          ,Joined.with(Serdes.String(),myCustomSerde,Serdes.String())
          );

key = XYZ1s1_TotalDiscards
Value = {"deviceName":"ABC2", "indicatorName":"jnxCosQstatTxedBytes"}

我在通過ksql進行工作時完全一樣,但是想做自己的流應用程序。

現在,對於錯誤的根源聽起來如此愚蠢,我的PoJo類幾乎沒有什么靜態的屬性:-(,導致了錯誤的鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM