2017-07-31 12 views
1

私はkafka、spark-streamingに取り組んでおり、和解を達成しようとしています。kafkaフィルタリング/動的トピック作成

プロデューサーメッセージ:A、B、プロデューサー、UUID_1、E

消費メッセージ:一部幾つか5によって分離されたフィールド '' およびそれらの一つはUUID(一意の識別子) EXであろう5つのフィールド「」によって分離され、それらの一つはUUIDであろう 例:A、B、消費者、UUID_1、E

ここUUIDは、プロデューサとコンシューマの間の関係であり、それは動的

あります

kafkaでは、特定のトピックまたはパーティションにすべての特定のプロデューサ/コンシューマメッセージが入る何らかのフィルタリングが必要です。

私は以下のように考えていたんが、それを実装することができませんでし:

ダイナミックパーティションが許可されていない私の研究を1として、これは正しいのですか?

私が見る唯一のオプションは、受信したUUIDに基づいて動的トピックを作成し、各UUID固有のメッセージをそのトピックにルーティングし、メッセージが消費されたらトピックを削除する必要があることです。これは正しいアプローチですか?はいの場合、これを達成する方法は?

+1

動的にトピックを作成するためのフラグ 'auto.create.topics.enable = true'があります。お役に立てれば –

答えて

0

私の研究のダイナミックパーティションは許可されていませんが、これは正しいですか?

パーティションを増やすことはできますが、減らすことはできません。

受信UUID

Dont'tに基づいて動的なトピックを作成し、それは意味的なトピックに違反し、それを行う、トピックは、同じ種類のメッセージを意味します。
Kafkaが 'Key'のハッシュと同じ 'Partition'に同じ 'Key'メッセージを送信するので、メッセージ 'Key'フィールドに 'UUID_1'を設定するだけです。

関連する問題