カフカストリームには、単一の入力ストリームを複数の出力ストリームに動的に接続できる機能が組み込まれていますか? KStream.branch
は真/偽の述語に基づいて分岐を許可しますが、これは私が欲しいものではありません。実行時にストリーミングされるトピックを決定するために、着信する各ログを希望します。たとえば、{"date": "2017-01-01"}
というログはトピックtopic-2017-01-01
にストリーミングされ、{"date": "2017-01-02"}
はトピックtopic-2017-01-02
にストリーミングされます。カフカ入力ストリームを複数の出力ストリームに動的に接続する
私はストリーム上でforEach
と呼んでから、カフカプロデューサーに書き込むことができますが、これはあまりエレガントではありません。 Streamsフレームワークでこれを行うより良い方法はありますか?
「文字列に基づいて」とはどういう意味ですか?btw: 'KStream.branch'は複数の述語をとります(あなたが質問したことは、あなたがこれを逃したことを示しています)。だから、 'branch'はあなたが望むことをすることを許すべきです。たぶんあなたはデータの例を与えることができますか? –
私はより明確にすべきです。私はそれが複数の述語を取ることを知っています - もし私がストリームしたいトピックの固定数を持っていれば良い解決策になります。しかし、私がしようとしているのは、 'foo- {date}'という名前のトピックに書き込むことです。 – kellanburket