Haloopの紹介


Haloopユーザーマニュアル:http://code.google.com/p/haloop/wiki/UserManual
 
1.紹介
HaloopはHadoop MapReduceのフレームワークの修正バージョンであり、その目標は効率的に反復をサポートするために、PageRank、HIT、K-means、ssspなどのデータ分析タスクを再帰的にサポートすることである.再帰的な接続は、map端(K-means)にあるかもしれないし、reduce端(PageRank)にあるかもしれない.
Haloopの基本思想はキャッシュ・サイクル不変量(すなわち静的変数)からsalve nodesまでです.これらのデータは反復ごとに再使用されます.
2.Haloopをダウンロードする
3,Haloopを実行します
  Haloopの構成はHadoopと全く同じで、単独機モードと擬似分布モードがない以外は.
  Haloopコマンド行のオプションもHadoopと同じです.
  トラブルシューティング:
   (1)java.lang.OutOfMemoryErr:Java heap space            ヒープのスペースが異常です.大体JVMはゴミ収集に時間がかかります.セットニング-Xmxでヒープサイズを上げるheap sizeは一般的に機能しません.この異常が消えても、JVMはゴミ収集に時間がかかり、性能が悪くなります.これはMapper/Reducerコードが多すぎるオブジェクトを作成したかどうかを確認するものです.M/Rに入るデータが大きいので、m/r関数は何回も呼び出されます.ヒープのスペースが足りない.new操作をできるだけ減らす. 
  (2)java.io.IOExceptio:Type mismach in key from map:expected
            互換性のないタイプは、入出力がmap/reduce作業のキーと一致しないためです.
   (3)パラメータ設定
              反復プロセスの各人物に正しいパラメータ設定があることを確認します.
4.例
 Pagerank example:Naive PageRank Implementation.
オリジナルのPageRankの主要な部分を再利用して、新しいバージョンを獲得しました.PageRank Implementation on Haloop.コードを次のように実行します.
$wget http://snap.stanford.edu/data/soc-LiveJournal1.txt.gz
$gzip -d soc-LiveJournal1.txt.gz
$export dataset_path=livejournal
$export result_path=lvjresult
$chmod 755 *.sh
$bin/hadoop dfs -put *livejournal*.txt $dataset_path
$./retest.sh
$./pagerank.sh $dataset_path $result_path   
結果を表示
$bin/hadoop dfs -get $result_path/i3/part* result/
$cat result/*
実行元のpageRank比較結果:
$./naivepagerank.sh $dataset_path $result_path   
注意:2回の運転の反復回数は2回に設定されています.これは自分の欲しいデータに設定できます.しかし、Haloopの欠陥を見るべきです.http://www.wikieno.com/2012/02/iterative-mapred-summary-haloop/):反復を停止する客観的な基準はありません.