2011-01-11 6 views
1

私が知っているHadoopは、半構造化されたデータ処理の一般的な選択肢ではありません。タブで区切られた単純なデータとunixツール(cut、grep、sed、...)と手書きpythonスクリプト。しかし時々私は本当に大量のデータを取得し、処理時間は20〜30分にもなります。私はデータセットを動的に実験し、セミアドホッククエリなどを実行したいので、私には受け入れられません。半構造化データのおおよその量は、Hadoopクラスタを設定するのに十分ですか?

このように、Hadoopクラスタを設定するには十分なデータ量がありますアプローチ?あなたがやっている内容を正確に把握することなく

答えて

2

は、ここに私の提案です:あなたは、データのアドホッククエリを実行したい場合は

  • 、Hadoopが行くための最善の方法ではありません。データをデータベースにロードしてクエリを実行しようとしましたか?
  • クラスタを設定するためのコストをかけずにHadoopを使って実験したい場合は、私は個人的に、人々はかなり遠くタスクのこれらの種類のためのシェルスクリプトを使用して取得する見てきましたhttp://aws.amazon.com/elasticmapreduce/
  • を提供するAmazonのElastic MapReduceのを使用してみてください。あなたはSSHを使ってマシン上で作業を配布しようとしましたか? GNU Parallelはこれをかなり簡単にします:http://www.gnu.org/software/parallel/
1

私はこの問題にいくつかの側面があると思います。最初の1つは、MySQL/Oracleなどの通常のSQLテクノロジーで達成できるものです。もしあなたがそれらのソリューションを手に入れることができれば、より良い解決策になると思います。

表形式のデータのhadoop処理が従来のDBMSよりはるかに遅いことも指摘しておきます。だから私は第2の側面に到達しています - あなたは4台以上のマシンでハープクラスタを構築する準備ができていますか?私は、4-6台のマシンがある程度の利益を感じるために最低限必要だと思っています。

第3の側面は、データベースへのデータ読み込みを待機する準備ができているかどうかです。時間がかかることがありますが、クエリは高速になります。したがって、各データセットに対していくつかのクエリを作成した場合、それはハーフープの利点があります。

元の質問に戻る - 私は、Hadoopの処理に何らかの意味があるように、少なくとも100-200GBのデータが必要だと思います。 2 TB私は、ハープが良い選択かもしれないという明確な示唆であると思います。