コンソールのコンシューマー(私はKafka 0.9.0.1を使用しています)を使用して、さまざまな形式でキーとメッセージの値を印刷できます。キーを印刷するには、プロパティprint.keyをtrueに設定します。
別のプロパティkey.separatorがあり、デフォルトでは "\ t"(タブ)があり、これを任意のものに変更することもできます。
これらのプロパティを設定するには、設定ファイルを作成して--consumer.configを使用するか、--property key = valueを使用してプロパティを渡すことができます。
独自のフォーマッタを実装して--formatterオプションとともに使用することもできますが、キーと値はそのまま使用できます(これは以下のwriteToを参照してください)。例えば
trait MessageFormatter {
def writeTo(key: Array[Byte], value: Array[Byte], output: PrintStream)
def init(props: Properties) {}
def close() {}
}
:
./bin/kafka-console-consumer.sh --new-consumer --bootstrap-server kafka-1:9092 --topic topic1 --property print.key=true --property key.separator="-" --from-beginning
key-p1
key-p2
key-p3
null-4
null-8
null-0
私はカフカがメッセージごとまたは少なくとも生産者からのキーを指定する方法を提供するべきだと思う言われていることを、新しい質問を開くためにしたくありませんトピックごとに私は何を使うことができるか知っていますか? –
$ ./bin/kafka-console-producer.sh --broker-list kafka-1:9092 - トピックtopic1 - プロパティparse.key = true - プロパティkey.separator = " - " thekey-thevalue –