2017-04-17 1 views
1

私はKafka Connect Sinkを実行する場合、入力ファイル.propertiesを指定します。具体的にはFieldPartitionerのようなpartitioner.classを指定します。これはpartition.field.nameで指定されたレコードフィールドに基づいてパーティション化できます。カフカコネクトシンクの分割:サブパーティション化?

したがって、2つのレベルのパーティション分割が必要な場合はどうすればよいですか?たとえば、トップレベルで日時をパーティション化し、レコードフィールドでサブパーティション化したいのですか?または、2つのフィールドでパーティションを分割するだけですか?スパークでは、これは実際にはかなり一般的です。

プロパティ設定ファイル形式の構造に基づいて、これは許可されていないものと推定します。この仮定は正しいのでしょうか?

答えて

1

Partitionerインターフェイスを実装する独自のパーティショニングクラスを作成する必要があるように思えます。オプションで、パーティションクラスの2つのカテゴリのうちの1つをベースクラス(おそらくTimeBasedPartitionerまたはFieldPartitioner)として使用してもかまいません。

現時点では、このタイプのパーティション化を構成でのみ実現する方法はありません。しかし、それは役に立つと思われます。また、シンクのタイプについてはわかりませんが、ストレージ関連の場合は、kafka-connect-storage-commonに含まれるパーティショナー関連のコードを使用すると便利です。repo

関連する問題