[英]kafka streams example throws a class cast exception, serde windowed -> string. How to set the proper Serde?
[英]Serde String[] in Kafka
我是卡夫卡的新手。 我正在使用商店構建器,並希望將兩個元素的 String[] 作為與鍵關聯的值。 我這樣設置商店:
StoreBuilder<KeyValueStore<String, String>> storeBuilder=Stores.keyValueStoreBuilder(
Stores.persistentKeyValueStore(storeName),
Serdes.String(),
Serdes.String());
builder.addStateStore(storeBuilder);
當我調用該方法將數據放入存儲時:
String []oldValues = store.get(v.getVessel());
我收到此錯誤:
Caused by: java.lang.ClassCastException: class java.lang.String cannot be cast to class [Ljava.lang.String; (java.lang.String and [Ljava.lang.String; are in module java.base of loader 'bootstrap')
我應該這樣設置商店:
StoreBuilder<KeyValueStore<String, String[]>>
但我不知道該放什么而不是 Serdes.String()
您需要定義自己的 Serializer、Deserializer 和 Serde 子類來執行此操作。
您可以簡單地使用帶有 JSON 反序列化的純字符串來創建字符串數組,或者 CSV
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.