ひしだまの変更履歴

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

AsakusaFW0.8.0 M3BP、Spark IterativeBatch

2016-04-13 01:46:54 | PG(分散処理)

2016/4/8にAsakusa Framework0.8.0がリリースされていた。→リリースノート

AsakusaFW0.8.0では、まず、対応プラットフォーム(バージョン)がけっこう変わった。→互換性に関して
JDK1.6が非対応になったり、Hadoop1系が非対応になったり、Gradle1系が非対応になったり、Mavenが非対応になったり。


build.gradleの書き方もけっこう変わった。→0.8系の変更点
wrapperの指定が不要になったり、apply pluginで指定するプラグイン名が変わったり。
EclipseだけでなくIntelliJ IDEAにも対応したようだ。

Hadoop1系が非対応になったので、asakusafwVersionのバージョン体系も、AsakusaFW0.7でhadoop1やhadoop2を付けるようになったのが、再び不要になった^^;
というか、AsakusaFWのバージョンはAsakusa on SparkやAsakusa on M3BPのバージョンから自動的に判別されるようになったようで、asakusafwVersionは明示しなくなった。

そして、Gradleコマンドに、(build.graldeにAsakusaFWのバージョンを書かなくなったので)バージョンを確認するためのタスク(asakusaVersion、略すときはaV)が追加になっている。

あと、Hadoop(MapReduce)版バッチを生成するためのタスク名がcompileBatchappからmapreduceCompileBatchappsに変更になった。
Asakusa on SparkのコンパイルタスクがsparkCompileBatchapps、Asakusa on M3BPがm3bpCompileBatchappsなので、統一されたということだ。
DMDL EditorXも対応済み) 


Asakusa on Sparkも変更があって、今までは開発者プレビュー版だったが、今回(Asakusa on Spark 0.3.0)から正式版となった。
Asakusa on Sparkのリリースノート 

そして、Iterative Extensions(反復機能)が追加になった。(試験的機能扱い)
これは、実行時の引数の値を複数指定して、1バッチとして同時に実行するもの。リソースを効率的に扱えるので、個別に引数を変更して複数回バッチを実行するよりも、全体として実行時間が短くなる(ことが期待される)らしい。

この反復機能の為に、AsakusaFWの歴史上初のAsakusaDSLの拡張(@Iterativeアノテーションの追加)が行われたそうだ。

ただし、このアノテーションを付ける必要があるので、今までのアプリが無修正で反復可能になるわけではない。 


そして今回最大の目玉が、Asakusa on M3BP
M3BPは、フィックスターズ社が開発した、単一ノード・マルチコア用のデータ処理エンジン。

今までは、SparkやHadoopで処理するには小さいデータ(数十GB程度)だと、YARNを起動したりする時間(いわゆるHadoop税)が相対的に大きかった。そういう小さいデータの処理をターゲットにしているのがM3BP。
1台のサーバー上で、完全にオンメモリーで動作する。(データがメモリーに乗り切らなかったら落ちるらしい。そういうサイズのデータならAsakusa on Sparkで処理すればいいという考え) 

要するに、M3BPは単一ノード上でマルチスレッドで動作する処理エンジンだと思う。
だが、Javaのスレッドではなく、ネイティブスレッドで動作するので、Javaより速いらしい。

AsakusaFWでこれを扱えるの、すごく画期的だと思う!
例によって、AsakusaDSLのコンパイルのみでMapReduce版・Spark版・M3BP版が切り替えられるし^^


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ドラクエビルダーズ自作風景 | トップ | SIは楽しいよ!(状況による) »
最新の画像もっと見る

コメントを投稿

PG(分散処理)」カテゴリの最新記事