1

Hadoop は一般的に半構造化データ処理の代替手段であるだけではありません。タブ区切りのプレーンなデータと、一連の UNIX ツール (cut、grep、sed など) および手書きの Python スクリプトを使用して、多くのことを行うことができます。しかし、非常に大量のデータを取得することがあり、処理時間が 20 ~ 30 分かかることもあります。データセットを動的に実験したり、セミアドホッククエリを実行したりしたいので、私には受け入れられません。

では、このアプローチの費用対効果の観点から、Hadoop クラスターを設定するのに十分なデータ量はどれくらいとお考えですか?

4

2 に答える 2

2

あなたが何をしているのか正確にわからなくても、ここに私の提案があります:

  • データに対してアドホック クエリを実行する場合、Hadoop は最適な方法ではありません。データをデータベースにロードして、それに対してクエリを実行してみましたか?
  • クラスターをセットアップするコストをかけずに Hadoop の使用を試してみたい場合は、Amazon の Elastic MapReduce オファリングhttp://aws.amazon.com/elasticmapreduce/を使用してみてください。
  • 私は個人的に、人々がシェル スクリプトを使用してこの種のタスクをかなり達成しているのを見てきました。SSH を使用してマシンに作業を分散しようとしましたか? GNU Parallel はこれをとても簡単にします: http://www.gnu.org/software/parallel/
于 2011-01-11T18:14:45.893 に答える
1

この問題にはいくつかの側面があると思います。1 つ目は、MySQL/Oracle などの通常の SQL テクノロジで実現できることです。それらで解決策が得られれば、より良い解決策になると思います。

また、表形式データの Hadoop 処理は、従来の DBMS よりもはるかに遅くなることにも注意してください。それでは、2 番目の側面に進みます。4 台以上のマシンで Hadoop クラスターを構築する準備はできていますか? 多少の効果を感じるには、4 ~ 6 台のマシンが最低限必要だと思います。

3 番目の側面は、データベースへのデータのロードを待つ準備ができているかどうかです。時間がかかる場合がありますが、クエリは高速になります。したがって、データセットごとにいくつかのクエリを作成すると、hadoop の利点が得られます。

元の質問に戻りますが、Hadoop の処理にはある程度の意味があるので、少なくとも 100 ~ 200 GB のデータが必要だと思います。2 TB は、hadoop が適切な選択である可能性を明確に示していると思います。

于 2011-01-15T19:51:09.243 に答える