もうすぐ出ると言われてからちょっと経ったような気がするけれども^^;、Asakusa Framework0.7.0が出た。
→リリースノート
今回はけっこう盛り沢山で、まず最初はHive連携機能。
Hiveで使われるParquetおよびORCFileフォーマットのファイルの入出力が出来る。
DMDLに(@directio.csv等と同様に)@directio.hive.parquetや@directio.hive.orcを指定することで、Importer/Exporter抽象クラスが生成される。
(DMDL EditorXの属性追加ウィザードにも雛形を追加しないといけないなぁ^^;)
gradlewにもgenerateHiveDDLというタスクが追加されており、HiveのDDL(CREATE TABLE文)を作ることが出来る。
これを使えば、Asakusaアプリで出力したファイルをHiveのテーブルとして扱えるというわけかな。
また、JinrikishaにもHiveが同梱されるようになっている。
次いで、Hadoop2に正式対応。
build.gradle内のバージョン記述(asakusafwVersion)を、今までは「0.6.2」という形式だったが、自分が扱いたい方に応じて「0.7.0-hadoop1」か「0.7.0-hadoop2」のどちらかにする。
(DMDL EditorXでもバージョン番号を比較する処理を持っているので、対応しないといけないorz)
それから、テストドライバーの改善。
Excelの数式が使えるようになった。つまり、別セルや別シートのセルを参照したり計算式を使ったりできる。
また、値の完全一致比較だけでなく、±nの範囲指定が出来るようになった。
double型やBigDecimal型ではこれが無いとつらい。
これに伴い、ルール記述のシートのバージョンが2.0.0に上がった。
(こういうバージョン番号って、なんだかんだで変わらないことが多いので、ちょっと驚きw)
あー、DMDL EditorXでもExcelルールシートのバージョン変換ツールとか作りたいけど、POIにはシートやセルのコピー機能すら無いので、大変そうだなー。
というかExcelマクロだけでも出来そうな気がするので、自分が作る必要も無いかなー・・・?
最後に、実行時パフォーマンスの改善。重要!(笑)
ライブラリー(jarファイル)のキャッシュ機能が使えるようになったり、Mapタスクのスケジューリングが改善されたりしたらしい。
Reduceタスク数の調整もExperimentalでなくなったっぽい。
さらっと書かれているけど重要だと思うのが、ステージ間の中間データに新しい形式を使うようになったこと。
Asakusaアプリケーションは複数のステージ(Hadoopジョブ)として実行されるが、その間でやりとりするファイルのデータ形式が変わり、効率よくなった。
(ステージ間のデータ形式はAsakusaFW内部だけの話なので、自由に出来るわけだよね)
あと、AsakusaアプリケーションをEMR上で動かす為のドキュメントもけっこう手が入ったみたい。
これだけ色々作ってテストしてドキュメントを書いていれば、そりゃリリースも時間がかかるよね^^;
※コメント投稿者のブログIDはブログ作成者のみに通知されます