2017-06-23 6 views
1

メッセージが摂取された時間に基づいてカフカからのメッセージを消費することは可能ですか?カフカからの2つのタイムスタンプの間にメッセージを要求する

:今日の0900-1000のトピックに取り込まれたすべてのメッセージを今日(そして今は1200です)欲しいです。

開始時刻を指定する方法があれば、消費者は終了時刻に達するとメッセージの処理を停止することができます。

特定のオフセットからメッセージを要求し、最初に利用可能なオフセットを取得する方法と、利用可能な最も古いオフセットを取得する方法を見ることができます。

答えて

1

タイムスタンプが付与タイムスタンプ以上のオフセットを返すoffsetsForTimesメソッドを使用できます。ここでは、公式ドキュメントの 詳しい情報:

https://kafka.apache.org/0101/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html#offsetsForTimes(java.util.Map)

あなたがそれを使用して、そこから読み始めて求めることができますオフセット取得した後。

+0

これは非常に賢明な音です! ( – naxxfish

+0

)Blipzard/node-rdkafkaクライアントは、librdkafkaをラップし、offsetsForTimes()をサポートしているので、あなたの最善の策です。 –

関連する問題