構造的に言えば、Hadoopはこれを処理できますが、フロントエンドをいくつか(またはオープンソースのいくつかを使用して)動作させ、Hadoopがその仕事をすることを可能にする必要があります。
良いシステムと同じように、Hadoopはすべてを行うことはできませんし、すべきではありませんが、いくつかの選択肢があります。
データベース(またはキュー)の後ろに少し時間を費やしてスクリプトを開発すると、この問題を自分でかなり迅速に解決できます(RubyやPythonで何かを書くことができ、時にはbashスクリプトこれは非常に簡単で、たとえJavaを使用していても、複雑さはbashスクリプトをRubyやPythonのレイヤーと混ぜるだけではありません)。
手順1:ファイルは[あなたのパラメータ(1GBなど)に基づいてディレクトリ/保留になり、「ローリング」されているファイルの挿入がテーブル(またはキュー)に挿入されます...挿入できない場合(cronを介して)ディレクトリをスキャンし、ファイルを新しいディレクトリに移動し、dbに名前と場所を挿入することができます。
ステップ2:cron(1時間に1回)データベース(またはキュー)に行き、MapReduceにするすべてのファイルを取得する別のスクリプト
ステップ3:ステップ2のスクリプトで、見つかったファイルと複数のスレッドRubyを使ってフォークする方が良いです)、これらのファイルをプッシュしますHadoopへメソッドが単純な "hadoop df -put"(RubyやPythonスクリプトから呼び出すbashスクリプトを使うことができる)であるか、必要なものに応じていくつかのカスタムjarファイルローダーができるからです。別のテーブルでファイルをいくつかの仕事に関連したものにしておきたいかもしれませんが、私はあなたに任せます。
ステップ4:ファイルをHadoopにプッシュした後、テーブルにイベントのコンセプトがあり、最後の行がシンプルになるような3番目のスクリプトから実行して、必要なものを出力します。
オープンソースのオプション
あなたはあまりにもいくつかの使用を見つけるかもしれないヤフーによってソースHadoopのオープンのためのワークフローソリューションですが、それはすべてあなたが努力しますから抜け出すことがどのくらい依存Oozie http://yahoo.github.com/oozie/releases/2.2.1/を使用することができますあなたのワークフローを自動化する方法はカスタムスクリプトセットの中のいくつかの努力のように聞こえますが、Oozieを見てください。
Hadoopのための別のワークフローがアズカバンhttp://sna-projects.com/azkaban/
最後にある、あなたがHDFSにファイルを移動するためにストリーミング・アーキテクチャを使用することを検討することができます...今日の3つの方法(カフカがあります新しく、わずか数を発表しました。バック他の2つよりもそのコアアーキテクチャの背後よりqueingと日間)
1)水路https://github.com/cloudera/flume/wikiが
2)スクライブHDFS http://hadoopblog.blogspot.com/2009/06/hdfs-scribe-integration.html
3)カフカhttp://sna-projects.com/kafka/
Oozieが役立つと思います。私はそれを働かせることができました。 – Jay