2012-02-17 11 views
2

データをHadoopファイルシステムに同期します。このデータは、スケジュールされたMapReduceジョブの入力として使用されます。データをHBase/HDFSに同期させ、MapReduceジョブへの入力として使用します

この例では、より多くを説明するかもしれない:

は、これらの言葉は、MapReduceのWORDCOUNTジョブの入力として必要とされ、私は言葉の束を含む文書の入力ストリームを考えてみましょう。したがって、各文書について、すべての単語を解析してファイルシステムにアップロードする必要があります。しかし、同じ文書が再び入力ストリームから到着した場合、変更内容をファイルシステムからアップロード(または削除)したいだけです。

データはどのように保存する必要がありますか。 HDFSまたはHBaseを使用すべきですか?データ量はそれほど大きくなく、多分数GBです。

HDFSまたはHBaseの入力を使用してスケジュールされたMapReduceジョブを開始することはできますか?

答えて

0

私はまず仕事に最適なツールを選ぶか、合理的な選択をするためにいくつかの研究を行います。あなたは質問をしていますが、それは最も重要なステップです。処理するデータの量がある場合、おそらくHadoopは1つのオプションに過ぎません。これがより大きくてより良いものへの第一歩であれば、それはフィールドを狭めるでしょう。

私は、私が今までに知っているツールを使うことを意味する最も簡単なアプローチで作業を始めます。より多くのことを学んだり、ロードブロッキングを実行したりするときに、元の選択肢をより良いものに簡単に置き換えることができるように、コードを柔軟に作成します。あなたの質問で述べたことを考えると、私はHDFSを使って、HDFSフォルダ(hadoop fs -put ...)にデータをプッシュするためのHadoopコマンドラインツールを使い始めます。次に、処理を実行するMRジョブを作成し、手動で実行します。それが働いていたときには、ジョブのスケジューリングを処理するためにおそらくcronを使用します。

これは始める場所です。プロセスを構築するときに、HBaseがあなたが保存したいものに自然にフィットするように見えるところに達したら、それに切り替えます。一度に1つの問題を解決すれば、どのツールが適切な選択であるかを明確にすることができます。たとえば、スケジューリングのステップに進み、その時点でcronが必要なことをしないことを知っているかもしれません。おそらく、あなたの組織はcronが実行しないジョブスケジューリングの要件を持っているかもしれません。だから、あなたは別のツールを選ぶ。

関連する問題