ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

AsakusaFW Direct I/O版WordCount

2012-02-04 07:31:51 | PG(分散処理)

Asakusa Framework0.2.5で試験導入されたDirect I/Oを使用して、CSVファイルを対象とするWordCountを作ってみた。

AsakusaFW0.2.4でWindGateがCSVファイルに対応したけど、これはローカルファイルをCSVとして扱うものだった。
今回のDirect I/Oでは、HDFS上のファイルを直接CSVファイルとして扱える。(どちらかと言えば従来のbatchapp(MySQLを使わない方式)の拡張という感じに思える)
DMDLにアノテーションを指定するという記述方法はWindGate版と同じだが、生成されるImporter/Exporter(今回はInputDescriptoin/OutputDescriptionという名前になってる)の内容が異なる。


WindGate版には無かった機能として、OutputDescriptionでは出力ファイルのソート項目が指定できる。

実はこっそりissuesに登録していたものだったんだけど、対応していただいてありがとうございます。
issuesでは「出力したファイル内の順序がCoGroup/GroupSortで指定したソート順になっていない」という内容だったんだけど、そもそもCoGroup/GroupSortのソート順の指定は入力時のソートだから、出力時のソート順ではないんだよね。そういう意味ではファイルの出力方法を指定するOutputDescriptionでソート順を書く方が理に適っている。
asc/descと書く代わりに+/-だったのが「あれー?w」って感じだったけどw

ただ、ソート順が正しいかどうかを試験する方法は未提供みたい。
(そもそもキーが重複するような出力には今のExcelのruleでは対応できないし) 


AsakusaFW0.2.5では、Hadoopの対象バージョンも変更になっている。(Eclipseも3.7が対象に入った気がする) 
従来のCDH3だけでなく、コミュニティー版Hadoopの0.20.203.0に対応したらしい。

AWS(Amazon Web Services)のEMR(Elastic MapReduce)にAsakusaFWが対応していない理由が「CDH3に入っているクラスが無いこと」だったと思うので、その対応かな?
と思ったけど、EMRのHadoopのバージョンは今は0.20.205らしい。
(でも0.20.203に対応しておけば、0.20.205でも動くはずだよね) 

むしろWindows AzureのHadoopが0.20.203っぽいから、もしかしてその辺りをターゲットにしているのかも!?

なんか思ってもみない方向の対応が突然リリースされるので、びっくりですねw

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする