0

新しいデータが来るたびに、ジョブ制御フレームワークがそのデータに依存するジョブを開始するために利用できる通知を作成するように、データの可用性のためにHadoopの通知システムを実装するための最良のアプローチは何でしょうか. ここでの主な懸念は、データが利用可能になるとすぐに、データの可用性について NameNode でジョブをポーリングする代わりに、ジョブをトリガーする必要があるということですか?

4

1 に答える 1

1

私がやろうとしているのは、Amazon SQS などのキューを使用して相互に対話できるプロデューサー/コンシューマー モデルを使用することです。

プロデューサは、監視対象ディレクトリのリストを維持し、hadoop fs -test -e /path/to/watched/dirx 秒ごとに実行します (x はパラメータである必要があります)。コマンドが 0 を返す場合は$?、キューにメッセージを送信できます。メッセージのコンテンツは、表示されたばかりのディレクトリの名前にすることも、メタデータを追加して、たとえば追加のフィールドを含む JSON オブジェクトとして送信することもできます。

一方、コンシューマーは y 秒ごとにキューをリッスンし (y はパラメーターである必要があります)、新しいデータがあるとすぐに、このディレクトリでジョブを開始できます。

于 2013-01-21T14:18:51.057 に答える