============================ Asakusa Vanilla リファレンス ============================ ã“ã®æ–‡æ›¸ã§ã¯ã€Asakusa Vanilla ãŒæä¾›ã™ã‚‹Gradle Pluginã‚„DSLコンパイラã®è¨å®šã€ãŠã‚ˆã³ãƒãƒƒãƒã‚¢ãƒ—リケーション実行時ã®è¨å®šãªã©ã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ Asakusa Vanilla Gradle Plugin リファレンス ========================================== Asakusa Vanilla Gradle PluginãŒæä¾›ã™ã‚‹æ©Ÿèƒ½ã¨ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã«ã¤ã„ã¦å€‹ã€…ã«è§£èª¬ã—ã¾ã™ã€‚ プラグイン ---------- ``asakusafw-vanilla`` アプリケーションプãƒã‚¸ã‚§ã‚¯ãƒˆã§ã€Asakusa Vanillaã®ã•ã¾ã–ã¾ãªæ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹ã€‚ ã“ã®ãƒ—ラグイン㯠``asakusafw-sdk`` プラグインや ``asakusafw-organizer`` プラグインを拡張ã™ã‚‹ã‚ˆã†ã«ä½œã‚‰ã‚Œã¦ã„ã‚‹ãŸã‚ã€ãã‚Œãžã‚Œã®ãƒ—ラグインも併ã›ã¦æœ‰åŠ¹ã«ã™ã‚‹å¿…è¦ãŒã‚る( ``apply plugin: 'asakusafw-vanilla'`` ã ã‘ã§ã¯ã»ã¨ã‚“ã©ã®æ©Ÿèƒ½ã‚’利用ã§ãã¾ã›ã‚“)。 タスク ------ ``vanillaCompileBatchapps`` DSL Compiler for Vanillaを利用ã—ã¦DSLをコンパイルã™ã‚‹ [#]_ 。 ``asakusafw-sdk`` プラグインãŒæœ‰åŠ¹ã§ã‚ã‚‹å ´åˆã«ã®ã¿åˆ©ç”¨å¯èƒ½ã€‚ ``attachComponentVanilla`` デプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã«Asakusa Vanillaå‘ã‘ã®ãƒãƒƒãƒã‚¢ãƒ—リケーションを実行ã™ã‚‹ãŸã‚ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’è¿½åŠ ã™ã‚‹ã€‚ ``asakusafw-organizer`` プラグインãŒæœ‰åŠ¹ã§ã‚ã‚‹å ´åˆã«ã®ã¿åˆ©ç”¨å¯èƒ½ã€‚ ``asakusafwOrganizer.vanilla.enabled`` ã« ``true`` ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€è‡ªå‹•çš„ã«æœ‰åŠ¹ã«ãªã‚‹ã€‚ ``attachVanillaBatchapps`` デプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã« ``vanillaCompileBatchapps`` ã§ã‚³ãƒ³ãƒ‘イルã—ãŸçµæžœã‚’å«ã‚る。 ``asakusafw-sdk`` , ``asakusafw-organizer`` ã®ä¸¡ãƒ—ラグインãŒã„ãšã‚Œã‚‚有効ã§ã‚ã‚‹å ´åˆã«ã®ã¿åˆ©ç”¨å¯èƒ½ã€‚ ``asakusafwOrganizer.batchapps.enabled`` ã« ``true`` ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€è‡ªå‹•çš„ã«æœ‰åŠ¹ã«ãªã‚‹ã€‚ .. [#] :asakusa-gradle-groovydoc:`com.asakusafw.gradle.tasks.AsakusaCompileTask` タスク拡張 ---------- ``assemble`` デプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を生æˆã™ã‚‹ã€‚ ``asakusafw-vanilla`` 㨠``asakusafw-organizer`` プラグインãŒã„ãšã‚Œã‚‚有効ã§ã‚ã‚‹å ´åˆã€ ``vanillaCompileBatchapps`` ãŒä¾å˜é–¢ä¿‚ã«è¿½åŠ ã•ã‚Œã‚‹ã€‚ ``compileBatchapp`` Asakusa DSLコンパイラを使ã£ã¦ãƒãƒƒãƒã‚¢ãƒ—リケーションã®ã‚³ãƒ³ãƒ‘イルを行ã„ã€å®Ÿè¡Œå¯èƒ½ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’生æˆã™ã‚‹ã€‚ ``asakusafw-vanilla`` プラグインãŒæœ‰åŠ¹ã§ã‚ã‚‹å ´åˆã€ ``vanillaCompileBatchapps`` ãŒä¾å˜é–¢ä¿‚ã«è¿½åŠ ã•ã‚Œã‚‹ã€‚ ``jarBatchapp`` ``compileBatchapp`` タスクã§ç”Ÿæˆã—ãŸãƒãƒƒãƒã‚¢ãƒ—リケーションをå«ã‚€jarファイルを生æˆã™ã‚‹ã€‚ ``asakusafw-vanilla`` プラグインãŒæœ‰åŠ¹ã§ã‚ã‚‹å ´åˆã€ ``vanillaCompileBatchapps`` タスクã®ç”Ÿæˆç‰©ãŒjarファイルã®å†…容ã«è¿½åŠ ã•ã‚Œã‚‹ã€‚ è¦ç´„プãƒãƒ‘ティ拡張 ------------------ .. _vanilla-batch-application-plugin-ext: Batch Application Plugin ( ``asakusafw`` ) ã¸ã®æ‹¡å¼µ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Asakusa Vanilla Gradle Pluginã¯Batch Application Pluginã«å¯¾ã—ã¦Asakusa Vanillaã®ãƒ“ルドè¨å®šã‚’è¡Œã†ãŸã‚ã®è¦ç´„プãƒãƒ‘ãƒ†ã‚£ã‚’è¿½åŠ ã—ã¾ã™ã€‚ã“ã®è¦ç´„プãƒãƒ‘ティã¯ã€ ``asakusafw`` ブãƒãƒƒã‚¯å†…ã®å‚ç…§å ``vanilla`` ã§ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚ 以下〠``build.gradle`` ã®è¨å®šä¾‹ã§ã™ã€‚ .. code-block:: groovy :caption: build.gradle :name: build.gradle-vanilla-reference-1 asakusafw { vanilla { include 'com.example.batch.*' } } ã“ã®è¦ç´„オブジェクトã¯ä»¥ä¸‹ã®ãƒ—ãƒãƒ‘ティをæŒã¡ã¾ã™ã€‚ ``vanilla.version`` Asakusa Vanilla ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ä¿æŒã™ã‚‹ã€‚ ã“ã®å€¤ã¯è¨å®šã«ã‚ˆã‚‹å¤‰æ›´ã¯ä¸å¯ã€‚ 既定値: Asakusa Vanilla Gradle PluginãŒä¿æŒã™ã‚‹æ—¢å®šã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ ``vanilla.outputDirectory`` コンパイラã®å‡ºåŠ›å…ˆã‚’指定ã™ã‚‹ã€‚ æ–‡å—列や ``java.io.File`` ãªã©ã§æŒ‡å®šã—ã€ç›¸å¯¾ãƒ‘スãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¨ã—ã¦å–り扱ã†ã€‚ 既定値: ``"$buildDir/vanilla-batchapps"`` ``vanilla.include`` コンパイルã®å¯¾è±¡ã«å«ã‚ã‚‹ãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã®ãƒ‘ターンを指定ã™ã‚‹ã€‚ ãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã«ã¯ ``*`` ã§ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚’å«ã‚ã‚‹ã“ã¨ãŒå¯èƒ½ã€‚ ã¾ãŸã€ãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã®ãƒªã‚¹ãƒˆã‚’指定ã—ãŸå ´åˆã€ãれらã®ãƒ‘ターンã®ã„ãšã‚Œã‹ã«ãƒžãƒƒãƒã—ãŸãƒãƒƒãƒã‚¯ãƒ©ã‚¹ã®ã¿ã‚’コンパイルã®å¯¾è±¡ã«å«ã‚る。 既定値: ``null`` (ã™ã¹ã¦) ``vanilla.exclude`` コンパイルã®å¯¾è±¡ã‹ã‚‰é™¤å¤–ã™ã‚‹ãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã®ãƒ‘ターンを指定ã™ã‚‹ã€‚ ãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã«ã¯ ``*`` ã§ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚’å«ã‚ã‚‹ã“ã¨ãŒå¯èƒ½ã€‚ ã¾ãŸã€ãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã®ãƒªã‚¹ãƒˆã‚’指定ã—ãŸå ´åˆã€ãれらã®ãƒ‘ターンã®ã„ãšã‚Œã‹ã«ãƒžãƒƒãƒã—ãŸãƒãƒƒãƒã‚¯ãƒ©ã‚¹ã‚’コンパイルã®å¯¾è±¡ã‹ã‚‰é™¤å¤–ã™ã‚‹ã€‚ ``include`` 㨠``exclude`` ãŒã„ãšã‚Œã‚‚指定ã•ã‚ŒãŸå ´åˆã€ ``exclude`` ã®ãƒ‘ターンを優先ã—ã¦å–り扱ã†ã€‚ 既定値: ``null`` (除外ã—ãªã„) ``vanilla.runtimeWorkingDirectory`` 実行時ã®ãƒ†ãƒ³ãƒãƒ©ãƒªãƒ¯ãƒ¼ã‚ングディレクトリã®ãƒ‘スを指定ã™ã‚‹ã€‚ パスã«ã¯URIやカレントワーã‚ングディレクトリã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スを指定å¯èƒ½ã€‚ 未指定ã®å ´åˆã€ã‚³ãƒ³ãƒ‘イラã®æ¨™æº–è¨å®šã§ã‚る「 ``target/hadoopwork`` ã€ã‚’利用ã™ã‚‹ã€‚ 既定値: ``null`` (コンパイラã®æ¨™æº–è¨å®šã‚’利用ã™ã‚‹) ``vanilla.option`` `コンパイラプãƒãƒ‘ティ`_ (コンパイラã®ã‚ªãƒ—ションè¨å®šï¼‰ã‚’è¿½åŠ ã™ã‚‹ã€‚ 後述ã™ã‚‹ `コンパイラプãƒãƒ‘ティ`_ ã‚’ ``<key>, <value>`` ã®å½¢å¼ã§æŒ‡å®šã™ã‚‹ [#]_ 。 既定値: (Asakusa Vanillaå‘ã‘ã®ã‚³ãƒ³ãƒ‘イルã«å¿…è¦ãªæœ€ä½Žé™ã®ã‚‚ã®) ``vanilla.batchIdPrefix`` Asakusa Vanillaå‘ã‘ã®ãƒãƒƒãƒã‚¢ãƒ—リケーションã«ä»˜ä¸Žã™ã‚‹ãƒãƒƒãƒIDã®æŽ¥é 辞を指定ã™ã‚‹ã€‚ æ–‡å—列をè¨å®šã™ã‚‹ã¨ã€ãã‚Œãžã‚Œã®ãƒãƒƒãƒã‚¢ãƒ—リケーションã¯ã€Œ ``<接é 辞><本æ¥ã®ãƒãƒƒãƒID>`` ã€ã¨ã„ã†ãƒãƒƒãƒIDã«å¼·åˆ¶çš„ã«å¤‰æ›´ã•ã‚Œã‚‹ã€‚ 空文å—ã‚„ ``null`` を指定ã—ãŸå ´åˆã€æœ¬æ¥ã®ãƒãƒƒãƒIDã‚’ãã®ã¾ã¾åˆ©ç”¨ã™ã‚‹ãŒã€ä»–ã®ã‚³ãƒ³ãƒ‘イラãŒç”Ÿæˆã—ãŸãƒãƒƒãƒã‚¢ãƒ—リケーションã¨åŒã˜ãƒãƒƒãƒIDã®ãƒãƒƒãƒã‚¢ãƒ—リケーションを生æˆã—ãŸå ´åˆã€ã‚¢ãƒ—リケーションãŒæ£ã—ã動作ã—ãªããªã‚‹ã€‚ 既定値: ``"vanilla."`` ``vanilla.failOnError`` Asakusa Vanillaå‘ã‘ã®ã‚³ãƒ³ãƒ‘イルを行ã†éš›ã«ã€ã‚³ãƒ³ãƒ‘イルエラーãŒç™ºç”Ÿã—ãŸã‚‰å³åº§ã«ã‚³ãƒ³ãƒ‘イルをåœæ¢ã™ã‚‹ã‹ã©ã†ã‹ã‚’é¸æŠžã™ã‚‹ã€‚ コンパイルエラーãŒç™ºç”Ÿã—ãŸéš›ã«ã€ ``true`` を指定ã—ãŸå ´åˆã«ã¯ã‚³ãƒ³ãƒ‘イルをã™ãã«åœæ¢ã—〠``false`` を指定ã—ãŸå ´åˆã«ã¯æœ€å¾Œã¾ã§ã‚³ãƒ³ãƒ‘イルを実施ã™ã‚‹ã€‚ 既定値: ``true`` (å³åº§ã«ã‚³ãƒ³ãƒ‘イルをåœæ¢ã™ã‚‹) .. [#] コンパイラプãƒãƒ‘ティを指定ã™ã‚‹æ–¹æ³•ã¯ä»–ã«ã„ãã¤ã‹ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚詳ã—ã㯠:asakusa-gradle-groovydoc:`com.asakusafw.gradle.plugins.AsakusafwCompilerExtension` ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èª¬æ˜Žã‚’å‚ç…§ã—ã¦ãã ã•ã„。 .. _vanilla-framework-organizer-plugin-ext: Framework Organizer Plugin ( ``asakusafwOrganizer`` ) ã¸ã®æ‹¡å¼µ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Asakusa Vanilla Gradle Plugin 㯠Framework Organizer Plugin ã«å¯¾ã—ã¦Asakusa Vanillaã®ãƒ“ルドè¨å®šã‚’è¡Œã†ãŸã‚ã®è¦ç´„プãƒãƒ‘ãƒ†ã‚£ã‚’è¿½åŠ ã—ã¾ã™ã€‚ã“ã®è¦ç´„プãƒãƒ‘ティã¯ã€ ``asakusafwOrganizer`` ブãƒãƒƒã‚¯å†…ã®å‚ç…§å ``vanilla`` ã§ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚ ã“ã®è¦ç´„オブジェクトã¯ä»¥ä¸‹ã®ãƒ—ãƒãƒ‘ティをæŒã¡ã¾ã™ã€‚ ``vanilla.enabled`` デプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã«Asakusa Vanillaã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆç¾¤ã‚’è¿½åŠ ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã™ã‚‹ã€‚ ``true`` を指定ã—ãŸå ´åˆã«ã¯ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’è¿½åŠ ã—〠``false`` を指定ã—ãŸå ´åˆã«ã¯è¿½åŠ ã—ãªã„。 既定値: ``true`` (コンãƒãƒ¼ãƒãƒ³ãƒˆç¾¤ã‚’è¿½åŠ ã™ã‚‹) ``<profile>.vanilla.enabled`` 対象ã®ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾ã—ã€ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã«Asakusa Vanillaã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’è¿½åŠ ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã™ã‚‹ã€‚ å‰è¿°ã® ``vanilla.enabled`` ã¨åŒæ§˜ã ãŒã€ã“ã¡ã‚‰ã¯ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã”ã¨ã«æŒ‡å®šã§ãる。 既定値: ``asakusafwOrganizer.vanilla.enabled`` (全体ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’利用ã™ã‚‹) コマンドラインオプション ------------------------ :program:`vanillaCompileBatchapps` タスクを指定ã—㦠:program:`gradlew` コマンドを実行ã™ã‚‹éš›ã«ã€ ``vanillaCompileBatchapps --update <ãƒãƒƒãƒã‚¯ãƒ©ã‚¹å>`` ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã§ã€æŒ‡å®šã—ãŸãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã®ã¿ã‚’ãƒãƒƒãƒã‚³ãƒ³ãƒ‘イルã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã¾ãŸã€ãƒãƒƒãƒã‚¯ãƒ©ã‚¹åã®æ–‡å—列ã«ã¯ ``*`` をワイルドカードã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ 以下ã®ä¾‹ã§ã¯ã€ãƒ‘ッケージåã« ``com.example.target.batch`` ã‚’å«ã‚€ãƒãƒƒãƒã‚¯ãƒ©ã‚¹ã®ã¿ã‚’ãƒãƒƒãƒã‚³ãƒ³ãƒ‘イルã—ã¦ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を作æˆã—ã¦ã„ã¾ã™ã€‚ .. code-block:: sh ./gradlew vanillaCompileBatchapps --update com.example.target.batch.* assemble ãã®ã»ã‹ã€ :program:`vanillaCompileBatchapps` タスク㯠:program:`gradlew` コマンド実行時ã«ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ .. program:: vanillaCompileBatchapps .. option:: --options <k1=v1[,k2=v2[,...]]> è¿½åŠ ã®ã‚³ãƒ³ãƒ‘イラプãƒãƒ‘ティを指定ã™ã‚‹ã€‚ è¦ç´„プãƒãƒ‘ティ ``asakusafw.vanilla.option`` ã§è¨å®šã—ãŸã‚‚ã®ã¨åŒã˜ã‚ーを指定ã—ãŸå ´åˆã€ãれらを上書ãã™ã‚‹ã€‚ .. option:: --batch-id-prefix <prefix.> 生æˆã™ã‚‹ãƒãƒƒãƒã‚¢ãƒ—リケーションã«ã€æŒ‡å®šã®ãƒãƒƒãƒID接é 辞を付与ã™ã‚‹ã€‚ è¦ç´„プãƒãƒ‘ティ ``asakusafw.vanilla.batchIdPrefix`` ã®è¨å®šã‚’上書ãã™ã‚‹ã€‚ .. option:: --fail-on-error <"true"|"false"> コンパイルエラー発生時ã«å³åº§ã«ã‚³ãƒ³ãƒ‘イル処ç†ã‚’åœæ¢ã™ã‚‹ã‹ã©ã†ã‹ã€‚ è¦ç´„プãƒãƒ‘ティ ``asakusafw.vanilla.failOnError`` ã®è¨å®šã‚’上書ãã™ã‚‹ã€‚ .. option:: --update <batch-class-name-pattern> 指定ã®ãƒãƒƒãƒã‚¯ãƒ©ã‚¹ã ã‘をコンパイルã™ã‚‹ (指定ã—ãŸã‚‚ã®ä»¥å¤–ã¯ãã®ã¾ã¾æ®‹ã‚‹)。 è¦ç´„プãƒãƒ‘ティ ``asakusafw.vanilla.{in,ex}clude`` ã¨åŒæ§˜ã«ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚’利用å¯èƒ½ã€‚ ã“ã®ã‚ªãƒ—ションãŒè¨å®šã•ã‚ŒãŸå ´åˆã€è¦ç´„プãƒãƒ‘ティ ``asakusafw.vanilla.{in,ex}clude`` ã®è¨å®šã¯ç„¡è¦–ã™ã‚‹ã€‚ .. _vanilla-dsl-compiler-reference: DSL Compiler for Vanilla リファレンス ===================================== コンパイラプãƒãƒ‘ティ -------------------- DSL Compiler for Vanillaã§åˆ©ç”¨å¯èƒ½ãªã‚³ãƒ³ãƒ‘イラプãƒãƒ‘ティã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ ã“れらã®è¨å®šæ–¹æ³•ã«ã¤ã„ã¦ã¯ã€ `Batch Application Plugin ( asakusafw ) ã¸ã®æ‹¡å¼µ`_ ã® ``vanilla.option`` ã®é …ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 ``directio.input.filter.enabled`` Direct I/O input filterを有効ã«ã™ã‚‹ã‹ã©ã†ã‹ã€‚ ``true`` ãªã‚‰ã°æœ‰åŠ¹ã«ã—〠``false`` ãªã‚‰ã°ç„¡åŠ¹ã«ã™ã‚‹ã€‚ 既定値: ``true`` ``operator.checkpoint.remove`` DSLã§æŒ‡å®šã—㟠``@Checkpoint`` 演算åã‚’ã™ã¹ã¦é™¤åŽ»ã™ã‚‹ã‹ã©ã†ã‹ã€‚ ``true`` ãªã‚‰ã°é™¤åŽ»ã—〠``false`` ãªã‚‰ã°é™¤åŽ»ã—ãªã„。 既定値: ``false`` ``operator.logging.level`` DSLã§æŒ‡å®šã—㟠``@Logging`` 演算åã®ã†ã¡ã€ã©ã®ãƒ¬ãƒ™ãƒ«ä»¥ä¸Šã‚’表示ã™ã‚‹ã‹ã€‚ ``debug`` , ``info`` , ``warn`` , ``error`` ã®ã„ãšã‚Œã‹ã‚’指定ã™ã‚‹ã€‚ 既定値: ``info`` ``operator.aggregation.default`` DSLã§æŒ‡å®šã—㟠``@Summarize`` , ``@Fold`` 演算åã® ``partialAggregate`` ã« ``PartialAggregation.DEFAULT`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã€ã©ã®ã‚ˆã†ã«é›†ç´„ã‚’è¡Œã†ã‹ã€‚ ``total`` ã§ã‚ã‚Œã°éƒ¨åˆ†é›†ç´„を許ã•ãšã€ ``partial`` ã§ã‚ã‚Œã°éƒ¨åˆ†é›†ç´„ã‚’è¡Œã†ã€‚ 既定値: ``total`` ``input.estimator.tiny`` インãƒãƒ¼ã‚¿ãƒ¼è¨˜è¿°ã® ``getDataSize()`` ã« ``DataSize.TINY`` ãŒæŒ‡å®šã•ã‚ŒãŸéš›ã€ãれを何ãƒã‚¤ãƒˆã®ãƒ‡ãƒ¼ã‚¿ã¨ã—ã¦è¦‹ç©ã‚‚ã‚‹ã‹ã€‚ 値ã«ã¯ãƒã‚¤ãƒˆæ•°ã‹ã€ ``+Inf`` (ç„¡é™å¤§)〠``NaN`` (ä¸æ˜Ž) ã®ã„ãšã‚Œã‹ã‚’指定ã™ã‚‹ã€‚ 主ã«ã€ ``@MasterJoin`` ç³»ã®æ¼”ç®—åã§JOINã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を決ã‚ã‚‹éš›ãªã©ã€ãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºã«ã‚ˆã‚‹æœ€é©åŒ–ã®æƒ…å ±ã¨ã—ã¦åˆ©ç”¨ã•ã‚Œã‚‹ã€‚ 既定値: ``10485760`` (10MB) ``input.estimator.small`` インãƒãƒ¼ã‚¿ãƒ¼è¨˜è¿°ã® ``getDataSize()`` ã« ``DataSize.SMALL`` ãŒæŒ‡å®šã•ã‚ŒãŸéš›ã€ãれを何ãƒã‚¤ãƒˆã®ãƒ‡ãƒ¼ã‚¿ã¨ã—ã¦è¦‹ç©ã‚‚ã‚‹ã‹ã€‚ ãã®ä»–ã«ã¤ã„ã¦ã¯ ``input.estimator.tiny`` ã¨åŒæ§˜ã€‚ 既定値: ``209715200`` (200MB) ``input.estimator.large`` インãƒãƒ¼ã‚¿ãƒ¼è¨˜è¿°ã® ``getDataSize()`` ã« ``DataSize.LARGE`` ãŒæŒ‡å®šã•ã‚ŒãŸéš›ã€ãれを何ãƒã‚¤ãƒˆã®ãƒ‡ãƒ¼ã‚¿ã¨ã—ã¦è¦‹ç©ã‚‚ã‚‹ã‹ã€‚ ãã®ä»–ã«ã¤ã„ã¦ã¯ ``input.estimator.tiny`` ã¨åŒæ§˜ã€‚ 既定値: ``+Inf`` (ç„¡é™å¤§) ``operator.join.broadcast.limit`` ``@MasterJoin`` ç³»ã®æ¼”ç®—åã§ã€broadcast joinアルゴリズムを利用ã—ã¦çµåˆã‚’è¡Œã†ãŸã‚ã®ã€ãƒžã‚¹ã‚¿å´ã®æœ€å¤§å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºã€‚ 基本的ã«ã¯ ``input.estimator.tiny`` ã§æŒ‡å®šã—ãŸå€¤ã®2å€ç¨‹åº¦ã«ã—ã¦ãŠãã®ãŒã‚ˆã„。 既定値: ``20971520`` (20MB) ``operator.estimator.<演算å注釈å>`` 指定ã—ãŸæ¼”ç®—åã®å…¥åŠ›ã«å¯¾ã™ã‚‹å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºã®å‰²åˆã€‚ 「演算å注釈åã€ã«ã¯æ¼”ç®—å注釈ã®å˜ç´”å ( ``Extract`` , ``Fold`` ãªã©) を指定ã—ã€å€¤ã«ã¯å‰²åˆ ( ``1.0`` , ``2.5`` ãªã©) を指定ã™ã‚‹ã€‚ ãŸã¨ãˆã°ã€ã€Œ ``operator.estimator.CoGroup`` ã€ã« ``5.0`` を指定ã—ãŸå ´åˆã€ã™ã¹ã¦ã® ``@CoGroup`` 演算åã®å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºã¯ã€å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºã®åˆè¨ˆã®5å€ã¨ã—ã¦è¦‹ç©ã‚‚られる。 既定値: `operator.estimator.* ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤`_ ã‚’å‚ç…§ ``<ãƒãƒƒãƒID>:<オプションå>`` 指定ã®ã‚ªãƒ—ションをã€æŒ‡å®šã®IDã®ãƒãƒƒãƒã«å¯¾ã—ã¦ã®ã¿æœ‰åŠ¹ã«ã™ã‚‹ã€‚ ãƒãƒƒãƒID㯠``vanilla.`` ãªã©ã®ãƒ—レフィックスãŒä»˜ä¸Žã™ã‚‹ **ã¾ãˆã®** ã‚‚ã®ã‚’指定ã™ã‚‹å¿…è¦ãŒã‚る。 既定値: N/A ``dag.planning.option.unifySubplanIo`` ç‰ä¾¡ãªã‚¹ãƒ†ãƒ¼ã‚¸ã®å…¥å‡ºåŠ›ã‚’一ã¤ã«ã¾ã¨ã‚る最é©åŒ–を有効ã«ã™ã‚‹ã‹ã©ã†ã‹ã€‚ ``true`` ãªã‚‰ã°æœ‰åŠ¹ã«ã—〠``false`` ãªã‚‰ã°ç„¡åŠ¹ã«ã™ã‚‹ã€‚ 無効化ã—ãŸå ´åˆã€ã‚¹ãƒ†ãƒ¼ã‚¸ã®å…¥å‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ãŒå¢—大ã™ã‚‹å ´åˆãŒã‚ã‚‹ãŸã‚ã€ç‰¹åˆ¥ãªç†ç”±ãŒãªã‘ã‚Œã°æœ‰åŠ¹ã«ã™ã‚‹ã®ãŒã‚ˆã„。 既定値: ``true`` ``dag.planning.option.checkpointAfterExternalInputs`` ジョブフãƒãƒ¼ã®å…¥åŠ›ã®ç›´å¾Œã«ãƒã‚§ãƒƒã‚¯ãƒã‚¤ãƒ³ãƒˆå‡¦ç†ã‚’è¡Œã†ã‹ã©ã†ã‹ã€‚ ``true`` ãªã‚‰ã°ãƒã‚§ãƒƒã‚¯ãƒã‚¤ãƒ³ãƒˆå‡¦ç†ã‚’è¡Œã„〠``false`` ãªã‚‰ã°è¡Œã‚ãªã„。 既定値: ``false`` operator.estimator.* ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: operator.estimator.* ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ :widths: 3 7 :header-rows: 1 * - 演算å注釈å - è¨ˆç®—å¼ * - ``Checkpoint`` - 入力㮠``1.0`` å€ * - ``Logging`` - 入力㮠``1.0`` å€ * - ``Branch`` - 入力㮠``1.0`` å€ * - ``Project`` - 入力㮠``1.0`` å€ * - ``Extend`` - 入力㮠``1.25`` å€ * - ``Restructure`` - 入力㮠``1.25`` å€ * - ``Split`` - 入力㮠``1.0`` å€ * - ``Update`` - 入力㮠``2.0`` å€ * - ``Convert`` - 入力㮠``2.0`` å€ * - ``Summarize`` - 入力㮠``1.0`` å€ * - ``Fold`` - 入力㮠``1.0`` å€ * - ``MasterJoin`` - トランザクション入力㮠``2.0`` å€ * - ``MasterJoinUpdate`` - トランザクション入力㮠``2.0`` å€ * - ``MasterCheck`` - トランザクション入力㮠``1.0`` å€ * - ``MasterBranch`` - トランザクション入力㮠``1.0`` å€ * - ``Extract`` - 既定値無㗠* - ``GroupSort`` - 既定値無㗠* - ``CoGroup`` - 既定値無㗠既定値ãŒãªã„演算åã«å¯¾ã—ã¦ã¯ã€æœ‰åŠ¹ãªãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºã®è¦‹ç©ã‚‚ã‚Šã‚’è¡Œã„ã¾ã›ã‚“。 実行時ã®è¨å®š ============ Asakusa Vanillaã®ãƒãƒƒãƒã‚¢ãƒ—リケーション実行時ã®è¨å®šã¯ã€ `è¨å®šãƒ•ã‚¡ã‚¤ãƒ«`_ を使ã†æ–¹æ³•ã¨ `環境変数`_ を使ã†æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚ è¨å®šãƒ•ã‚¡ã‚¤ãƒ« ------------ Asakusa Vanillaã«é–¢ã™ã‚‹ãƒãƒƒãƒã‚¢ãƒ—リケーション実行時ã®ãƒ‘ラメータã¯ã€ :file:`$ASAKUSA_HOME/vanilla/conf/vanilla.properties` ã«è¨˜è¿°ã—ã¾ã™ã€‚ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€ :doc:`user-guide` - デプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ä½œæˆ ã®è¨å®šã‚’è¡Œã£ãŸçŠ¶æ…‹ã§ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を作æˆã—ãŸå ´åˆã«ã®ã¿å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«è¨å®šã—ãŸå†…容ã¯Asakusa Vanillaã®ãƒãƒƒãƒã‚¢ãƒ—リケーションã®è¨å®šã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã€ãƒãƒƒãƒã‚¢ãƒ—リケーション実行時ã®å‹•ä½œã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚ 環境変数 -------- Asakusa Vanillaã«é–¢ã™ã‚‹ãƒãƒƒãƒã‚¢ãƒ—リケーション実行時ã®ãƒ‘ラメータã¯ã€ç’°å¢ƒå¤‰æ•° ``ASAKUSA_VANILLA_ARGS`` ã«è¨å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ 環境変数 ``ASAKUSA_VANILLA_ARGS`` ã®å€¤ã«ã¯ ``--engine-conf <key>=<value>`` ã¨ã„ã†å½¢å¼ã§ãƒ‘ラメータをè¨å®šã—ã¾ã™ã€‚ è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã¨ç’°å¢ƒå¤‰æ•°ã§åŒã˜ãƒ—ãƒãƒ‘ティãŒè¨å®šã•ã‚Œã¦ã„ãŸå ´åˆã€ç’°å¢ƒå¤‰æ•°ã®è¨å®šå€¤ãŒåˆ©ç”¨ã•ã‚Œã¾ã™ã€‚ .. _vanilla_optimization_properties: è¨å®šé …ç›® -------- Asakusa Vanillaã®ãƒãƒƒãƒã‚¢ãƒ—リケーション実行時ã®è¨å®šé …ç›®ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ã€‚ ``com.asakusafw.vanilla.thread.max`` タスクを実行ã™ã‚‹ãƒ¯ãƒ¼ã‚«ãƒ¼ã‚¹ãƒ¬ãƒƒãƒ‰ã®æœ€å¤§æ•°ã‚’è¨å®šã—ã¾ã™ã€‚ 既定値: ``1`` ``com.asakusafw.vanilla.partitions`` scatter-gatheræ“作(シャッフルæ“作)ã®ãƒ‘ーティション数をè¨å®šã—ã¾ã™ã€‚ 既定値: (ワーカースレッドã®æœ€å¤§æ•°) .. hint:: Asakusa Vanillaã®ç¾åœ¨ã®å®Ÿè£…ã§ã¯ã€ãƒ‘ーティション数をワーカースレッド数よりも大ããªå€¤ã«ã™ã‚‹ãƒ¡ãƒªãƒƒãƒˆã¯ã»ã¨ã‚“ã©ã‚ã‚Šã¾ã›ã‚“。 ``com.asakusafw.vanilla.pool.size`` エンジン内ã§åˆ©ç”¨å¯èƒ½ãªå…¥å‡ºåŠ›ãƒãƒƒãƒ•ã‚¡ãƒ¼ã®åˆè¨ˆã‚µã‚¤ã‚ºã‚’è¨å®šã—ã¾ã™ã€‚ ã“ã®å€¤ã‚’超ãˆã‚‹ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’利用ã—よã†ã¨ã—ãŸå ´åˆã€å¤ã„ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’ファイルシステム上ã«æ›¸ã出ã—ã¾ã™ã€‚ 既定値: ``268435456`` ( ``256MB`` ) .. hint:: Asakusa Vanillaã§ã¯ä¸Šè¨˜ã®ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’JVMã®ãƒ’ープ外ã«ç¢ºä¿ã—ã¾ã™ã€‚ ãã®ãŸã‚ã€Java VMã®è¨å®šã§ãƒ’ープサイズã®ä¸Šé™ã‚’指定ã—ã¦ã‚‚ã€ãã‚Œã¨ã¯ **別ã«** ãƒãƒƒãƒ•ã‚¡ãƒ¼ç”¨ã®ãƒ¡ãƒ¢ãƒªã‚’消費ã—ã¾ã™ã€‚ ``com.asakusafw.vanilla.pool.swap`` å¤ã„ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’ファイルシステム上ã«å¾…é¿ã™ã‚‹éš›ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ パスをè¨å®šã—ã¾ã™ã€‚ 指定ã—ãŸãƒ‘スã®é…下ã«ä¸€æ™‚ディレクトリを作æˆã—ã€ãã“ã«ãƒãƒƒãƒ•ã‚¡ãƒ¼ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã—ã¾ã™ã€‚ 既定値: (システムã®ä¸€æ™‚ディレクトリー) ``com.asakusafw.vanilla.pool.compression`` å¤ã„ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’ファイルシステム上ã«å¾…é¿ã™ã‚‹éš›ã®ã€ãƒ•ã‚¡ã‚¤ãƒ«ã®åœ§ç¸®å½¢å¼ã‚’指定ã—ã¾ã™ã€‚ 以下ã®ã„ãšã‚Œã‹ã®å€¤ã‚’指定å¯èƒ½ã§ã™ã€‚ ``com.asakusafw.vanilla.core.io.BufferedByteChannelDecorator`` ファイルを圧縮ã›ãšã€å…¥å‡ºåŠ›ã®ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°ã®ã¿ã‚’è¡Œã„ã¾ã™ã€‚ ``com.asakusafw.vanilla.core.io.NullByteChannelDecorator`` ファイルを圧縮ã›ãšã€å…¥å‡ºåŠ›ã®ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°ã‚‚è¡Œã„ã¾ã›ã‚“。 ``com.asakusafw.vanilla.client.util.SnappyByteChannelDecorator`` ファイルをSnappyå½¢å¼ã§åœ§ç¸®ã—ã¾ã™ã€‚ ``com.asakusafw.vanilla.client.util.Lz4ByteChannelDecorator`` ファイルをLZ4å½¢å¼ã§åœ§ç¸®ã—ã¾ã™ã€‚ LZ4å½¢å¼ã‚’利用ã™ã‚‹å ´åˆã€LZ4ライブラリ `lz4-java`_ ã‚’Vanilla実行環境ã®ã‚¯ãƒ©ã‚¹ãƒ‘スã«é…ç½®ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ 以下ã€`lz4-java`_ ã‚’å«ã‚ãŸãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を生æˆã™ã‚‹ ``build.gradle`` ã®è¨å®šä¾‹ã§ã™ã€‚ .. code-block:: groovy :caption: build.gradle :name: build.gradle-vanilla-reference-2 configurations { lz4 } dependencies { lz4 group: 'org.lz4', name: 'lz4-java', version: '1.5.1' } asakusafwOrganizer { assembly.into('vanilla/lib') { put configurations.lz4 } } 既定値: ``com.asakusafw.vanilla.core.io.BufferedByteChannelDecorator`` ``com.asakusafw.vanilla.output.buffer.size`` 出力ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚ãŸã‚Šã®ãƒã‚¤ãƒˆæ•°ã‚’è¨å®šã—ã¾ã™ã€‚ å„出力ãŒã€ã“ã®å€¤ã‹ã‚‰å¾Œè¿°ã®ã€Œå‡ºåŠ›ãƒãƒƒãƒ•ã‚¡ã®ãƒžãƒ¼ã‚¸ãƒ³å€¤ã€ã‚’引ã„ãŸå€¤( ``com.asakusafw.vanilla.output.buffer.size`` - ``com.asakusafw.vanilla.output.buffer.margin`` )を超ãˆãŸå ´åˆã€æ¬¡ã®ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’æ–°ãŸã«ç¢ºä¿ã—ã¦å‡ºåŠ›ã‚’続行ã—ã¾ã™ã€‚ 既定値: ``4194304`` ( ``4MB`` ) .. hint:: å¤ã„ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’ファイルシステム上ã«å¾…é¿ã™ã‚‹éš›ã€å„ファイルã®ã‚µã‚¤ã‚ºã¯ãŠã‚ˆãã“ã“ã§æŒ‡å®šã—ãŸã‚µã‚¤ã‚ºä»¥ä¸‹ã«ãªã‚Šã¾ã™ã€‚ ``com.asakusafw.vanilla.output.buffer.margin`` 出力ãƒãƒƒãƒ•ã‚¡ãƒ¼ã®ãƒžãƒ¼ã‚¸ãƒ³ã¨ãªã‚‹ãƒã‚¤ãƒˆæ•°ã‚’è¨å®šã—ã¾ã™ã€‚ ã“ã®å€¤ã¯å®Ÿè¡Œæ™‚ã«å–り扱ã†æœ€å¤§ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚µã‚¤ã‚ºã‚ˆã‚Šã‚‚大ããªå€¤ã‚’è¨å®šã™ã¹ãã§ã™ã€‚ ã¾ãŸã€ã“ã®å€¤ã¯ ``com.asakusafw.vanilla.output.buffer.size`` ã®1/2よりå°ã•ã„値をè¨å®šã—ã¦ãã ã•ã„。 最大レコードサイズãŒå¤§ãã„ã“ã¨ã§ã“ã‚ŒãŒæº€ãŸã›ãªã„å ´åˆã€ ``com.asakusafw.vanilla.output.buffer.size`` ã®å€¤ã‚’調整ã—ã¦ãã ã•ã„。 既定値: ``1048576`` ( ``1MB`` ) ``com.asakusafw.vanilla.output.record.size`` レコードサイズã®æŽ¨å®šå¹³å‡ãƒã‚¤ãƒˆæ•°ã‚’è¨å®šã—ã¾ã™ã€‚ ã“ã®å€¤ã¯ã€å‡ºåŠ›ãƒãƒƒãƒ•ã‚¡ãƒ¼å½“ãŸã‚Šã®æœ€å¤§ãƒ¬ã‚³ãƒ¼ãƒ‰æ•°ã‚’算出ã™ã‚‹ãŸã‚ã«åˆ©ç”¨ã—ã¾ã™ã€‚ 既定値: ``64`` .. hint:: ã“ã®å€¤ã‚’大ããã—ã™ãŽã‚‹ã¨ã€å‡ºåŠ›ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚µã‚¤ã‚ºã‚’大ããã—ã¦ã‚‚ãƒãƒƒãƒ•ã‚¡ãƒ¼å½“ãŸã‚Šã®ãƒ¬ã‚³ãƒ¼ãƒ‰æ•°ãŒã™ãã«ä¸Šé™ã«é”ã—ã¦ã—ã¾ã„ã€ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’有効活用ã§ããªããªã‚Šã¾ã™ã€‚ ã¾ãŸã€ã“ã®å€¤ã‚’å°ã•ãã—ã™ãŽã‚‹ã¨ã€å‡ºåŠ›ãƒãƒƒãƒ•ã‚¡ãƒ¼ã”ã¨ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ç®¡ç†ã®ãŸã‚ã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ãŒå¤§ãããªã‚Šã™ãŽã¦ã—ã¾ã„ã¾ã™ã€‚ 出力ãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚µã‚¤ã‚ºã«æ¥µç«¯ã«å¤§ããªå€¤ã‚’指定ã™ã‚‹å ´åˆã‚„ã€æ¶ˆè²»ãƒ¡ãƒ¢ãƒªãƒ¼é‡ã‚’ç´°ã‹ã制御ã—ãŸã„å ´åˆã‚’除ãã€ã“ã®è¨å®šã‚’変更ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。 ``com.asakusafw.vanilla.merge.threshold`` å„スレッド毎ã®ã€scatter-gatheræ“作ã§ãƒžãƒ¼ã‚¸å‡¦ç†ã‚’è¡Œã†éš›ã®å…¥åŠ›ãƒãƒ£ãƒ³ã‚¯æ•°ã‚’指定ã—ã¾ã™ã€‚ 入力ãƒãƒ£ãƒ³ã‚¯æ•°ãŒã“ã®å€¤ã‚’超éŽã™ã‚‹å ´åˆã€ã“ã®å€¤ã¨å¾Œè¿°ã® ``com.asakusafw.vanilla.merge.factor`` ã®å€¤ã«å¾“ã„ã€å…¥åŠ›ãƒãƒ£ãƒ³ã‚¯ã«å¯¾ã—ã¦æ®µéšŽçš„ã«ãƒžãƒ¼ã‚¸å‡¦ç†ã‚’è¡Œã„ã¾ã™ã€‚ 既定値: ``0`` (段階的マージを無効ã¨ã—ã€ã™ã¹ã¦ã®å…¥åŠ›ãƒãƒ£ãƒ³ã‚¯ã‚’一度ã«ãƒžãƒ¼ã‚¸ã™ã‚‹ï¼‰ ``com.asakusafw.vanilla.merge.factor`` 上記 ``com.asakusafw.vanilla.merge.threshold`` ã®è¨å®šã«å¾“ã£ã¦æ®µéšŽçš„マージを行ã†éš›ã«ã€ãƒžãƒ¼ã‚¸å‡¦ç†ã®å¯¾è±¡ã¨ãªã‚‹ãƒ•ã‚¡ã‚¤ãƒ«æ•°ã‚’決定ã™ã‚‹ä¿‚æ•°ã‚’è¨å®šã—ã¾ã™ã€‚ マージãŒå®Ÿè¡Œã•ã‚Œã‚‹éš›ã«ã¯ ``com.asakusafw.vanilla.merge.threshold`` * ``com.asakusafw.vanilla.merge.factor`` ã§ç®—出ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«æ•°ã‚’一度ã«ãƒžãƒ¼ã‚¸ã—ã¾ã™ã€‚ 既定値: ``0.75`` ``com.asakusafw.dag.input.file.directory`` :doc:`../dsl/operators` - :ref:`spill-input-buffer` ãªã©ã‚’利用ã—ã¦ãƒ¡ãƒ¢ãƒªä¸Šã®ãƒãƒƒãƒ•ã‚¡ã‚’ファイルã¨ã—ã¦é€€é¿ã™ã‚‹éš›ã«ä½¿ç”¨ã™ã‚‹ã€ ファイルã®å‡ºåŠ›å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’è¨å®šã—ã¾ã™ã€‚ 既定値: ãªã— (未指定ã®å ´åˆã€JVMã®ã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティ ``java.io.tmpdir`` ã§è¨å®šã•ã‚Œã¦ã„るディレクトリを利用) .. attention:: 大é‡ã®ãƒãƒƒãƒ•ã‚¡ãŒå‡ºåŠ›ã•ã‚Œã‚‹ã‚ˆã†ãªå‡¦ç†ã‚’実行ã™ã‚‹å ´åˆã«ã¯ã€å‡ºåŠ›å…ˆã«å分ãªç©ºãé ˜åŸŸã‚’ç¢ºä¿ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。 ``hadoop.<name>`` 指定㮠``<name>`` ã‚’åå‰ã«æŒã¤Hadoopã®è¨å®šã‚’è¿½åŠ ã—ã¾ã™ã€‚ .. hint:: Asakusa Vanillaã§ã¯ã€ä¸€éƒ¨ã®æ©Ÿèƒ½ (Direct I/Oãªã©) ã«Hadoopã®ãƒ©ã‚¤ãƒ–ラリ群を利用ã—ã¦ã„ã¾ã™ã€‚ ã“ã®ãƒ©ã‚¤ãƒ–ラリ群ãŒHadoopã®è¨å®šã‚’å‚ç…§ã—ã¦ã„ã‚‹å ´åˆã€ã“ã®é …目を利用ã—ã¦è¨å®šå€¤ã‚’変更ã§ãã¾ã™ã€‚ Asakusa全体ã«é–¢ã™ã‚‹Hadoopã®è¨å®šã¯ ``$ASAKUSA_HOME/core/conf/asakusa-resources.xml`` 内ã§è¡Œãˆã¾ã™ãŒã€ åŒä¸€ã®é …ç›®ã«å¯¾ã™ã‚‹è¨å®šãŒ ``asakusa-resources.xml`` 㨠``hadoop.<name>`` ã®ä¸¡æ–¹ã«å˜åœ¨ã™ã‚‹å ´åˆã€å¾Œè€…ã®è¨å®šå€¤ã‚’優先ã—ã¾ã™ã€‚ .. _`lz4-java`: https://github.com/lz4/lz4-java Java VMã®è¨å®š ------------- Asakusa Vanillaã§ãƒãƒƒãƒã‚¢ãƒ—リケーションを実行ã™ã‚‹éš›ã«ã¯ã€Java VMã‚’ã²ã¨ã¤èµ·å‹•ã—ã¦ãã®ãƒ—ãƒã‚»ã‚¹å†…ã§Asakusaã®æ¼”ç®—åを実行ã—ã¾ã™ã€‚ ã“ã®ã¨ãã€å¯¾è±¡ã®Java VMã‚’èµ·å‹•ã™ã‚‹éš›ã®ã‚ªãƒ—ション引数をã€ç’°å¢ƒå¤‰æ•° ``ASAKUSA_VANILLA_OPTS`` ã§æŒ‡å®šã§ãã¾ã™ã€‚ 以下ã¯ç’°å¢ƒå¤‰æ•°ã®è¨å®šä¾‹ã§ã™ã€‚ .. code-block:: sh export ASAKUSA_VANILLA_OPTS='-Xmx16g' 実行コマンドã®è¨å®š ------------------ Asakusa Vanilla実行用ã®JVMプãƒã‚»ã‚¹ã‚’èµ·å‹•ã™ã‚‹Javaコマンドã¯ã€ç’°å¢ƒå¤‰æ•° ``JAVA_CMD`` ã§è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ``JAVA_CMD`` ãŒæœªè¨å®šã®å ´åˆã€ ``PATH`` 環境変数ã«å«ã¾ã‚Œã‚‹ ``java`` コマンドãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ :ref:`vanilla-framework-organizer-plugin-ext` 㧠``vanilla.useSystemHadoop`` ㌠``true`` ã«ãªã£ã¦ã„ã‚‹å ´åˆã€ Asakusa Vanilla実行用ã®JVMプãƒã‚»ã‚¹ã‚’èµ·å‹•ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã«ã¯ ``hadoop`` コマンドãŒä½¿ç”¨ã•ã‚Œã€ ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç’°å¢ƒå¤‰æ•° ``HADOOP_CMD`` ã§è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ``HADOOP_CMD`` ãŒæœªè¨å®šã®å ´åˆã€ ``PATH`` 環境変数ã«å«ã¾ã‚Œã‚‹ ``hadoop`` コマンドãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ 環境変数 ``ASAKUSA_VANILLA_LAUNCHER`` ã¯å®Ÿè¡Œã‚³ãƒžãƒ³ãƒ‰ã®å…ˆé ã«ä»»æ„ã®ã‚³ãƒžãƒ³ãƒ‰æ–‡å—åˆ—ã‚’è¿½åŠ ã—ã¾ã™ã€‚ .. tip:: ãƒãƒƒãƒã‚¢ãƒ—リケーション実行時ã®ç’°å¢ƒå¤‰æ•°ã¯ã€YAESSプãƒãƒ•ã‚¡ã‚¤ãƒ«ã§è¨å®šã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ Asakusa Vanillaを利用ã™ã‚‹å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–ã®ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ« ``command.vanilla`` ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚ :file:`$ASAKUSA_HOME/yaess/conf/yaess.properties` ã« ``command.vanilla.env.HADOOP_CMD`` ã¨ã„ã£ãŸã‚ˆã†ãªè¨å®šã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€YAESSã‹ã‚‰Asakusa Vanillaを実行ã™ã‚‹éš›ã«ç’°å¢ƒå¤‰æ•°ãŒè¨å®šã•ã‚Œã¾ã™ã€‚ YAESSã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–ã®è¨å®šæ–¹æ³•ã«ã¤ã„ã¦è©³ã—ãã¯ã€ :doc:`../yaess/user-guide` - :ref:`yaess-profile-command-section` ãªã©ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 ãƒã‚°ã®è¨å®š ---------- Asakusa Vanillaã®å®Ÿè¡Œæ™‚ã®ãƒã‚°è¨å®šã¯ã€Logbackè¨å®šãƒ•ã‚¡ã‚¤ãƒ« ``$ASAKUSA_HOME/vanilla/conf/logback.xml`` ã§è¨å®šã—ã¾ã™ã€‚ WindGate JDBC ダイレクト・モード ================================ |M3BP_FEATURE| å‘ã‘ã®æ©Ÿèƒ½ã¨ã—ã¦æä¾›ã—ã¦ã„ã‚‹WindGate JDBC ダイレクト・モードã¯Asakusa Vanillaã‹ã‚‰ã‚‚利用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ WindGate JDBC ダイレクト・モードを利用ã™ã‚‹ã«ã¯ã€ã‚¢ãƒ—リケーションプãƒã‚¸ã‚§ã‚¯ãƒˆã®ãƒ“ルドスクリプト( ``build.gradle`` )ã«ã“ã®ãƒ¢ãƒ¼ãƒ‰ã‚’利用ã™ã‚‹ãŸã‚ã®ã‚³ãƒ³ãƒ‘イルオプションを指定ã—ã¾ã™ã€‚ 以下〠``build.gradle`` ã®è¨å®šä¾‹ã§ã™ã€‚ .. code-block:: groovy :caption: build.gradle :name: build.gradle-vanilla-reference-3 asakusafw { vanilla { option 'windgate.jdbc.direct', '*' } } WindGate JDBC ダイレクト・モードã®åˆ©ç”¨æ–¹æ³•ãªã©ã«ã¤ã„ã¦ã¯ã€|M3BP_FEATURE| ã®ä»¥ä¸‹ã®ãƒ‰ã‚ュメントをå‚ç…§ã—ã¦ãã ã•ã„。 * :doc:`../m3bp/optimization` - :ref:`windgate-jdbc-direct-mode`