2017-06-04 10 views
1

をするのか何を、ストリームはの目的は何であるか、ストリームVALUE_SERDE_CLASS_CONFIGはカフカで

final KStream<String, String> textLines = builder.stream(stringSerde, stringSerde, "TextLinesTopic"); 

...そしてtoに:私のコードで

wordCounts.to(stringSerde, longSerde, "WordsWithCountsTopic"); 

私は上記の2を削除しましたが呼び出され、すべてが正常に動作していたようです。また、to呼び出しで使用されていても、Serdes.Long()をVALUE_SERDE_CLASS_CONFIGに渡すことはありません。

スニペットはconfluent sampleから取得しました。

答えて

1

serdeを指定しないすべての操作に対して、デフォルトのキーまたは値serdeを設定します。

たとえば、あなたがこのケースでは

final KStream<String, String> textLines = builder.stream("TextLinesTopic"); 

のようなSERDESを指定せずにストリームを作成することができ、ストリームは、トピック"TextLinexTopic"のための設定でキー/値Serdeとして指定されているものは何でも使用します。 (ところで、両方のパラメータは、そのセマンティックより明確にするために、今後の0.11default.key.serdedefault.value.serdeに変更されます。)

たとえば、あなたがするリンク:私はダブルチェックをしませんでしたが、すべての事業者が、とにかくのSERDESを指定した場合、configが実際にあります必要はありません。

関連する問題