2017-06-20 17 views
2

Kafka Streamsのドキュメントを読んだ後、わかっている限り、特定のトピックの1つのパーティションからのストリーミングデータには使用できません。トピック内の特定のパーティションからのストリーミング(Kafka Streams)

これは間違いありませんか?

もしそうなら、今後このようなオプションをAPIに提供する予定はありますか?

+0

質問は私にはあまり明確ではありません。ストリーミングアプリケーションのソースは、1つのパーティションだけのトピックにすることができます。しかし、それは私が質問を理解していない可能性があります...あなたは精巧にできますか? – ppatierno

+0

私は例を挙げます。私は10のパーティションを持つトピック "A"を持っていると仮定し、このトピックのデータを他のパーティションからデータを収集せずにパーティション4からのみストリーミングしたいとします。 – Purple

+0

次に、パーティション4のデータのみを1つのパーティションで別のトピックにコピーし、それをStreamsの入力として使用する必要があります。 –

答えて

2

内部コンシューマがapplication-idで指定されたコンシューマグループに参加するトピックにサブスクライブし、パーティションが自動的に割り当てられるため、これを行うことはできません。 Btwなぜそれをしたいですか? ストリーミングアプリケーションのインスタンスを追加/削除するだけで、パーティションの再調整のおかげで、プロセス全体を拡張できます。

+1

私はそのような特徴を持っていると思います。私が興味のあるデータがどのパーティションにあるのか正確に分かっているケースがあります。フィルタリングするデータが少なくて済むので、この特定のパーティションからのみストリーミングするとパフォーマンスが向上します。しかし、明確化のおかげで! – Purple

2

PartitionGrouperを使用して、必要に応じて何かを行うことができます。パーティショングループを使用して、指定されたトピックパーティションに基づいてストリームタスクを作成できます。

たとえば、DefaultPartitionGrouperの実装を参照してください。しかし、それはカスタマイズが必要です。

したがって、@ppatiernoはあなたのユースケースを見て、標準的な方法から逸脱する必要がない方法でトポロジを設計してください。

関連する問題