Asakusa Framework Advent Calendar 2016の11日目です。
今日は、2016/12/6にリリースされたAsakusaFW 0.9.0のAsakusa on Sparkの出力方法の変更についてです。
Asakusa on SparkはApache Sparkで処理を行いますが、Direct I/Oの最後の出力(epilogueフェーズ)に関してだけはHadoop版と同じ仕組み(つまりMapReduce)を使用していました。
それが、今回のバージョンで、出力もSparkのみで行えるようになりました。
これに伴い、Asakusa on Sparkの反復バッチ機能で、今まではExporterには反復用の変数を指定できなかったのが、指定できるようになったそうです。(Importerには最初から指定できた)
Sparkから直接出力する機能を使うかどうかは、build.gradleのasakusafw.spark.optionで切り替えられるようです。→コンパイラープロパティー
でもデフォルトは直接出力する状態なので、特に切り替えることは無いような気がします^^;
asakusafw { spark { option 'spark.output.direct', 'true' } }
入力の方もprologueフェーズの省略をspark.input.directで切り替えられるようですが、これも特に切り替える必要は無いでしょう。