私は、kafka 経由で hdfs に書き込む必要があるプロジェクトに取り組んでいます。メッセージをkafkaに書き込むオンラインサーバーがあるとします。各メッセージにはタイムスタンプが含まれています。出力がメッセージのタイムスタンプに従ってファイル/ファイルになるジョブを作成したい。たとえば、kafka のデータが
{"ts":"01-07-2013 15:25:35.994", "data": ...}
...
{"ts":"01-07-2013 16:25:35.994", "data": ...}
...
{"ts":"01-07-2013 17:25:35.994", "data": ...}
3つのファイルを出力として取得したい
kafka_file_2013-07-01_15.json
kafka_file_2013-07-01_16.json
kafka_file_2013-07-01_17.json
そしてもちろん、このジョブをもう一度実行していて、次のような新しいメッセージがキューにある場合
{"ts":"01-07-2013 17:25:35.994", "data": ...}
ファイルを作成する必要があります
kafka_file_2013-07-01_17_2.json // second chunk of hour 17
私はいくつかのオープン ソースを見てきましたが、それらのほとんどは kafka からいくつかの hdfs フォルダーを読み取ります。この問題に対する最善の解決策/設計/オープンソースは何ですか