Asakusa Framework Advent Calendar 2017の13日目です。
2017/11/29に出たAsakusaFW 0.10.0(→リリースノート)の機能を紹介していきたいと思います。
今回は@Spillアノテーションです。
@SpillアノテーションはAsakusaFW 0.9.1から使えるようになっていましたが、0.10.0で正式機能となりました。
CoGroup(やGroupSort)の入力データは(デフォルトでは)グループ毎に全データをインスタンス化するので、データ数が多いとOutOfMemoryErrorが発生することがあります。
この場合、@CoGroupアノテーションにInputBuffer.ESCAPEを指定すると、入力データが多い場合にファイルに退避するようになります。
ただ、入力ポートが複数ある場合、全ポートがその設定になってしまいます。
@Spillは入力ポート毎に付けるアノテーションなので、データ量が多いポートだけに指定することが出来るのです。
※コメント投稿者のブログIDはブログ作成者のみに通知されます