kafkaでトピックごとのメッセージ数を取得する方法を知りたいのですが、コマンドラインツールを使用したいと思っています次の記事で言及されています。どのようにこれを行うにはどのようなアイデア?トピックごとのメッセージ数を取得する方法Java APIを使用しているKafkaから
PS:私は新しいKafkaConsumer
を使用し
Java, How to get number of messages in a topic in apache kafka
kafkaでトピックごとのメッセージ数を取得する方法を知りたいのですが、コマンドラインツールを使用したいと思っています次の記事で言及されています。どのようにこれを行うにはどのようなアイデア?トピックごとのメッセージ数を取得する方法Java APIを使用しているKafkaから
PS:私は新しいKafkaConsumer
を使用し
Java, How to get number of messages in a topic in apache kafka
(カフカから消費する前に)最初にこの数を把握しようと、数を把握するためにKAFKAの消費者の流れをループしたくありませんseekToBeginning(...)
とseekToEnd(...)
を使用して、各パーティションの最大と最小のオフセットの差を計算し、それらの数値を合計することができます。
シークすると、メッセージは消費されません。シークは怠惰です。つまり、実際にシークを開始するには、position(...)
を使用する必要があります。怠惰のために、両方のシークメソッドは何も返しません。ただし、position(...)
は、あなたの解説に使用できるオフセットを与えます。
これはカフカ(MAPRストリーム)のMAPRバージョンを除いてうまく機能http://kafka.apache.org/0100/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html
を参照してください。オフセットにはレコードの開始位置の実際のバイトオフセットがあり、元のカフカで使用されている "1ずつインクリメント"オフセットではありません...したがって、最古のものと最新のものとの差異を取るだけで、それでもmapRを使って)。 –
MapR Streamsの使用に関する質問は何も言いません(これは、AFAIKはMapR版のKafkaではなく、新しいシステムのみのAPI互換です)。 –
あなたはそれについて正しいです。質問は「本当の」カフカについてのものだったので、+1 –