=================== YAESSユーザーガイド =================== ã“ã®æ–‡æ›¸ã§ã¯ã€YAESSã®åˆ©ç”¨æ–¹æ³•ã«ã¤ã„ã¦ç´¹ä»‹ã—ã¾ã™ã€‚ .. _yaess-batch-structure: Asakusa Frameworkã®ãƒãƒƒãƒæ§‹é€ ============================= YAESSを利用ã—ã€ãã®æ©Ÿèƒ½ã‚’é©åˆ‡ã«è¨å®šã™ã‚‹ãŸã‚ã«ã¯Asakusa Frameworkã®ãƒãƒƒãƒæ§‹é€ ã‚’ç†è§£ã—ã¦ãŠãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ ãƒãƒƒãƒã®æ§‹æˆè¦ç´ ---------------- Asakusa Frameworkã®ãƒãƒƒãƒã¯æ¬¡ã®ã‚ˆã†ãªæ§‹é€ ã‚’æŒã¡ã¾ã™ã€‚ .. list-table:: ãƒãƒƒãƒã®æ§‹é€ :widths: 4 6 :header-rows: 1 * - åå‰ - 値 * - ãƒãƒƒãƒ - ãƒãƒƒãƒå…¨ä½“ * - ジョブフãƒãƒ¼ - ãƒãƒƒãƒå†…ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å˜ä½ * - `フェーズ`_ - フãƒãƒ¼å†…ã®å‡¦ç†å†…容ã®æ®µéšŽ * - `ジョブ`_ - フェーズ内ã®å€‹ã€…ã®å®Ÿè¡Œå˜ä½ フェーズ ~~~~~~~~ ãƒãƒƒãƒã®æ§‹æˆè¦ç´ ã®ã†ã¡ã€ãƒ•ã‚§ãƒ¼ã‚ºã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ .. list-table:: フェーズ一覧 :widths: 2 8 :header-rows: 1 * - åå‰ - 処ç†å†…容 * - ``setup`` - ジョブフãƒãƒ¼ã®å®Ÿè¡Œç’°å¢ƒã‚’セットアップã™ã‚‹ [#]_ * - ``initialize`` - ジョブフãƒãƒ¼ã®å‡¦ç†å†…容をåˆæœŸåŒ–ã™ã‚‹ [#]_ * - ``import`` - ジョブフãƒãƒ¼ã®å‡¦ç†ã«å¿…è¦ãªãƒ‡ãƒ¼ã‚¿ã‚’外部システムã‹ã‚‰ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ * - ``prologue`` - インãƒãƒ¼ãƒˆã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’本処ç†ç”¨ã«åŠ å·¥ã™ã‚‹ * - ``main`` - Hadoopジョブãªã©ã®æœ¬å‡¦ç†ã‚’行ㆠ* - ``epilogue`` - 本処ç†ã®çµæžœã‚’エクスãƒãƒ¼ãƒˆç”¨ã«åŠ å·¥ã™ã‚‹ * - ``export`` - ジョブフãƒãƒ¼ã®å‡¦ç†çµæžœã‚’外部システムã«ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã™ã‚‹ * - ``finalize`` - ジョブフãƒãƒ¼ã®å‡¦ç†å†…容を完了ã¾ãŸã¯ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã•ã›ã‚‹ * - ``cleanup`` - ジョブフãƒãƒ¼ã®å®Ÿè¡Œç’°å¢ƒã‚’クリーンアップã™ã‚‹ .. attention:: ジョブフãƒãƒ¼ãŒé€”ä¸ã§å¤±æ•—ã—ãŸå ´åˆã€ ``cleanup`` フェーズã¯å®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。 ã“ã‚Œã¯å¤±æ•—ã—ãŸåŽŸå› を分æžã™ã‚‹ãŸã‚ã«ã€ã‚¸ãƒ§ãƒ–フãƒãƒ¼ãŒå‡ºåŠ›ã—ãŸä¸é–“ファイルãªã©ã‚’ä¿æŒã—ã¦ãŠããŸã‚ã§ã™ã€‚ .. note:: 上記ã®å‡¦ç†å†…容ã¯ã‚ãã¾ã§æ¦‚è¦ã§ã€ã“ã‚Œã«å³ã—ãŸå‡¦ç†ãŒè¡Œã‚れるã¨ã¯é™ã‚Šã¾ã›ã‚“。 .. [#] ãƒãƒ¼ã‚¸ãƒ§ãƒ³ |version| 時点ã§ã¯ä½¿ç”¨ã—ã¦ã„ã¾ã›ã‚“。 .. [#] ãƒãƒ¼ã‚¸ãƒ§ãƒ³ |version| 時点ã§ã¯ä½¿ç”¨ã—ã¦ã„ã¾ã›ã‚“。 ジョブ ~~~~~~ ãƒãƒƒãƒã®æ§‹æˆè¦ç´ ã®ã†ã¡ã€ã‚¸ãƒ§ãƒ–ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ .. list-table:: ジョブ一覧 :widths: 2 8 :header-rows: 1 * - åå‰ - 処ç†å†…容 * - Hadoopジョブ - Hadoopã®MapReduceジョブを実行ã™ã‚‹ã€‚1ã¤ã®Hadoopジョブã§1ã¤ã®MapReduceジョブ(ステージ)ãŒå®Ÿè¡Œã•ã‚Œã‚‹ã€‚ * - コマンドラインジョブ - Hadoopジョブ以外ã®ã‚¸ãƒ§ãƒ–ã®ç·ç§°ã€‚WindGateã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆå‡¦ç†ã‚„エクスãƒãƒ¼ãƒˆå‡¦ç†ãªã©ã‚’実行ã™ã‚‹ã€‚ ãƒãƒƒãƒã®æ§‹æˆè¦ç´ é–“ã®é–¢ä¿‚ ------------------------ ãƒãƒƒãƒã®å„è¦ç´ ã¯ã€ä»¥ä¸‹ã®é–¢ä¿‚ã‚’æŒã£ã¦ã„ã¾ã™ã€‚ * ãƒãƒƒãƒã¯è¤‡æ•°ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã§æ§‹æˆã•ã‚Œã€ :ref:`dsl-userguide-batch-dsl` ã®å®šç¾©ã«ã—ãŸãŒã£ãŸå®Ÿè¡Œé †åºã®ä¾å˜é–¢ä¿‚ã‚’æŒã¤ * å„ジョブフãƒãƒ¼ã¯å„フェーズを上ã‹ã‚‰é †ã«å®Ÿè¡Œã™ã‚‹ (DSLã®å®šç¾©å†…容ã«ã‚ˆã£ã¦ã¯ã€ãƒ•ã‚§ãƒ¼ã‚ºã®ä¸€éƒ¨ãŒã‚¹ã‚ップã•ã‚Œã‚‹) * å„フェーズã¯è¤‡æ•°ã®ã‚¸ãƒ§ãƒ–ã§æ§‹æˆã•ã‚Œã€ :ref:`dsl-userguide-flow-dsl` ã®å®šç¾©ãªã©ã«ã—ãŸãŒã£ãŸå®Ÿè¡Œé †åºã®ä¾å˜é–¢ä¿‚ã‚’æŒã¤ * ジョブãŒå®Ÿè¡Œã™ã‚‹å„処ç†ã¯ã€ :ref:`dsl-userguide-flow-dsl` ã‚„ :ref:`dsl-userguide-operator-dsl` ã®å®šç¾©ãªã©ã«ã‚ˆã£ã¦æ±ºå®šã•ã‚Œã‚‹ 以下ã¯ã€ä¸Šè¨˜ã®å†…容を俯瞰ã™ã‚‹å›³ã§ã™ã€‚ .. figure:: batch-structure.png プãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚»ãƒƒãƒˆ ================== YAESSã¯Hadoopクラスターや複数ã®å¤–部システムãªã©ã‚’組ã¿åˆã‚ã›ãŸè¤‡é›‘ãªç’°å¢ƒä¸Šã§Asakusa Frameworkã®ãƒãƒƒãƒã‚’実行ã™ã‚‹ãŸã‚ã«è¨è¨ˆã•ã‚Œã¦ã„ã¾ã™ã€‚ YAESSã§ã¯ã€ãã‚Œãžã‚Œã®ç’°å¢ƒã«å¯¾ã™ã‚‹ã‚¸ãƒ§ãƒ–起動方法ã®è¨å®šã‚„ã€YAESSãã®ã‚‚ã®ã®è¨å®šã‚’「プãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚»ãƒƒãƒˆã€ã¨å‘¼ã‚“ã§ã„ã¾ã™ã€‚ ã“ã®ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚»ãƒƒãƒˆã¯ã€ :file:`$ASAKUSA_HOME/yaess/conf/yaess.properties` (以é™ã€Œæ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã€)ã§ç®¡ç†ã•ã‚Œã¦ã„ã¾ã™ã€‚ 構æˆãƒ•ã‚¡ã‚¤ãƒ« ------------ 構æˆãƒ•ã‚¡ã‚¤ãƒ« ( :file:`yaess.properties` ) ã¯Javaã®ä¸€èˆ¬çš„ãªãƒ—ãƒãƒ‘ティファイルã®æ–‡æ³•ã§ã€ä¸»ã«ä¸‹è¨˜ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‹ã‚‰æˆã‚Šç«‹ã£ã¦ã„ã¾ã™ã€‚ .. list-table:: プãƒãƒ‘ティファイルã®é …ç›® :widths: 2 8 :header-rows: 1 * - セクション - 内容 * - ``core`` - `YAESS本体ã®è¨å®š`_ (通常ã¯å¤‰æ›´ã—ãªã„) * - ``hadoop`` - `Hadoopジョブã®å®Ÿè¡Œ`_ ã«é–¢ã™ã‚‹è¨å®š * - ``command`` - `コマンドラインジョブã®å®Ÿè¡Œ`_ ã«é–¢ã™ã‚‹è¨å®š * - ``scheduler`` - `ジョブã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚°`_ ã«é–¢ã™ã‚‹è¨å®š * - ``lock`` - `ãƒãƒƒãƒå®Ÿè¡Œã®ãƒãƒƒã‚¯`_ ã«é–¢ã™ã‚‹è¨å®š * - ``monitor`` - `ãƒãƒƒãƒå®Ÿè¡Œã®ãƒ¢ãƒ‹ã‚¿`_ ã«é–¢ã™ã‚‹è¨å®š プãƒãƒ‘ティファイルã®ãã‚Œãžã‚Œã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«ã¯ã€è©²å½“ã™ã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³åã‹ã‚‰å§‹ã¾ã‚‹ã‚ーã¨ã€ãã‚Œã«å¯¾å¿œã™ã‚‹å€¤ãŒè¨˜è¿°ã•ã‚Œã¦ã„ã¾ã™ã€‚ .. code-block:: properties :caption: yaess.properties :name: yaess.properties-yaess-user-guide-1 core = com.asakusafw.yaess.basic.BasicCoreProfile core.version = 0.1 ## file lock lock = com.asakusafw.yaess.basic.BasicLockProvider lock.scope = world lock.directory = ${ASAKUSA_HOME}/yaess/var/lock ## ... 環境変数ã®åˆ©ç”¨ ~~~~~~~~~~~~~~ 構æˆãƒ•ã‚¡ã‚¤ãƒ«ã®ã„ãã¤ã‹ã®é …ç›®ã§ã¯ã€é …目値ã®æ–‡å—列㫠``${変数å}`` ã¨ã„ã†å½¢å¼ã‚’指定ã™ã‚‹ã“ã¨ã§ã€YAESSã‚’èµ·å‹•ã—ãŸç’°å¢ƒã®ç’°å¢ƒå¤‰æ•°ã‚’å«ã‚られã¾ã™ã€‚ ã¾ãŸã€ ``${変数å-デフォルト値}`` ã®ã‚ˆã†ã«ã€ 変数åã®å¾Œã« ``-`` を指定ã—ã¦ã€ãã®å¾Œã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’記述ã™ã‚‹ã“ã¨ã§ã€ YAESSã‚’èµ·å‹•ã—ãŸç’°å¢ƒã®ç’°å¢ƒå¤‰æ•°ãŒå˜åœ¨ã—ãªã„å ´åˆã«ã€ã“ã“ã§æŒ‡å®šã—ãŸãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ 以下ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’æŒã¤ç’°å¢ƒå¤‰æ•°ã®åˆ©ç”¨ä¾‹ã§ã™ã€‚ .. code-block:: properties :caption: yaess.properties :name: yaess.properties-yaess-user-guide-2 scheduler.parallel.hadoop-master = ${YAESS_PARALLEL_HADOOP-3} YAESS本体ã®è¨å®š --------------- YAESS本体ã®è¨å®šã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«å†…ã® ``core`` セクション内ã«è¨˜è¿°ã—ã¾ã™ã€‚ .. list-table:: YAESS本体ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``core`` - ``com.asakusafw.yaess.basic.BasicCoreProfile`` * - ``core.version`` - ``0.1`` 上記ã®å€¤ã¯å¤‰æ›´ã—ãªã„よã†ã«ã—ã¦ãã ã•ã„。 .. _yaess-profile-hadoop-section: Hadoopジョブã®å®Ÿè¡Œ ------------------ Asakusa Frameworkã§é–‹ç™ºã—ãŸãƒãƒƒãƒã¯ã€å†…部的ã«Hadoopã®ã‚¸ãƒ§ãƒ–を投入ã—ã¦ã•ã¾ã–ã¾ãªå‡¦ç†ã‚’è¡Œã£ã¦ã„ã¾ã™ã€‚ YAESS上ã§Hadoopã«é–¢ã™ã‚‹è¨å®šã‚’è¡Œã†ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«å†…ã® ``hadoop`` セクションã®å†…容を編集ã—ã¾ã™ã€‚ åŒä¸€ç’°å¢ƒä¸Šã®Hadoopジョブを実行ã™ã‚‹ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ YAESSã‚’èµ·å‹•ã—ãŸã‚³ãƒ³ãƒ”ューターã¨åŒä¸€ã®ã‚³ãƒ³ãƒ”ューターã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸHadoopを利用ã™ã‚‹å ´åˆã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``hadoop`` セクションã«ä»¥ä¸‹ã®å†…容をè¨å®šã—ã¾ã™ã€‚ .. list-table:: åŒä¸€ç’°å¢ƒä¸Šã®Hadoopを実行ã™ã‚‹éš›ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``hadoop`` - ``com.asakusafw.yaess.basic.BasicHadoopScriptHandler`` * - ``hadoop.env.HADOOP_CMD`` - :program:`hadoop` コマンドã®ãƒ‘ス [#]_ * - ``hadoop.env.ASAKUSA_HOME`` - Asakusa Frameworkã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆ 上記ã®ã†ã¡ã€å…ˆé ã® ``hadoop`` を除ãã™ã¹ã¦ã®é …目㧠`環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ .. [#] ã“ã®é …ç›®ã¯ã‚ªãƒ—ションã§ã™ã€‚ã¾ãŸã€Hadoopã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆã¯åˆ¥ã®è¨å®šæ–¹æ³•ã‚‚ã‚ã‚Šã¾ã™ã€‚ 詳ã—ã㯠`Hadoopを利用ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„ .. _yaess-profile-hadoop-section-ssh: SSHを経由ã—ã¦Hadoopジョブを実行ã™ã‚‹ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ YAESSã‹ã‚‰SSHを経由ã—ã¦ãƒªãƒ¢ãƒ¼ãƒˆã‚³ãƒ³ãƒ”ューター上ã®Hadoopを利用ã™ã‚‹å ´åˆã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``hadoop`` セクションã«ä»¥ä¸‹ã®å†…容をè¨å®šã—ã¾ã™ã€‚ .. list-table:: SSHを経由ã—ã¦Hadoopを実行ã™ã‚‹éš›ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``hadoop`` - ``com.asakusafw.yaess.jsch.SshHadoopScriptHandler`` * - ``hadoop.ssh.user`` - ãƒã‚°ã‚¤ãƒ³å…ˆã®ãƒ¦ãƒ¼ã‚¶ãƒ¼å * - ``hadoop.ssh.host`` - SSHã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆå * - ``hadoop.ssh.port`` - SSHã®ãƒªãƒ¢ãƒ¼ãƒˆãƒãƒ¼ãƒˆç•ªå· * - ``hadoop.ssh.privateKey`` - ãƒãƒ¼ã‚«ãƒ«ã®ç§˜å¯†éµã®ä½ç½® * - ``hadoop.ssh.passPhrase`` - 秘密éµã®ãƒ‘スフレーズ * - ``hadoop.env.HADOOP_CMD`` - リモート㮠:program:`hadoop` コマンドã®ãƒ‘ス [#]_ * - ``hadoop.env.ASAKUSA_HOME`` - リモートã®Asakusa Frameworkã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆ 上記ã®ã†ã¡ã€å…ˆé ã® ``hadoop`` を除ãã™ã¹ã¦ã®é …目㧠`環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ ãªãŠã€ã“ã®ä»•çµ„ã¿ã§ã¯SSHã§ã®é€šä¿¡ã« JSch [#]_ を利用ã—ã¦ã„ã¾ã™ã€‚ .. [#] ã“ã®é …ç›®ã¯ã‚ªãƒ—ションã§ã™ã€‚ ã¾ãŸã€Hadoopã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆã¯åˆ¥ã®è¨å®šæ–¹æ³•ã‚‚ã‚ã‚Šã¾ã™ã€‚ 詳ã—ã㯠`Hadoopを利用ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„ .. [#] http://www.jcraft.com/jsch/ Hadoopを利用ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hadoopを利用ã™ã‚‹éš›ã«ç‰¹åˆ¥ãªç’°å¢ƒå¤‰æ•°ãŒå¿…è¦ãªå ´åˆã€ä»¥ä¸‹ã®è¨å®šã‚’è¿½åŠ ã—ã¾ã™ã€‚ .. list-table:: Hadoopを利用ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š :widths: 10 10 :header-rows: 1 * - åå‰ - 値 * - ``hadoop.env.<環境変数å>`` - è¨å®šã™ã‚‹ç’°å¢ƒå¤‰æ•°ã®å€¤ ã“ã“ã§æŒ‡å®šã™ã‚‹å€¤ã«ã¯ `環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ .. hint:: ``hadoop.env.HADOOP_CMD`` ã‚„ ``hadoop.env.ASAKUSA_HOME`` ã¯ä¸Šè¨˜ã®ä¸€éƒ¨ã§ã™ã€‚ ã“ã®ã†ã¡ã€ ``ASAKUSA_HOME`` ã¯Asakusa Frameworkã®å®Ÿè¡Œã«å¿…è¦ã§ã‚ã‚‹ãŸã‚ã€å¸¸ã«æŒ‡å®šã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 ``HADOOP_CMD`` ã¯ä»£ã‚ã‚Šã« ``HADOOP_HOME`` を指定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ 詳ã—ã㯠`Hadoopコマンドã®æ¤œç´¢æ–¹æ³•`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 .. tip:: ``hadoop.env.<環境変数å>=${<環境変数å>}`` ã®ã‚ˆã†ã«æ›¸ãã¨ã€ç¾åœ¨ã®ç’°å¢ƒå¤‰æ•°ã‚’対象ã®ç’°å¢ƒã«ãã®ã¾ã¾å—ã‘渡ã›ã¾ã™ã€‚ Hadoopコマンドã®æ¤œç´¢æ–¹æ³• ~~~~~~~~~~~~~~~~~~~~~~~~ Hadoopã‚’èµ·å‹•ã™ã‚‹éš›ã«ã¯ã€èµ·å‹•ã™ã‚‹å¯¾è±¡ã® :program:`hadoop` コマンドã®é…ç½®å ´æ‰€ã‚’ç’°å¢ƒå¤‰æ•°ã‚’åˆ©ç”¨ã—ã¦æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ Hadoopã®ã‚¸ãƒ§ãƒ–ã‚„ :doc:`WindGate <../windgate/index>` ãªã©ã‚’実行ã™ã‚‹éš›ã«ã¯ã€æ¬¡ã®æ‰‹é †ã§ :program:`hadoop` コマンドを検索ã—ã¾ã™ã€‚ * 環境変数 ``HADOOP_CMD`` ãŒè¨å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ ``$HADOOP_CMD`` ã‚’ :program:`hadoop` コマンドã¨ã¿ãªã—ã¦åˆ©ç”¨ã—ã¾ã™ã€‚ * 環境変数 ``HADOOP_HOME`` ãŒè¨å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ :program:`$HADOOP_HOME/bin/hadoop` コマンドを利用ã—ã¾ã™ã€‚ * :program:`hadoop` コマンドã®ãƒ‘ス ( 環境変数 ``PATH`` ) ãŒé€šã£ã¦ã„ã‚‹å ´åˆã€ãれを利用ã—ã¾ã™ã€‚ 上記ã®æ‰‹é †ã§HadoopコマンドãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã€å¯¾è±¡å‡¦ç†ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã™ã€‚ Hadoopを利用ã™ã‚‹éš›ã®ãƒ—ãƒãƒ‘ティã®è¨å®š ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hadoopを利用ã™ã‚‹éš›ã«ç‰¹åˆ¥ãªãƒ—ãƒãƒ‘ティ [#]_ ãŒå¿…è¦ãªå ´åˆã€ä»¥ä¸‹ã®è¨å®šã‚’è¿½åŠ ã—ã¾ã™ã€‚ .. list-table:: Hadoopを利用ã™ã‚‹éš›ã®ãƒ—ãƒãƒ‘ティã®è¨å®š :widths: 10 10 :header-rows: 1 * - åå‰ - 値 * - ``hadoop.prop.<プãƒãƒ‘ティå>`` - è¨å®šã™ã‚‹ãƒ—ãƒãƒ‘ティã®å€¤ ã“ã“ã§æŒ‡å®šã™ã‚‹å€¤ã«ã¯ `環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ .. [#] Javaã®ã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティã§ã¯ãªã〠:program:`hadoop` コマンド㫠``-D <key>=<value>`` ã§æŒ‡å®šã™ã‚‹ãƒ—ãƒãƒ‘ティã§ã™ã€‚ Hadoopブリッジã®è¨å®š ~~~~~~~~~~~~~~~~~~~~ `åŒä¸€ç’°å¢ƒä¸Šã®Hadoopジョブを実行ã™ã‚‹`_ å ´åˆã‚„〠`SSHを経由ã—ã¦Hadoopジョブを実行ã™ã‚‹`_ å ´åˆã«ã¯ã€HadoopãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸç’°å¢ƒä¸Šã«ã€ŒHadoopブリッジã€ãŒå¿…è¦ã§ã™ã€‚ Hadoopブリッジ㯠Asakusa Frameworkã® :file:`$ASAKUSA_HOME/yaess-hadoop` ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å«ã¾ã‚Œã¦ãŠã‚Šã€ã“ã‚Œã«ã¯YAESSãŒHadoopã«ã‚¸ãƒ§ãƒ–を投入ã™ã‚‹éš›ã«åˆ©ç”¨ã™ã‚‹ãƒ„ールãŒæ ¼ç´ã•ã‚Œã¦ã„ã¾ã™ã€‚ YAESSã‹ã‚‰Hadoopã‚’èµ·å‹•ã™ã‚‹éš›ã«ã¯ã€HadoopãŒæä¾›ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’直接実行ã™ã‚‹ã®ã§ã¯ãªãã€ä»£ã‚ã‚Šã« :program:`$ASAKUSA_HOME/yaess-hadoop/libexec/hadoop-execute.sh` ã¨ã„ã†ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トを実行ã—ã¾ã™ã€‚ ã“ã®ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トã¯ã€æœ€çµ‚çš„ã«Hadoopã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã™ã‚‹ã®ã§ã™ãŒã€ãã®æ‰‹å‰ã§Asakusa Frameworkã®ãŸã‚ã®è¨å®šã‚’ã„ãã¤ã‹è¡Œã£ã¦ã„ã¾ã™ã€‚ ã“ã®ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トã®ä¸ã§ã¯ã€ :file:`$ASAKUSA_HOME/yaess-hadoop/conf/env.sh` ã¨ã„ã†ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トを内部的ã«å®Ÿè¡Œã—ã¦ã„ã¾ã™ã€‚ ã“れ㯠:program:`hadoop-execute.sh` ã¨åŒä¸€ãƒ—ãƒã‚»ã‚¹å†…ã§å®Ÿè¡Œã•ã‚Œã€ã“ã“ã§ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã™ã‚‹ã¨Hadoop実行時ã®ç’°å¢ƒå¤‰æ•°ã‚’è¨å®šã§ãã¾ã™ã€‚ YAESSã®æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«å´ã§è¨å®šã—ãã‚Œãªã„環境変数ç‰ãŒã‚ã‚‹å ´åˆã«ã¯ã€ã“ã¡ã‚‰ã§è¨å®šã—ã¦ãã ã•ã„。 ジョブフãƒãƒ¼ä¸é–“ファイルã®ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ— ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ジョブフãƒãƒ¼ã®å®Ÿè¡ŒãŒå®Œäº†ã™ã‚‹ã¨ã€ãã®å®Ÿè¡Œä¸ã«ç”Ÿæˆã•ã‚ŒãŸä¸é–“ファイルã¯é€šå¸¸ã®å ´åˆã«ä¸è¦ã¨ãªã‚Šã¾ã™ã€‚ 以下ã®è¨å®šã‚’è¡Œã†ã“ã¨ã§ã€ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®å®Œäº†æ™‚ [#]_ ã«ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã‚’è¡Œã†ã‹ã©ã†ã‹ã‚’指定ã§ãã¾ã™ã€‚ .. list-table:: ジョブフãƒãƒ¼ã®ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``hadoop.cleanup`` - ``true`` ã§ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã‚’è¡Œã†ã€ ``false`` ã§è¡Œã‚ãªã„ ``hadoop.cleanup`` ãŒæœªæŒ‡å®šã®å ´åˆã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã‚’è¡Œã†( ``true`` ãŒæŒ‡å®šã•ã‚ŒãŸã®ã¨åŒã˜ )よã†å‹•ä½œã—ã¾ã™ã€‚ ãªãŠãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã¯ ``hadoop.cleanup`` ãŒæœªæŒ‡å®šã®ãŸã‚ã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ãŒè¡Œã‚ã‚Œã¾ã™ã€‚ .. [#] 実際ã«ã¯ã€ã“れ㯠``cleanup`` フェーズ内ã§è¡Œã‚ã‚Œã¾ã™ã€‚ ãã®ãŸã‚ã€ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®é€”ä¸ã§ç•°å¸¸çµ‚了ã—ãŸå ´åˆã«ã¯ã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã¯è¡Œã‚ã‚Œã¾ã›ã‚“。 Hadoopジョブ実行ã¸ã®ä»‹å…¥ ~~~~~~~~~~~~~~~~~~~~~~~~ Hadoopã®ã‚¸ãƒ§ãƒ–ã‚’èµ·å‹•ã™ã‚‹éš›ã«ã€YAESSã¯HadoopãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸç’°å¢ƒã® :program:`$ASAKUSA_HOME/yaess-hadoop/libexec/hadoop-execute.sh` ã¨ã„ã†ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トを実行ã—ã¦ã„ã¾ã™ã€‚ ã“ã®ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トを実行ã™ã‚‹éš›ã«ã€ä»¥ä¸‹ã®å¼•æ•°ã‚’指定ã—ã¦ã„ã¾ã™ã€‚ .. list-table:: Hadoopジョブ実行時ã®å¼•æ•°ä¸€è¦§ :widths: 2 8 :header-rows: 1 * - ä½ç½® - 内容 * - 1 - ジョブクライアントクラスå * - 2 - ãƒãƒƒãƒID * - 3 - フãƒãƒ¼ID * - 4 - 実行ID * - 5 - ãƒãƒƒãƒå®Ÿè¡Œå¼•æ•° (æ–‡å—列形å¼) * - ä»¥é™ - ãã®ä»–ã®Hadoopã¸ã®å¼•æ•°ä¸€è¦§ ãŸã¨ãˆã°ã€ã‚¸ãƒ§ãƒ–クライアントクラスå㌠``Client`` , ãƒãƒƒãƒID㌠``bid`` , フãƒãƒ¼ID㌠``fid`` , 実行ID㌠``eid`` ã§ã‚ã‚‹å ´åˆã€ã‚¸ãƒ§ãƒ–実行時ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ .. code-block:: sh $ASAKUSA_HOME/yaess-hadoop/libexec/hadoop-execute.sh Client bid fid eid YAESSã§ã¯ã€ã“ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’構æˆã™ã‚‹ãƒ«ãƒ¼ãƒ«ã«å¯¾ã—ã¦ã€ä»¥ä¸‹ã®è¨å®šã§ä»‹å…¥ã§ãã¾ã™ã€‚ .. list-table:: コマンドライン介入ã®è¨å®š (Hadoopジョブ) :widths: 10 20 :header-rows: 1 * - åå‰ - 値 * - ``hadoop.command.0`` - å…ˆé ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒˆãƒ¼ã‚¯ãƒ³ * - ``hadoop.command.1`` - 2番目ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒˆãƒ¼ã‚¯ãƒ³ * - ``hadoop.command.<n>`` - ``n + 1`` 番目ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒˆãƒ¼ã‚¯ãƒ³ ã¤ã¾ã‚Šã€ ``hadoop.command.0`` ã« ``C:\\Cygwin\\bin\\bash.exe`` [#]_ , ``hadoop.command.1`` ã« ``-r`` ã¨æŒ‡å®šã—ãŸå ´åˆã€å…ˆã»ã©ã®ä¾‹ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ .. code-block:: sh C:\Cygwin\bin\bash.exe -r $ASAKUSA_HOME/yaess-hadoop/libexec/hadoop-execute.sh Client bid fid eid ã¾ãŸã€ãã‚Œãžã‚Œã®å€¤ã«ã¯ã€ `環境変数ã®åˆ©ç”¨`_ ã®å½¢å¼ã§ç’°å¢ƒå¤‰æ•°ã‚’〠``@[ä½ç½®]`` ã®å½¢å¼ã§å…ƒã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®æŒ‡å®šä½ç½®(0èµ·ç®—)ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’利用ã§ãã¾ã™ã€‚ ã“ã®ã¨ã〠``@[0]`` 㯠``$ASAKUSA_HOME/yaess-hadoop/libexec/hadoop-execute.sh`` ã‚’ã•ã—〠``@[1]`` ã¯ã‚¸ãƒ§ãƒ–クライアントクラスåã‚’ã•ã—ã€ã¨ã„ã£ãŸå…·åˆã«ãªã‚Šã¾ã™ã€‚ .. [#] ``*.properties`` ファイルã§ã¯ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ ``\`` ãŒã‚¨ã‚¹ã‚±ãƒ¼ãƒ—æ–‡å—ã¨ãªã‚‹ãŸã‚〠``\\`` ã®ã‚ˆã†ã«2ã¤ã¤ãªã’ã¦æ›¸ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ .. _yaess-profile-command-section: コマンドラインジョブã®å®Ÿè¡Œ -------------------------- WindGateãªã©ã®Hadoop以外ã®ã‚¸ãƒ§ãƒ–ã‚’ã€YAESSã§ã¯ã€Œã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–ã€ã¨ç·ç§°ã—ã¦ã„ã¾ã™ã€‚ YAESS上ã§ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–ã®è¨å®šã‚’è¡Œã†ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«å†…ã® ``command`` セクションã®å†…容を編集ã—ã¾ã™ã€‚ コマンドラインジョブã«ã¯Hadoopã®ã‚¸ãƒ§ãƒ–ã¨ç•°ãªã‚Šã€ã€Œãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã€ã¨ã„ã†æ¦‚念ãŒã‚ã‚Šã¾ã™ã€‚ ã“ã‚Œã¯ã€ãã‚Œãžã‚Œã®ã‚¸ãƒ§ãƒ–ãŒã€Œã©ã®ç’°å¢ƒã§å®Ÿè¡Œã•ã‚Œã‚‹ã‹ã€ã¨ã„ã†ã“ã¨ã‚’ã‚らã‚ã™ã‚‚ã®ã§ã€WindGateã§ã¯ã€Œãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«åã€ã§æŒ‡å®šã—ãŸã‚‚ã®ãŒåˆ©ç”¨ã•ã‚Œã¾ã™ã€‚ ``command`` セクションã§ã¯ã€ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã”ã¨ã« ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` ã¨ã„ã†å½¢å¼ã§ã‚µãƒ–セクションを作æˆã—ã€ãã®ä¸ã«ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«å›ºæœ‰ã®è¨å®šã‚’記述ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ プãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å¼•ã当㦠~~~~~~~~~~~~~~~~~~~~~~ ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` ã¨ã„ã†ã‚µãƒ–セクションを記載ã—ãŸå ´åˆã€ ``<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` ã®éƒ¨åˆ†ã«æŒ‡å®šã—ãŸæ–‡å—列ã¨åŒã˜ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚’利用ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–ã¯ã€ãã®ã‚µãƒ–セクションã®æ§‹æˆã‚’利用ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚ プãƒãƒ•ã‚¡ã‚¤ãƒ«ã«å¯¾å¿œã™ã‚‹ã‚µãƒ–セクションãŒå˜åœ¨ã—ãªã„å ´åˆã€ãã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–㯠``command.*`` ã¨ã„ã†ã‚µãƒ–セクションã«è¨˜è¼‰ã—ãŸæ§‹æˆã‚’利用ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚ 例ã¨ã—ã¦ã€WindGateを利用ã™ã‚‹éš›ã«ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«åã« `asakusa` を指定ã—ãŸå ´åˆã€ ``command.asakusa`` ã¨ã„ã†ã‚µãƒ–セクションã§è¨å®šã—ãŸå†…容ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚ ãã®ã‚µãƒ–セクションãŒãªã„å ´åˆã«ã¯ã€ ``command.*`` ã¨ã„ã†ã‚µãƒ–セクションã®å†…容ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚ .. attention:: 上記ã®ã„ãšã‚Œã®ã‚µãƒ–セクションもå˜åœ¨ã—ãªã„å ´åˆã€YAESSã¯ã‚¨ãƒ©ãƒ¼ã¨ãªã‚Šã¾ã™ã€‚ åŒä¸€ç’°å¢ƒä¸Šã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ YAESSã‚’èµ·å‹•ã—ãŸã‚³ãƒ³ãƒ”ューターã¨åŒä¸€ã®ã‚³ãƒ³ãƒ”ューターã§ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` セクションã«ä»¥ä¸‹ã®å†…容をè¨å®šã—ã¾ã™ã€‚ .. list-table:: åŒä¸€ç’°å¢ƒä¸Šã§ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’実行ã™ã‚‹éš›ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` - ``com.asakusafw.yaess.basic.BasicCommandScriptHandler`` * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.HADOOP_CMD`` - :program:`hadoop` コマンドã®ãƒ‘ス * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.ASAKUSA_HOME`` - Asakusa Frameworkã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆ 上記ã®ã†ã¡ã€å…ˆé ã® ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` を除ãã™ã¹ã¦ã®é …目㧠`環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ .. hint:: ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.HADOOP_CMD`` ã®è¨å®šã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。 詳ã—ã㯠`コマンドラインジョブを実行ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 .. _yaess-profile-command-section-ssh: SSHを経由ã—ã¦ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ YAESSã‹ã‚‰SSHを経由ã—ã€ãƒªãƒ¢ãƒ¼ãƒˆã‚³ãƒ³ãƒ”ューター上ã§ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` セクションã«ä»¥ä¸‹ã®å†…容をè¨å®šã—ã¾ã™ã€‚ .. list-table:: SSHを経由ã—ã¦ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’実行ã™ã‚‹éš›ã®è¨å®š :widths: 5 5 :header-rows: 1 * - åå‰ - 値 * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` - ``com.asakusafw.yaess.jsch.SshCommandScriptHandler`` * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.ssh.user`` - ãƒã‚°ã‚¤ãƒ³å…ˆã®ãƒ¦ãƒ¼ã‚¶ãƒ¼å * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.ssh.host`` - SSHã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆå * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.ssh.port`` - SSHã®ãƒªãƒ¢ãƒ¼ãƒˆãƒãƒ¼ãƒˆç•ªå· * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.ssh.privateKey`` - ãƒãƒ¼ã‚«ãƒ«ã®ç§˜å¯†éµã®ä½ç½® * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.ssh.passPhrase`` - 秘密éµã®ãƒ‘スフレーズ * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.HADOOP_CMD`` - リモート㮠``hadoop`` コマンドã®ãƒ‘ス * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.ASAKUSA_HOME`` - リモートã®Asakusa Frameworkã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆ 上記ã®ã†ã¡ã€å…ˆé ã® ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` を除ãã™ã¹ã¦ã®é …目㧠`環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ ãªãŠã€ `SSHを経由ã—ã¦Hadoopジョブを実行ã™ã‚‹`_ éš›ã¨åŒæ§˜ã«ã€SSHã§ã®é€šä¿¡ã« JSch を利用ã—ã¦ã„ã¾ã™ã€‚ .. hint:: ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.HADOOP_CMD`` ã®è¨å®šã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。 詳ã—ã㯠`コマンドラインジョブを実行ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 コマンドラインジョブを実行ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ コマンドラインジョブを実行ã™ã‚‹éš›ã«ç’°å¢ƒå¤‰æ•°ãŒå¿…è¦ãªå ´åˆã€ä»¥ä¸‹ã®è¨å®šã‚’è¿½åŠ ã—ã¾ã™ã€‚ .. list-table:: コマンドラインジョブを実行ã™ã‚‹éš›ã®ç’°å¢ƒå¤‰æ•°ã®è¨å®š :widths: 5 5 :header-rows: 1 * - åå‰ - 値 * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.<環境変数å>`` - è¨å®šã™ã‚‹ç’°å¢ƒå¤‰æ•°ã®å€¤ ã“ã“ã§æŒ‡å®šã™ã‚‹å€¤ã«ã¯ `環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ .. hint:: ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.ASAKUSA_HOME`` ãªã©ã¯ä¸Šè¨˜ã®ä¸€éƒ¨ã§ã™ã€‚ ãŸã ã—ã€ç’°å¢ƒå¤‰æ•° ``ASAKUSA_HOME`` ã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–ã®å®Ÿè¡Œã«å¿…è¦ã§ã‚ã‚‹ãŸã‚ã€å¸¸ã«æŒ‡å®šã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 ã¾ãŸã€Asakusa FrameworkãŒæä¾›ã™ã‚‹ã»ã¨ã‚“ã©ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ :program:`hadoop` コマンドを内部ã§åˆ©ç”¨ã—ã¦ã„ã‚‹ãŸã‚ã€ä¸Šè¨˜ã§ç’°å¢ƒå¤‰æ•° ``HADOOP_CMD`` ãªã©ã‚’明示的ã«è¨å®šã—ã¦ãŠãã“ã¨ã‚’推奨ã—ã¾ã™ã€‚ Hadoopã®ä½ç½®ã‚’知らã›ã‚‹æ–¹æ³•ã¯ç’°å¢ƒå¤‰æ•° ``HADOOP_CMD`` ã‚’è¨å®šã™ã‚‹ä»£ã‚ã‚Šã« ``HADOOP_HOME`` ã‚„ ``PATH`` ã«é©åˆ‡ãªå€¤ã‚’指定ã™ã‚‹ãªã©ãŒã‚ã‚Šã¾ã™ã€‚ 詳ã—ã㯠`Hadoopコマンドã®æ¤œç´¢æ–¹æ³•`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 .. tip:: ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.env.<環境変数å>=${<環境変数å>}`` ã®ã‚ˆã†ã«æ›¸ãã¨ã€ç¾åœ¨ã®ç’°å¢ƒå¤‰æ•°ã‚’対象ã®ç’°å¢ƒã«ãã®ã¾ã¾å—ã‘渡ã›ã¾ã™ã€‚ コマンドラインジョブ実行ã¸ã®ä»‹å…¥ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ YAESSãŒã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹éš›ã«ã¯ã€ãã®ã‚¸ãƒ§ãƒ–ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’指定ã®ç’°å¢ƒä¸Šã§ç›´æŽ¥å®Ÿè¡Œã—ã¦ã„ã¾ã™ [#]_ 。 ã“ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã«å¯¾ã—ã¦ã€ä»¥ä¸‹ã®è¨å®šã§ä»‹å…¥ã§ãã¾ã™ã€‚ .. list-table:: コマンドライン介入ã®è¨å®š (コマンドラインジョブ) :widths: 10 10 :header-rows: 1 * - åå‰ - 値 * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.command.0`` - å…ˆé ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒˆãƒ¼ã‚¯ãƒ³ * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.command.1`` - 2番目ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒˆãƒ¼ã‚¯ãƒ³ * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.command.<n>`` - ``n + 1`` 番目ã«æŒ¿å…¥ã•ã‚Œã‚‹ãƒˆãƒ¼ã‚¯ãƒ³ ãŸã¨ãˆã°ã€ã‚‚ã¨ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ãŒ ``/bin/echo`` , ``hello`` ã§ã€ ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.command.0`` ã« ``C:\\Cygwin\\bin\\bash.exe`` , ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.command.1`` ã« ``-r`` ã¨æŒ‡å®šã—ãŸå ´åˆã€å®Ÿéš›ã«å®Ÿè¡Œã•ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ .. code-block:: sh C:\Cygwin\bin\bash.exe -r /bin/echo hello ã¾ãŸã€ãã‚Œãžã‚Œã®å€¤ã«ã¯ã€ `環境変数ã®åˆ©ç”¨`_ ã®å½¢å¼ã§ç’°å¢ƒå¤‰æ•°ã‚’〠``@[ä½ç½®]`` ã®å½¢å¼ã§å…ƒã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®æŒ‡å®šä½ç½®(0èµ·ç®—)ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’利用ã§ãã¾ã™ã€‚ ã“ã®ã¨ã〠``@[0]`` ã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®å®Ÿè¡Œå¯èƒ½ãƒ•ã‚¡ã‚¤ãƒ«ãƒ‘スをã•ã—〠``@[1]`` ã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®æœ€åˆã®å¼•æ•°ã¨ã„ã£ãŸå…·åˆã«ãªã‚Šã¾ã™ã€‚ .. [#] より詳ã—ã言ãˆã°ã€ç’°å¢ƒä¸Šã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚·ã‚§ãƒ«ã«ã€ã‚¸ãƒ§ãƒ–ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’ãã®ã¾ã¾æ¸¡ã—ã¦ãƒ—ãƒã‚»ã‚¹ã‚’èµ·å‹•ã—ã¾ã™ã€‚ ジョブã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚° ------------------------ YAESSã¯ãƒãƒƒãƒã‚’実行ã™ã‚‹éš›ã€ãƒãƒƒãƒãŒæ§‹æˆã™ã‚‹ã‚¸ãƒ§ãƒ–ã®å®Ÿè¡Œé †åºç‰ã‚’ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``schedule`` セクションã§æŒ‡å®šã§ãã¾ã™ã€‚ ジョブã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚°ã‚’説明ã™ã‚‹ãŸã‚ã«ã€ `Asakusa Frameworkã®ãƒãƒƒãƒæ§‹é€ `_ ã§èª¬æ˜Žã—ãŸãƒãƒƒãƒæ§‹é€ ã®ä¿¯çž°å›³ã‚’å†æŽ²ã—ã¾ã™ã€‚ .. figure:: batch-structure.png 上図ã§ã¯ã€ãƒãƒƒãƒã¯3ã¤ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã¾ã™ã€‚ 1ã¤ã‚ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®çµ‚了後ã«å®Ÿè¡Œã•ã‚Œã‚‹2ã¤ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã¯ä¾å˜é–¢ä¿‚ãŒãªã„ãŸã‚ã€ä¸¦åˆ—ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒå¯èƒ½ãªæ§‹é€ ã‚’æŒã£ã¦ã„ã¾ã™ã€‚ ã¾ãŸã€ ``import`` フェーズã¯2ã¤ã®ã‚¸ãƒ§ãƒ–ã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã¾ã™ãŒã€ã“れらもä¾å˜é–¢ä¿‚ãŒãªã„ãŸã‚ã€ä¸¦åˆ—ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ ``main`` フェーズã«ã¤ã„ã¦ã‚‚一部ã§ä¸¦åˆ—ã§å®Ÿè¡Œå¯èƒ½ãªç®‡æ‰€ãŒå˜åœ¨ã—ã¾ã™ã€‚ ジョブã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚°ã¯ã“ã®ã‚ˆã†ãªæ§‹é€ ã‚’æŒã¤ãƒãƒƒãƒã«å¯¾ã—ã¦ã€ã‚¸ãƒ§ãƒ–実行時ã«ã©ã®ã‚ˆã†ãªå®Ÿè¡Œé †åºã§å®Ÿè¡Œã™ã‚‹ã‹ã‚’è¨å®šã—ã¾ã™ã€‚ ã‚‚ã£ã¨ã‚‚å˜ç´”ãªã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚° ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ã‚‚ã£ã¨ã‚‚å˜ç´”ãªã‚¸ãƒ§ãƒ–ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚°ã§ã¯ã€ãã‚Œãžã‚Œã®ã‚¸ãƒ§ãƒ–ã‚’ä¾å˜é–¢ä¿‚ã®é †ã«1ã¤ãšã¤å®Ÿè¡Œã—ã¾ã™ã€‚ 構æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``schedule`` セクションã«ä»¥ä¸‹ã®å†…容を指定ã—ã¾ã™ã€‚ .. list-table:: å˜ç´”ãªã‚¸ãƒ§ãƒ–ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚°ã‚’è¡Œã†éš›ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``scheduler`` - ``com.asakusafw.yaess.basic.BasicJobScheduler`` ジョブを並列実行ã™ã‚‹éš›ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚° ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ä¾å˜é–¢ä¿‚を考慮ã—ãªãŒã‚‰è¤‡æ•°ã®ã‚¸ãƒ§ãƒ–ã‚’åŒæ™‚ã«å®Ÿè¡Œã™ã‚‹å ´åˆã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``schedule`` セクションã«ä»¥ä¸‹ã®å†…容を指定ã—ã¾ã™ã€‚ .. list-table:: ジョブを並列実行ã™ã‚‹éš›ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``scheduler`` - ``com.asakusafw.yaess.paralleljob.ParallelJobScheduler`` * - ``scheduler.parallel.default`` - åŒæ™‚ã«å®Ÿè¡Œå¯èƒ½ãªã‚¸ãƒ§ãƒ–ã®å€‹æ•° ジョブã®ç¨®é¡žã”ã¨ã«åŒæ™‚ã«å‹•ä½œã•ã›ã‚‹ã‚¸ãƒ§ãƒ–ã®å€‹æ•°ã‚’è¨å®šã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ YAESSã§ã¯ã€ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’指定ã™ã‚‹ã‚¸ãƒ§ãƒ–を「リソースã€ã¨ã„ã†å˜ä½ã§è˜åˆ¥ã—ã¾ã™ã€‚ å„種ジョブã®å®šç¾©ã«ãƒªã‚½ãƒ¼ã‚¹ã‚’示ã™ãƒ—ãƒãƒ‘ãƒ†ã‚£ã‚’è¿½åŠ ã—ã¦ãŠãã€ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã®è¨å®šã§ã¯ã€ãã®ãƒªã‚½ãƒ¼ã‚¹ã«å¯¾ã—ã¦åŒæ™‚ã«å®Ÿè¡Œã™ã‚‹ã‚¸ãƒ§ãƒ–ã®å€‹æ•°ãªã©ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«è¨å®šã‚’è¡Œã„ã¾ã™ã€‚ リソースå˜ä½ã§ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«è¨å®šã®æŒ‡å®šã‚’è¡Œã†å ´åˆã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã«ä»¥ä¸‹ã®å†…å®¹ã‚’è¿½åŠ ã—ã¾ã™ã€‚ .. list-table:: 種類ã”ã¨ã«ã‚¸ãƒ§ãƒ–を並列実行ã™ã‚‹éš›ã®è¨å®š :widths: 5 5 :header-rows: 1 * - åå‰ - 値 * - ``hadoop.resource`` - Hadoopジョブ [#]_ ã®ãƒªã‚½ãƒ¼ã‚¹å * - ``command.<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>.resource`` - コマンドラインジョブ [#]_ ã®ãƒªã‚½ãƒ¼ã‚¹å * - ``scheduler.parallel.<リソースå>`` - 指定ã®ãƒªã‚½ãƒ¼ã‚¹åã®ã‚¸ãƒ§ãƒ–ã«å¯¾ã™ã‚‹åŒæ™‚実行å¯èƒ½ãªæ•° 上記ã®æŒ‡å®šã«ã‚ˆã‚Šã€ãŸã¨ãˆã°Hadoopジョブã®ä¸¦åˆ—度を1ã«è¨å®šã—ãªãŒã‚‰ã€WindGateã®ã‚¸ãƒ§ãƒ–ã®ä¸¦åˆ—度を3ã«è¨å®šã™ã‚‹ã€ãªã©ãŒå¯èƒ½ã§ã™ã€‚ ãªãŠã€ãƒªã‚½ãƒ¼ã‚¹åã«å¯¾ã—㦠``scheduler.parallel.<リソースå>`` ã®æŒ‡å®šãŒå˜åœ¨ã—ãªã„å ´åˆã€ä»£ã‚ã‚Šã« ``scheduler.parallel.default`` ã®è¨å®šã‚’利用ã—ã¾ã™ã€‚ .. attention:: ã¤ã¾ã‚Šã€ ``default`` ã¨ã„ã†åå‰ã®ãƒªã‚½ãƒ¼ã‚¹åã¯YAESS内ã§ç‰¹åˆ¥æ‰±ã„ã•ã‚Œã¦ã„ã¾ã™ã€‚ 通常ã¯ã“ã®åå‰ã‚’リソースåã«ä½¿ç”¨ã—ãªã„ã§ãã ã•ã„。 .. hint:: 上記ã§ã¯Hadoopジョブã®å®Ÿè¡Œã¨ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¸ãƒ§ãƒ–ã®å®Ÿè¡Œã«ãã‚Œãžã‚Œãƒªã‚½ãƒ¼ã‚¹ã‚’1ã¤ãšã¤å‰²ã‚Šå½“ã¦ã‚‹è¨å®šæ–¹æ³•ã‚’説明ã—ã¦ã„ã¾ã™ãŒã€ :doc:`multi-dispatch` ã§èª¬æ˜Žã™ã‚‹ ``asakusa-yaess-multidispatch`` を使ã†ã“ã¨ã§ã€ä¾‹ãˆã°Hadoopジョブã®å®Ÿè¡Œã®ä¸ã§è¤‡æ•°ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’è¨å®šã—ã€ãã‚Œãžã‚Œå€‹åˆ¥ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«è¨å®šã‚’è¡Œã†ã€ã¨ã„ã£ãŸä½¿ã„方もå¯èƒ½ã«ãªã£ã¦ã„ã¾ã™ã€‚ .. [#] `Hadoopジョブã®å®Ÿè¡Œ`_ ã‚’å‚ç…§ .. [#] `コマンドラインジョブã®å®Ÿè¡Œ`_ ã‚’å‚ç…§ ãƒãƒƒãƒå®Ÿè¡Œã®ãƒãƒƒã‚¯ ------------------ YAESSã§ã¯ãƒãƒƒãƒã‚’実行ã™ã‚‹éš›ã«ã€ã»ã‹ã®ãƒãƒƒãƒã®å®Ÿè¡Œã‚’抑制ã™ã‚‹ãƒãƒƒã‚¯ã®ä»•çµ„ã¿ãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚ YAESS上ã§Hadoopã«é–¢ã™ã‚‹è¨å®šã‚’è¡Œã†ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«å†…ã® ``lock`` セクションã®å†…容を編集ã—ã¾ã™ã€‚ .. note:: ç¾åœ¨ã®YAESSã«ã¯ã€ `åŒä¸€ç’°å¢ƒä¸Šã®ãƒãƒƒãƒå®Ÿè¡Œã‚’抑制ã™ã‚‹ãƒãƒƒã‚¯`_ ã®ã¿ãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚ åŒä¸€ç’°å¢ƒä¸Šã®ãƒãƒƒãƒå®Ÿè¡Œã‚’抑制ã™ã‚‹ãƒãƒƒã‚¯ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ YAESSを実行ä¸ã®ã‚³ãƒ³ãƒ”ューターã§ã€ã»ã‹ã®YAESSã®å®Ÿè¡Œã‚’抑制ã™ã‚‹ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``lock`` セクションã«ä»¥ä¸‹ã®å†…容を指定ã—ã¾ã™ã€‚ .. list-table:: åŒä¸€ç’°å¢ƒä¸Šã®ãƒãƒƒãƒå®Ÿè¡Œã‚’抑制ã™ã‚‹éš›ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``lock`` - ``com.asakusafw.yaess.basic.BasicLockProvider`` * - ``lock.directory`` - ãƒãƒƒã‚¯ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¿å˜å…ˆãƒ‘ス 上記ã®ã†ã¡ã€ ``lock.directory`` ã«ã¯ `環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ ãƒãƒƒã‚¯ã®ã‚¹ã‚³ãƒ¼ãƒ— ~~~~~~~~~~~~~~~~ ãƒãƒƒã‚¯ã«ã¯å®Ÿè¡Œã‚’抑制ã™ã‚‹ç¯„囲を表ã™ã€Œã‚¹ã‚³ãƒ¼ãƒ—ã€ã‚’指定ã§ãã¾ã™ã€‚ ã“ã‚Œã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``lock`` セクションã«ä»¥ä¸‹ã®å†…å®¹ã‚’è¿½åŠ ã—ã¾ã™ã€‚ .. list-table:: ãƒãƒƒã‚¯ã®ã‚¹ã‚³ãƒ¼ãƒ—を指定ã™ã‚‹éš›ã®è¨å®š :widths: 10 20 :header-rows: 1 * - åå‰ - 値 * - ``lock.scope`` - スコープã®ç¨®é¡ž スコープã®ç¨®é¡žã«ã¯ä»¥ä¸‹ã®ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ .. list-table:: ãƒãƒƒã‚¯ã‚¹ã‚³ãƒ¼ãƒ—ã®ç¨®é¡ž :widths: 10 60 :header-rows: 1 * - スコープ - 値 * - ``world`` - ãƒãƒƒãƒå®Ÿè¡Œä¸ã¯ä»–ã®ä»»æ„ã®ãƒãƒƒãƒã‚’åŒæ™‚ã«å®Ÿè¡Œã—ãªã„ * - ``batch`` - åŒã˜ãƒãƒƒãƒã‚’åŒæ™‚ã«2ã¤ä»¥ä¸Šå®Ÿè¡Œã—ãªã„ * - ``flow`` - åŒã˜ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã‚’åŒæ™‚ã«2ã¤ä»¥ä¸Šå®Ÿè¡Œã—ãªã„ * - ``execution`` - åŒã˜å®Ÿè¡ŒIDã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã‚’åŒæ™‚ã«2ã¤ä»¥ä¸Šå®Ÿè¡Œã—ãªã„ ãªãŠã€ã‚¹ã‚³ãƒ¼ãƒ—ã®æŒ‡å®šãŒãªã„å ´åˆã€ ``execution`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¨åŒæ§˜ã®å‹•ãã‚’ã—ã¾ã™ã€‚ ãƒãƒƒãƒå®Ÿè¡Œã®ãƒ¢ãƒ‹ã‚¿ ------------------ YAESSã«ã¯ã€å®Ÿè¡Œä¸ã®ãƒãƒƒãƒã®é€²æ—状æ³ã‚’監視ã—ãŸã‚Šã€ã¾ãŸã¯ãã®å®Ÿè¡Œã‚’ã‚ャンセルã—ãŸã‚Šã™ã‚‹ãŸã‚ã®ãƒ¢ãƒ‹ã‚¿ãƒ¼ã®æ©Ÿèƒ½ãŒæä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚ ã“ã®ãƒ¢ãƒ‹ã‚¿ã«é–¢ã™ã‚‹è¨å®šã‚’è¡Œã†ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«å†…ã® ``monitor`` セクションã®å†…容を編集ã—ã¾ã™ã€‚ 進æ—ãƒã‚°ã‚’出力ã™ã‚‹ãƒ¢ãƒ‹ã‚¿ ~~~~~~~~~~~~~~~~~~~~~~~~ ãƒãƒƒãƒå†…ã®ãã‚Œãžã‚Œã®ãƒ•ã‚§ãƒ¼ã‚ºã®é€²æ—状æ³ã‚’ãƒã‚°ã«å‡ºåŠ›ã™ã‚‹ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``monitor`` セクションã«ä»¥ä¸‹ã®å†…容をè¨å®šã—ã¾ã™ã€‚ .. list-table:: 進æ—ãƒã‚°ã‚’出力ã™ã‚‹ãƒ¢ãƒ‹ã‚¿ã‚’利用ã™ã‚‹éš›ã®è¨å®š :widths: 3 7 :header-rows: 1 * - åå‰ - 値 * - ``monitor`` - ``com.asakusafw.yaess.basic.BasicMonitorProvider`` * - ``monitor.stepUnit`` - ãƒã‚°ã‚’出力ã™ã‚‹é€²æ—ã®å˜ä½ (0.0 ~ 1.0) ``monitor.stepUnit`` ã¯ã€ãƒ•ã‚§ãƒ¼ã‚ºã®é€²æ—度ãŒå¤‰åŒ–ã—ãŸéš›ã«ã€ãƒã‚°ã«å‡ºåŠ›ã™ã‚‹å˜ä½ã§ã™ã€‚ ã“ã®å€¤ã¯0以上1以下ã§æŒ‡å®šã—ã€é€²æ—度ãŒæŒ‡å®šã•ã‚ŒãŸå˜ä½ã‚’超ãˆãŸéš›ã«ãƒã‚°ã«çŠ¶æ…‹ã‚’出力ã—ã¾ã™ (0ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ãƒã‚°ã‚’出力ã—ã¾ã›ã‚“)。 ãŸã¨ãˆã°ã€ã“ã®å€¤ã« ``0.05`` ã¨æŒ‡å®šã—ãŸå ´åˆã€é€²æ—ãƒã‚°ã¯æœ€ä½Žã§ã‚‚5%å˜ä½ã«ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒ¢ãƒ‹ã‚¿ã¯ã€YAESS本体ã®ãƒã‚°è¨å®šã‚’利用ã—ã¦ãƒã‚°ã‚’出力ã—ã¦ã„ã¾ã™ã€‚ YAESS本体ã®ãƒã‚°è¨å®šã¯ `YAESSã®ãƒã‚°è¨å®š`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 ジョブフãƒãƒ¼ã”ã¨ã«é€²æ—状æ³ã‚’個別ファイルã«å‡ºåŠ›ã™ã‚‹ãƒ¢ãƒ‹ã‚¿ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ãƒãƒƒãƒå†…ã®ãã‚Œãžã‚Œã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®é€²æ—状æ³ã‚’個別ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«å‡ºåŠ›ã™ã‚‹ã«ã¯ã€ ``asakusa-yaess-flowlog`` プラグインを利用ã—ã¾ã™ã€‚ プラグインã«ã¤ã„ã¦ã¯ `プラグインライブラリã®ç®¡ç†`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 ã“ã®ãƒ¢ãƒ‹ã‚¿ã‚’利用ã™ã‚‹ã«ã¯ã€æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã® ``monitor`` セクションã«ä»¥ä¸‹ã®å†…容をè¨å®šã—ã¾ã™ã€‚ .. list-table:: ジョブフãƒãƒ¼ã”ã¨ã«é€²æ—状æ³ã‚’個別ファイルã«å‡ºåŠ›ã™ã‚‹éš›ã®è¨å®š :widths: 10 15 20 :header-rows: 1 * - åå‰ - 既定値 - 値 * - ``monitor`` - (ãªã—) - ``com.asakusafw.yaess.flowlog.FlowLoggerProvider`` * - ``monitor.directory`` - (ãªã—) - ファイルã®å‡ºåŠ›å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª * - ``monitor.encoding`` - ``UTF-8`` - ファイル出力時ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° * - ``monitor.stepUnit`` - ``0.0`` - ãƒã‚°ã‚’出力ã™ã‚‹é€²æ—ã®å˜ä½ (0.0 ~ 1.0) * - ``monitor.dateFormat`` - ``yyyy-MM-dd HH:mm:ss`` - 時刻ã®å½¢å¼ * - ``monitor.reportJob`` - ``true`` - ジョブã®é€²æ—状æ³ã‚‚ファイルã«å‡ºåŠ›ã™ã‚‹ * - ``monitor.deleteOnSetup`` - ``true`` - ジョブフãƒãƒ¼é–‹å§‹æ™‚ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã™ã‚‹ * - ``monitor.deleteOnCleanup`` - ``true`` - ジョブフãƒãƒ¼æ£å¸¸çµ‚了時ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã™ã‚‹ ``monitor.directory`` ã¯ã€å‡ºåŠ›å…ˆã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚ :file:`<出力先ディレクトリ>/<ãƒãƒƒãƒID>/logs/<フãƒãƒ¼ID>` ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã«é€²æ—状æ³ã‚’書ã出ã—ã¾ã™ã€‚ ``monitor.stepUnit`` ã¯ã€ãƒ•ã‚§ãƒ¼ã‚ºã®é€²æ—度ãŒå¤‰åŒ–ã—ãŸéš›ã«ãƒ•ã‚¡ã‚¤ãƒ«ã«é€”ä¸çµŒéŽã‚’出力ã™ã‚‹å˜ä½ã§ã™ã€‚ `進æ—ãƒã‚°ã‚’出力ã™ã‚‹ãƒ¢ãƒ‹ã‚¿`_ ã¨åŒæ§˜ã®è¨å®šã‚’è¡Œãˆã¾ã™ã€‚ ``monitor.dateFormat`` 㯠``SimpleDateFormat`` [#]_ ã¨åŒæ§˜ã®å½¢å¼ã‚’指定ã—ã¾ã™ã€‚ ã“ã“ã§æŒ‡å®šã•ã‚ŒãŸæ—¥æ™‚ã®å½¢å¼ã‚’利用ã—ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã«ãã‚Œãžã‚Œã®çŠ¶æ³ã‚’記録ã—ã¾ã™ã€‚ ``monitor.reportJob`` 㯠``true`` ã¾ãŸã¯ ``false`` ã®å½¢å¼ã§æŒ‡å®šã—ã¾ã™ã€‚ ``false`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ã€ã‚¸ãƒ§ãƒ–フãƒãƒ¼å†…ã®ãã‚Œãžã‚Œã®ãƒ•ã‚§ãƒ¼ã‚ºã«é–¢ã™ã‚‹é€²æ—状æ³ãŒãƒ•ã‚¡ã‚¤ãƒ«ã«è¨˜éŒ²ã•ã‚Œã¾ã™ã€‚ ``true`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ã•ã‚‰ã«ãã‚Œãžã‚Œã®ã‚¸ãƒ§ãƒ–ã®é–‹å§‹ã¨çµ‚了も併ã›ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã«è¨˜éŒ²ã•ã‚Œã¾ã™ã€‚ ãŸã ã—ã€ã‚¸ãƒ§ãƒ–内ã§ç™ºç”Ÿã—ãŸã‚¨ãƒ©ãƒ¼ã¯ã„ãšã‚Œã®è¨å®šã§ã‚‚記録ã•ã‚Œã¾ã™ã€‚ ``monitor.deleteOnSetup`` 㯠``true`` ã¾ãŸã¯ ``false`` ã®å½¢å¼ã§æŒ‡å®šã—ã¾ã™ã€‚ ``true`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ ``setup`` フェーズ開始直å‰ã«å¯¾å¿œã™ã‚‹é€²æ—状æ³ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã—ã¾ã™ã€‚ ``false`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ ``setup`` フェーズ開始時ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã›ãšã€è¿½è¨˜ãƒ¢ãƒ¼ãƒ‰ã§ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ãã¾ã™ã€‚ ``monitor.deleteOnCleanup`` 㯠``true`` ã¾ãŸã¯ ``false`` ã®å½¢å¼ã§æŒ‡å®šã—ã¾ã™ã€‚ ``true`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ ``cleanup`` フェーズæ£å¸¸çµ‚了時ã«é€²æ—状æ³ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã—ã¾ã™ã€‚ ``false`` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã«ã¯ ``cleanup`` フェーズæ£å¸¸çµ‚了時ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ :file:`<出力先ディレクトリ>/<ãƒãƒƒãƒID>/cleanup/<フãƒãƒ¼ID>` ã«ç§»å‹•ã—ã¾ã™ã€‚ 上記ã®ã†ã¡ã€ ``monitor.directory`` ã«ã¯ `環境変数ã®åˆ©ç”¨`_ ãŒã§ãã¾ã™ã€‚ .. hint:: ``cleanup`` フェーズã¯ã‚¸ãƒ§ãƒ–フãƒãƒ¼ãŒé€”ä¸ã§å¤±æ•—ã—ãŸéš›ã«ã¯å®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。 ãã®ãŸã‚ã€ã‚¸ãƒ§ãƒ–フãƒãƒ¼å†…ã§ä»»æ„ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã€è¨å®šã«ã‚ˆã‚‰ãš ``<出力先ディレクトリ>/<ãƒãƒƒãƒID>/logs/<フãƒãƒ¼ID>`` ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ®‹ã£ãŸçŠ¶æ…‹ã«ãªã‚Šã¾ã™ã€‚ ãã‚Œãžã‚Œã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ãŒã©ã“ã¾ã§é€²ã‚“ã ã‹ã‚’把æ¡ã—ãŸã„å ´åˆã€ã“ã®ãƒ¢ãƒ‹ã‚¿ãŒæœ‰åŠ¹ã§ã™ã€‚ .. hint:: `進æ—ãƒã‚°ã‚’出力ã™ã‚‹ãƒ¢ãƒ‹ã‚¿`_ ã¨ã¯ç•°ãªã‚Šã€ä¸Šè¨˜ã®ãƒ¢ãƒ‹ã‚¿ã¯YAESS本体ã®ãƒã‚°è¨å®šã«å½±éŸ¿ã•ã‚Œã¾ã›ã‚“。 ãã‚Œãžã‚Œã®é€²æ—状æ³ã¯ ``<日時> [<レベル>:<コード>] <メッセージ>...`` ã®å½¢å¼ã§ãƒ•ã‚¡ã‚¤ãƒ«å†…ã«è¨˜è¼‰ã•ã‚Œã¾ã™ã€‚ ``<レベル>`` ã¯ æƒ…å ±ãƒ¬ãƒ™ãƒ«ã‚’è¡¨ã™ ``INFO`` , è¦å‘Šãƒ¬ãƒ™ãƒ«ã‚’表㙠``WARN`` , エラーレベルを表㙠``ERROR`` ã®ã„ãšã‚Œã‹ã§ã€ ``<コード>`` ã¯çŠ¶æ³ã«å¿œã˜ã¦ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã‚’利用ã—ã¾ã™ã€‚ .. list-table:: ジョブフãƒãƒ¼ã”ã¨ã«é€²æ—状æ³ã‚’個別ファイルã«å‡ºåŠ›ã™ã‚‹ãƒ¢ãƒ‹ã‚¿ã®ãƒã‚°ã‚³ãƒ¼ãƒ‰ :widths: 5 5 :header-rows: 1 * - コード - æ¦‚è¦ * - ``START-<フェーズå>-PHASE`` - `<フェーズå>` ã®ãƒ•ã‚§ãƒ¼ã‚ºãŒé–‹å§‹ã—㟠* - ``STEP-<フェーズå>-PHASE`` - `<フェーズå>` ã®ãƒ•ã‚§ãƒ¼ã‚ºãŒä¸€å®šä»¥ä¸Šé€²æ—ã—㟠* - ``FINISH-<フェーズå>-PHASE`` - `<フェーズå>` ã®ãƒ•ã‚§ãƒ¼ã‚ºãŒçµ‚了ã—㟠* - ``START-<フェーズå>-JOB`` - `<フェーズå>` 内ã§ã‚¸ãƒ§ãƒ–ãŒé–‹å§‹ã—㟠* - ``FINISH-<フェーズå>-JOB`` - `<フェーズå>` 内ã§ã‚¸ãƒ§ãƒ–ãŒçµ‚了ã—㟠ãã‚Œãžã‚Œã®ãƒ•ã‚§ãƒ¼ã‚ºã«ã¤ã„ã¦è©³ã—ã㯠`ジョブã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒªãƒ³ã‚°`_ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 .. [#] ``java.text.SimpleDateFormat`` ãã®ä»–ã®YAESSã®è¨å®š =================== 構æˆãƒ•ã‚¡ã‚¤ãƒ«ã®ã»ã‹ã«ã‚‚ã€ã„ãã¤ã‹YAESSã®å®Ÿè¡Œã«é–¢ã™ã‚‹è¨å®šãŒã‚ã‚Šã¾ã™ã€‚ YAESSã®ç’°å¢ƒå¤‰æ•°è¨å®š ------------------- YAESSã®å®Ÿè¡Œã«ç‰¹åˆ¥ãªç’°å¢ƒå¤‰æ•°ã‚’利用ã™ã‚‹å ´åˆã€ :file:`$ASAKUSA_HOME/yaess/conf/env.sh` 内ã§ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã—ã¦å®šç¾©ã§ãã¾ã™ã€‚ YAESSを利用ã™ã‚‹å ´åˆã€ä»¥ä¸‹ã®ç’°å¢ƒå¤‰æ•°ãŒå¿…è¦ã§ã™ã€‚ .. list-table:: YAESSã®å®Ÿè¡Œã«å¿…è¦ãªç’°å¢ƒå¤‰æ•° :widths: 10 60 :header-rows: 1 * - åå‰ - 備考 * - ``ASAKUSA_HOME`` - Asakusaã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å…ˆãƒ‘ス。 特別ãªç†ç”±ãŒãªã„é™ã‚Šã€ ``ASAKUSA_HOME`` ã¯YAESSを実行ã™ã‚‹å‰ã«ã‚らã‹ã˜ã‚定義ã—ã¦ãŠã„ã¦ãã ã•ã„。 :file:`$ASAKUSA_HOME/yaess/conf/env.sh` ã§ã¯ã€ãã®ä»–å¿…è¦ãªç’°å¢ƒå¤‰æ•°ã‚’定義ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 ã¾ãŸã€ç‰¹åˆ¥ãªç’°å¢ƒå¤‰æ•°ã¨ã—ã¦ä»¥ä¸‹ã‚’利用ã§ãã¾ã™ã€‚ .. list-table:: YAESSã§åˆ©ç”¨å¯èƒ½ãªç’°å¢ƒå¤‰æ•° :widths: 10 60 :header-rows: 1 * - åå‰ - 備考 * - ``YAESS_OPTS`` - YAESSを実行ã™ã‚‹Java VMã®è¿½åŠ オプション。 YAESSã®ãƒã‚°è¨å®š --------------- YAESSã¯å†…部ã®ãƒã‚°è¡¨ç¤ºã« ``SLF4J`` [#]_ ã€ãŠã‚ˆã³ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã« ``Logback`` [#]_ を利用ã—ã¦ã„ã¾ã™ã€‚ ãƒã‚°ã®è¨å®šã‚’変更ã™ã‚‹ã«ã¯ã€ :file:`$ASAKUSA_HOME/yaess/conf/logback.xml` を編集ã—ã¦ãã ã•ã„。 ã¾ãŸã€YAESSã®å®Ÿè¡Œæ™‚ã«ã¯ä»¥ä¸‹ã®å€¤ãŒã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティã¨ã—ã¦è¨å®šã•ã‚Œã¾ã™ã€‚ .. list-table:: YAESS実行時ã®ã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティ :widths: 10 15 :header-rows: 1 * - åå‰ - 値 * - ``com.asakusafw.yaess.log.batchId`` - ãƒãƒƒãƒID Logback以外ã®ãƒã‚°ã®ä»•çµ„ã¿ã‚’利用ã™ã‚‹å ´åˆã€ :file:`$ASAKUSA_HOME/yaess/lib` ã«ã‚ã‚‹Logback関連ã®ãƒ©ã‚¤ãƒ–ラリを置æ›ã—ãŸä¸Šã§ã€è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’ :file:`$ASAKUSA_HOME/yaess/conf` ãªã©ã«é…ç½®ã—ã¾ã™ (ã“ã“ã¯å®Ÿè¡Œæ™‚ã«ã‚¯ãƒ©ã‚¹ãƒ‘スã¨ã—ã¦è¨å®šã•ã‚Œã¾ã™)。 .. attention:: YAESSã‹ã‚‰èµ·å‹•ã•ã‚Œã‚‹Hadoopã‚„ã€WindGateãªã©ã¯ã€ãã‚Œãžã‚Œã®ãƒã‚°è¨å®šã‚’利用ã—ã¾ã™ã€‚ ã“ã“ã§ã®è¨å®šã¯ã€ã‚ãã¾ã§YAESS本体ã®ã¿ã®ã‚‚ã®ã§ã™ã€‚ .. [#] http://www.slf4j.org/ .. [#] http://logback.qos.ch/ プラグインライブラリã®ç®¡ç† -------------------------- YAESSã®ã„ãã¤ã‹ã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹ã«ã¯ã€è¿½åŠ ã®ãƒ—ラグインライブラリãŒå¿…è¦ã«ãªã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ ãã®ã‚ˆã†ãªæ©Ÿèƒ½ã‚’利用ã™ã‚‹å ´åˆã€å¿…è¦ãªãƒ©ã‚¤ãƒ–ラリを :file:`$ASAKUSA_HOME/yaess/plugin` ディレクトリ直下ã«é…ç½®ã—ã¦ãã ã•ã„。 標準的ãªãƒ—ラグインã¯YAESS導入時ã«è‡ªå‹•çš„ã«ãƒ—ラグインãŒè¿½åŠ ã•ã‚Œã¾ã™ãŒã€ãã®ä»–ã®ãƒ—ラグインã¯æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã—ã¦æä¾›ã•ã‚Œã‚‹ãŸã‚ã€å¿…è¦ã«å¿œã˜ã¦æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’å°Žå…¥ã—ã¦ãã ã•ã„。 .. seealso:: 拡張モジュールã®ä¸€è¦§ã‚„ãã®å°Žå…¥æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€ :doc:`../application/gradle-plugin` ã‚„ :doc:`../administration/deployment-guide` ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 標準プラグインライブラリ ~~~~~~~~~~~~~~~~~~~~~~~~ Asakusa Frameworkã®ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã«ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®YAESS用プラグインライブラリã¨ã—ã¦ã€ã‚らã‹ã˜ã‚以下ã®ãƒ—ラグインライブラリã¨ã€ãƒ—ラグインライブラリãŒä½¿ç”¨ã™ã‚‹ä¾å˜ãƒ©ã‚¤ãƒ–ラリãŒåŒæ¢±ã•ã‚Œã¦ã„ã¾ã™ã€‚ .. list-table:: YAESS標準プラグインライブラリ :widths: 4 6 :header-rows: 1 * - プラグインライブラリ - 説明 * - ``asakusa-yaess-paralleljob`` - ジョブを並列実行ã®ãŸã‚ã®ãƒ—ラグイン * - ``asakusa-yaess-jsch`` - SSH経由ã§ã‚¸ãƒ§ãƒ–ã‚’èµ·å‹•ã™ã‚‹ãŸã‚ã®ãƒ—ラグイン * - ``jsch`` - ``asakusa-yaess-jsch`` ãŒä¾å˜ã™ã‚‹SSH接続用ライブラリ * - ``asakusa-yaess-flowlog`` - ジョブフãƒãƒ¼ã”ã¨ã«é€²æ—状æ³ã‚’個別ファイルã«å‡ºåŠ›ã™ã‚‹ãŸã‚ã®ãƒ—ラグイン * - ``asakusa-yaess-multidispatch`` - ジョブã®å®Ÿè¡Œã‚¯ãƒ©ã‚¹ã‚¿ãƒ¼ã®æŒ¯ã‚Šåˆ†ã‘ã‚’è¡Œã†ãŸã‚ã®ãƒ—ラグイン YAESSã«ã‚ˆã‚‹ãƒãƒƒãƒã®å®Ÿè¡Œ ======================= YAESSã® `プãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚»ãƒƒãƒˆ`_ を作æˆã—終ãˆãŸã‚‰ã€ãれを利用ã—ã¦ãƒãƒƒãƒã‚¢ãƒ—リケーションを実行ã—ã¾ã™ã€‚ ãƒãƒƒãƒã‚¢ãƒ—リケーションã®ãƒ‡ãƒ—ãƒã‚¤ -------------------------------- YAESSを利用ã—ã¦ãƒãƒƒãƒã‚¢ãƒ—リケーションを実行ã™ã‚‹å ´åˆã€YAESSを実行ã™ã‚‹ç’°å¢ƒä¸Šã«åŒã‚¢ãƒ—リケーションをデプãƒã‚¤ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ .. seealso:: é‹ç”¨ç’°å¢ƒã®ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã«é–¢ã—ã¦ã¯ã€ :doc:`../administration/deployment-guide` ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 実行計画ã®ç¢ºèª -------------- ãƒãƒƒãƒã‚¢ãƒ—リケーション用ã®ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã«ã¯ã€ãƒãƒƒãƒã‚¢ãƒ—リケーション毎ã«YAESS用ã®ãƒ¯ãƒ¼ã‚¯ãƒ•ãƒãƒ¼è¨˜è¿°ã¨ã—ã¦YAESSスクリプト ( :file:`<ãƒãƒƒãƒID>/etc/yaess-script.properties` )ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ãŒå«ã¾ã‚Œã¾ã™ã€‚ YAESSã¯YAESSスクリプトã®å®šç¾©å†…容ã«åŸºã¥ã„ã¦ãƒãƒƒãƒã‚¢ãƒ—リケーションを実行ã—ã¾ã™ã€‚ YAESSスクリプトã¯ãƒãƒƒãƒå…¨ä½“ã®ãƒ¯ãƒ¼ã‚¯ãƒ•ãƒãƒ¼ã®æ§‹é€ ã‚’YAESSå‘ã‘ã«è¡¨ã—ã¦ã„ã¾ã™ã€‚ YAESSスクリプトã®å†…容を確èªã™ã‚‹ã«ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‹ã‚‰ :program:`$ASAKUSA_HOME/yaess/bin/yaess-explain.sh <YAESSスクリプトã®ãƒ‘ス>` ã¨å…¥åŠ›ã—ã¾ã™ã€‚ ãªãŠã€YAESSスクリプトã®ãƒ‘スã¯ã€é€šå¸¸ :file:`$ASAKUSA_HOME/batchapps/<ãƒãƒƒãƒID>/etc/yaess-script.properties` ã§ã™ã€‚ ã¾ãŸã€ã‚¢ãƒ—リケーションã®é…ç½®å‰ã§ã‚ã‚Œã°ã€ :file:`<コンパイラã®å‡ºåŠ›å…ˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª>/<ãƒãƒƒãƒID>/etc/yaess-script.properties` を指定ã—ã¦ãã ã•ã„。 ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã€ãƒãƒƒãƒã®æ§‹é€ をフェーズã®å˜ä½ã¾ã§åˆ†è§£ã—ã¦ã€JSONå½¢å¼ã§è¡¨ç¤ºã—ã¾ã™ã€‚ 通常ã€ãƒãƒƒãƒã¯è¤‡æ•°ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã¨ã€ã•ã‚‰ã«è¤‡æ•°ã®ãƒ•ã‚§ãƒ¼ã‚ºã‹ã‚‰æ§‹æˆã•ã‚Œã¦ã„ã¾ã™ã€‚ 以下ã¯ã‚³ãƒžãƒ³ãƒ‰ã®å‡ºåŠ›çµæžœã®ä¾‹ã§ã™ã€‚ .. code-block:: json :caption: yaess-script.properties :name: yaess-script.properties-yaess-user-guide-1 { "id": "example.summarizeSales", "jobflows": [ { "id": "byCategory", "blockers": [], "phases": [ "setup", "import", "main", "epilogue", "export", "finalize", "cleanup" ] } ] } JSONオブジェクトã®ãƒˆãƒƒãƒ—レベルã¯ãƒãƒƒãƒå…¨ä½“を表ã—ã¦ã„ã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ãªæ§‹é€ ã«ãªã£ã¦ã„ã¾ã™ã€‚ .. list-table:: 実行計画ã®æ§‹é€ (ãƒãƒƒãƒ) :widths: 10 40 :header-rows: 1 * - åå‰ - 値 * - ``id`` - ãƒãƒƒãƒID * - ``jobflows`` - ãƒãƒƒãƒå†…ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®ä¸€è¦§ ã¾ãŸã€ãã‚Œãžã‚Œã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ ( ``jobflows`` ) ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªæ§‹é€ ã«ãªã£ã¦ã„ã¾ã™ã€‚ .. list-table:: 実行計画ã®æ§‹é€ (ジョブフãƒãƒ¼) :widths: 10 60 :header-rows: 1 * - åå‰ - 値 * - ``id`` - フãƒãƒ¼ID * - ``blockers`` - ã“ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®å®Ÿè¡Œã®å‰æã¨ãªã‚‹ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®ID一覧 * - ``phases`` - ã“ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã«å«ã¾ã‚Œã‚‹ãƒ•ã‚§ãƒ¼ã‚ºä¸€è¦§ã€‚ ãƒãƒƒãƒå…¨ä½“ã®å®Ÿè¡Œ ---------------- ãƒãƒƒãƒã‚¢ãƒ—リケーション全体を実行ã™ã‚‹ã«ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‹ã‚‰ :program:`$ASAKUSA_HOME/yaess/bin/yaess-batch.sh <ãƒãƒƒãƒID>` ã¨å…¥åŠ›ã—ã¾ã™ã€‚ ã¾ãŸã€ãƒãƒƒãƒã«èµ·å‹•å¼•æ•°ã‚’指定ã™ã‚‹å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®æœ«å°¾ã« ``-A <変数å>=<値>`` ã®ã‚ˆã†ã«è¨˜è¿°ã—ã¾ã™ã€‚ .. code-block:: sh $ASAKUSA_HOME/yaess/bin/yaess-batch.sh example.summarizeSales -A date=2011-04-01 出力ã®æœ€å¾Œã« ``Finished: SUCCESS`` ã¨è¡¨ç¤ºã•ã‚Œã‚Œã°ãƒãƒƒãƒå‡¦ç†ã¯æˆåŠŸã§ã™ã€‚ ãªãŠã€ãƒãƒƒãƒå‡¦ç†ã®çµæžœã¯ã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了コードã§ã‚‚確èªã§ãã¾ã™ã€‚ YAESSã§ã¯Unixã®æ–¹å¼ã«å¾“ã„ã€æ£å¸¸çµ‚了ã®å ´åˆã¯ ``0`` , ãれ以外ã®å ´åˆã¯ ``0`` ã§ãªã„終了コードを返ã—ã¾ã™ã€‚ .. code-block:: sh Starting YAESS Profile: /home/asakusa/asakusa/yaess/conf/yaess.properties Script: /home/asakusa/asakusa/batchapps/example.summarizeSales/etc/yaess-script.properties Batch ID: example.summarizeSales ... Finished: SUCCESS ãªãŠã€å„ジョブフãƒãƒ¼ã® ``initialize`` フェーズã‹ã‚‰ ``finalize`` フェーズã¾ã§ã«ä¾‹å¤–ãŒç™ºç”Ÿã—ãŸå ´åˆã€YAESSã¯å³åº§ã« ``finalize`` フェーズã®å®Ÿè¡Œã‚’試ã¿ãŸå¾Œã€ãƒãƒƒãƒã®å®Ÿè¡Œã‚’異常終了ã•ã›ã¾ã™ã€‚ ``finalize`` フェーズã§ã¯ã‚¢ãƒ—リケーションãŒä¸å®‰å®šã«ãªã‚‰ãªã„よã†ã«ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ãªã©ã®å‡¦ç†ãŒè¡Œã‚ã‚Œã¾ã™ãŒã€ã“ã“ã§ã‚‚失敗ã—ãŸå ´åˆã«ã¯ `フェーズå˜ä½ã®å®Ÿè¡Œ`_ 㧠``finalize`` フェーズを個別ã«å®Ÿè¡Œã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ ジョブフãƒãƒ¼ã®ã‚¹ã‚ップ ~~~~~~~~~~~~~~~~~~~~~~ ãƒãƒƒãƒã«å«ã¾ã‚Œã‚‹ä¸€éƒ¨ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®å®Ÿè¡Œã‚’çœç•¥ã—ã¦ãƒãƒƒãƒã‚’実行ã—ãŸã„å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®æœ«å°¾ã« ``-D skipFlows=<フãƒãƒ¼ID>`` ã®ã‚ˆã†ã«ã€çœç•¥ã—ãŸã„ジョブフãƒãƒ¼ã®ãƒ•ãƒãƒ¼IDを指定ã—ã¾ã™ã€‚ 複数ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã‚’çœç•¥ã™ã‚‹å ´åˆã€ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã§ ``-D skipFlows=<フãƒãƒ¼ID>,<フãƒãƒ¼ID>,...`` ã®ã‚ˆã†ã«ãã‚Œãžã‚ŒæŒ‡å®šã—ã¾ã™ã€‚ 以下ã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®ä¾‹ã§ã™ã€‚ ãƒãƒƒãƒ ``ex`` 全体を実行ã—ã¾ã™ãŒã€ã‚¸ãƒ§ãƒ–フãƒãƒ¼ ``first`` 㨠``second`` ã®å®Ÿè¡Œã‚’çœç•¥ã—ã¾ã™ã€‚ .. code-block:: sh $ASAKUSA_HOME/yaess/bin/yaess-batch.sh ex -A code=123 -D skipFlows=first,second .. hint:: 上記ã®æ©Ÿèƒ½ã¯ã€ãƒãƒƒãƒã®é€”ä¸ã§ä¸€éƒ¨ã®ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®å‡¦ç†ãŒå¤±æ•—ã—ãŸéš›ã«ã€é€”ä¸ã‹ã‚‰ãƒãƒƒãƒã‚’実行ã™ã‚‹éš›ã«åˆ©ç”¨ã§ãã¾ã™ã€‚ ジョブフãƒãƒ¼å˜ä½ã®å®Ÿè¡Œ ---------------------- ãƒãƒƒãƒã‚’ジョブフãƒãƒ¼å˜ä½ã§éƒ¨åˆ†çš„ã«å®Ÿè¡Œã™ã‚‹ã«ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‹ã‚‰ :program:`$ASAKUSA_HOME/yaess/bin/yaess-flow.sh <ãƒãƒƒãƒID> <フãƒãƒ¼ID> <実行ID>` ã¨å…¥åŠ›ã—ã¾ã™ã€‚ ã¾ãŸã€ `ãƒãƒƒãƒå…¨ä½“ã®å®Ÿè¡Œ`_ ã¨åŒæ§˜ã«ã€ ``-A <変数å>=<値>`` ã¨ã„ã†å½¢å¼ã§å¼•æ•°ã‚’ã„ãã¤ã‚‚指定ã§ãã¾ã™ã€‚ ãã‚Œãžã‚Œã®å€¤ã¯æ¬¡ã®ã‚ˆã†ãªæ„味をæŒã¡ã¾ã™ã€‚ ãƒãƒƒãƒID ãƒãƒƒãƒã®ID。 Asakusa DSL内㧠``@Batch(name = "...")`` [#]_ ã¨ã—ã¦æŒ‡å®šã—ãŸåå‰ã‚’利用ã™ã‚‹ã€‚ フãƒãƒ¼ID ジョブフãƒãƒ¼ã®ID。 Asakusa DSL内㧠``@JobFlow(name = "...")`` [#]_ ã¨ã—ã¦æŒ‡å®šã—ãŸåå‰ã‚’利用ã™ã‚‹ã€‚ 実行ID ジョブフãƒãƒ¼ã®å®Ÿè¡Œã”ã¨ã®ID。 ワーã‚ングディレクトリã®ç‰¹å®šã‚„ã€ãƒãƒ³ã‚°ãƒ©ãƒ³ãƒ‹ãƒ³ã‚°ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®IDã¨ã—ã¦åˆ©ç”¨ã™ã‚‹ã€‚ åŒã˜ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®ãã‚Œãžã‚Œã®ãƒ•ã‚§ãƒ¼ã‚ºã§åŒã˜ã‚‚ã®ã‚’利用ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŒã€åŒã˜ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã§ã‚‚実行ã®ãŸã³ã«ç•°ãªã‚‹ã‚‚ã®ã‚’指定ã™ã‚‹å¿…è¦ãŒã‚る。 上記ã®ã†ã¡å®Ÿè¡ŒIDを除ã„ã¦ã¯ã€ `実行計画ã®ç¢ºèª`_ ã®ã‚‚ã®ã¨åŒæ§˜ã§ã™ã€‚ .. [#] :asakusafw-javadoc:`com.asakusafw.vocabulary.batch.Batch` .. [#] :asakusafw-javadoc:`com.asakusafw.vocabulary.flow.JobFlow` フェーズå˜ä½ã®å®Ÿè¡Œ ------------------ ãƒãƒƒãƒã‚’フェーズå˜ä½ã§éƒ¨åˆ†çš„ã«å®Ÿè¡Œã™ã‚‹ã«ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‹ã‚‰ :program:`$ASAKUSA_HOME/yaess/bin/yaess-phase.sh <ãƒãƒƒãƒID> <フãƒãƒ¼ID> <フェーズå> <実行ID>` ã¨å…¥åŠ›ã—ã¾ã™ã€‚ ã¾ãŸã€ `ãƒãƒƒãƒå…¨ä½“ã®å®Ÿè¡Œ`_ ã¨åŒæ§˜ã«ã€ ``-A <変数å>=<値>`` ã¨ã„ã†å½¢å¼ã§å¼•æ•°ã‚’ã„ãã¤ã‚‚指定ã§ãã¾ã™ã€‚ ãã‚Œãžã‚Œã®å€¤ã¯æ¬¡ã®ã‚ˆã†ãªæ„味をæŒã¡ã¾ã™ã€‚ ãƒãƒƒãƒID ãƒãƒƒãƒã®ID。 Asakusa DSL内㧠``@Batch(name = "...")`` ã¨ã—ã¦æŒ‡å®šã—ãŸåå‰ã‚’利用ã™ã‚‹ã€‚ フãƒãƒ¼ID ジョブフãƒãƒ¼ã®ID。 Asakusa DSL内㧠``@JobFlow(name = "...")`` ã¨ã—ã¦æŒ‡å®šã—ãŸåå‰ã‚’利用ã™ã‚‹ã€‚ フェーズå ジョブフãƒãƒ¼å†…ã®ãƒ•ã‚§ãƒ¼ã‚ºå [#]_ 。 実行ID ジョブフãƒãƒ¼ã®å®Ÿè¡Œã”ã¨ã®ID。 ワーã‚ングディレクトリã®ç‰¹å®šã‚„ã€ãƒãƒ³ã‚°ãƒ©ãƒ³ãƒ‹ãƒ³ã‚°ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®IDã¨ã—ã¦åˆ©ç”¨ã™ã‚‹ã€‚ åŒã˜ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®ãã‚Œãžã‚Œã®ãƒ•ã‚§ãƒ¼ã‚ºã§åŒã˜ã‚‚ã®ã‚’利用ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŒã€åŒã˜ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã§ã‚‚実行ã®ãŸã³ã«ç•°ãªã‚‹ã‚‚ã®ã‚’指定ã™ã‚‹å¿…è¦ãŒã‚る。 上記ã®ã†ã¡å®Ÿè¡ŒIDを除ã„ã¦ã¯ã€ `実行計画ã®ç¢ºèª`_ ã®ã‚‚ã®ã¨åŒæ§˜ã§ã™ã€‚ .. attention:: フェーズå˜ä½ã§ãƒãƒƒãƒã‚’実行ã™ã‚‹å ´åˆã€ `åŒä¸€ç’°å¢ƒä¸Šã®ãƒãƒƒãƒå®Ÿè¡Œã‚’抑制ã™ã‚‹ãƒãƒƒã‚¯`_ ãŒå®Ÿè¡Œã®ãŸã³ã«å–å¾—ã•ã‚Œã€å®Ÿè¡Œçµ‚了時ã«é–‹æ”¾ã•ã‚Œã¾ã™ã€‚ 実行ã¨å®Ÿè¡Œã®é–“ã«ã»ã‹ã®ãƒãƒƒãƒã«å‰²ã‚Šè¾¼ã¾ã‚Œã¦ã—ã¾ã†å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã®ã§ã€ã“れより上ä½ã®ä»•çµ„ã¿ã§ã®æŽ’他制御ãŒå¿…è¦ã«ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 .. hint:: `フェーズå˜ä½ã®å®Ÿè¡Œ`_ 機能ã¯ã€ã»ã‹ã®ã‚¸ãƒ§ãƒ–管ç†ã‚·ã‚¹ãƒ†ãƒ ã¨ã®é€£æºã‚’ä¼å›³ã—ã¦ã„ã¾ã™ã€‚ ãã®ãŸã‚ã€ãƒãƒƒãƒå…¨ä½“を手動ã§å®Ÿè¡Œã™ã‚‹å ´åˆã«ã¯ã€åŸºæœ¬çš„ã« `ãƒãƒƒãƒå…¨ä½“ã®å®Ÿè¡Œ`_ ã‚’è¡Œã£ã¦ãã ã•ã„。 .. [#] :program:`yaess-phase.sh` ã§æŒ‡å®šã§ãるフェーズã¯1ã¤ã®ã¿ã§ã™ã€‚ 複数ã®ãƒ•ã‚§ãƒ¼ã‚ºã‚’部分的ã«å®Ÿè¡Œã—ãŸã„å ´åˆã¯ã€ :program:`yaess-phase.sh` ã«ç•°ãªã‚‹ãƒ•ã‚§ãƒ¼ã‚ºã‚’指定ã—ã¦è¤‡æ•°å›žå®Ÿè¡Œã—ã¦ãã ã•ã„。 ãã®ä»–ã®å®Ÿè¡Œã«é–¢ã™ã‚‹æ©Ÿèƒ½ ------------------------ シミュレーションモード ~~~~~~~~~~~~~~~~~~~~~~ 実際ã®å‡¦ç†ã‚’実行ã›ãšã€ç’°å¢ƒæ§‹æˆã‚„è¨å®šã®ç¢ºèªã®ã¿ã‚’è¡Œã„ãŸã„å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®æœ«å°¾ã« ``-D dryRun`` ã¨æŒ‡å®šã—ã¾ã™ã€‚ 以下ã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã®ä¾‹ã§ã™ã€‚ .. code-block:: sh $ASAKUSA_HOME/yaess/bin/yaess-batch.sh ex -A code=123 -D dryRun シミュレーションモードã§ã¯ã€Hadoopã‚„WindGateをシミュレーションモードã§å®Ÿè¡Œã—ã¾ã™ã€‚ シミュレーションモードã®å‹•ä½œã¯ãã‚Œãžã‚Œç•°ãªã‚Šã¾ã™ãŒã€åŸºæœ¬çš„ã«ã¯è¨å®šã‚„引数を確èªã—ãŸå¾Œã€ãƒ‡ãƒ¼ã‚¿ã®å…¥å‡ºåŠ›ã‚’è¡Œã‚ãšã«çµ‚了ã—ã¾ã™ã€‚ .. attention:: 引数 ``-D dryRun`` 㯠``-D dryRun=true`` ã®çœç•¥è¨˜æ³•ã§ã™ã€‚ ã„ãšã‚Œã®å ´åˆã§ã‚‚〠``-D`` 㨠``dryRun`` ã¯é›¢ã—ã¦å…¥åŠ›ã—ã¦ãã ã•ã„。 アプリケーションã®æ¤œè¨¼ ~~~~~~~~~~~~~~~~~~~~~~ ãƒãƒƒãƒã‚¢ãƒ—リケーションをYAESSã§å®Ÿè¡Œã™ã‚‹ã¨ã€Hadoopã‚„WindGateãªã©ãã‚Œãžã‚Œã®ç’°å¢ƒã«ãŠã„ã¦ã‚¢ãƒ—リケーションライブラリã®æ¤œè¨¼ã‚’è¡Œã„ã¾ã™ã€‚ 以下ã®å†…容ã«ã¤ã„ã¦ã®æ¤œè¨¼ãŒè¡Œã‚ã‚Œã¾ã™ã€‚ * YAESSã‚’èµ·å‹•ã—ãŸéš›ã®ã‚¢ãƒ—リケーションã¨ã€å„環境ã§å®Ÿè¡Œã—よã†ã¨ã—ã¦ã„るアプリケーションã®ãƒ©ã‚¤ãƒ–ラリãŒä¸€è‡´ã™ã‚‹ã‹ * å„環境ã§å®Ÿè¡Œã—よã†ã¨ã—ã¦ã„るアプリケーションã¨ã€ãã®ç’°å¢ƒã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸãƒ©ãƒ³ã‚¿ã‚¤ãƒ ライブラリã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒä¸€è‡´ã™ã‚‹ã‹ .. tip:: アプリケーションã®æ¤œè¨¼ã§ã¯ã€ã‚¸ãƒ§ãƒ–フãƒãƒ¼ã®JARファイルã«å«ã¾ã‚Œã‚‹ ``META-INF/asakusa/application.properties`` ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã®æƒ…å ±ã‚’åˆ©ç”¨ã—ã¾ã™ã€‚ アプリケーションã®æ¤œè¨¼ã«å¤±æ•—ã—ãŸå ´åˆã€ ``InconsistentApplicationException`` [#]_ ã¨ã„ã†ä¾‹å¤–ãŒã‚¹ãƒãƒ¼ã•ã‚Œã¦ãƒ—ãƒã‚°ãƒ©ãƒ ãŒçµ‚了ã—ã¾ã™ã€‚ 上記ã®æ¤œè¨¼ã‚’利用ã—ãªã„å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®æœ«å°¾ã« ``-D verifyApplication=false`` ã¨æŒ‡å®šã—ã¾ã™ã€‚ 上記ã®æŒ‡å®šãŒãªã„å ´åˆã€å¸¸ã«ã‚¢ãƒ—リケーションã®æ¤œè¨¼ã‚’è¡Œã„ã¾ã™ã€‚ .. attention:: アプリケーションã®æ¤œè¨¼ã¯å¸¸ã«æœ‰åŠ¹ã«ã—ã¦ãŠãã“ã¨ã‚’å¼·ã推奨ã—ã¾ã™ã€‚ ç¾åœ¨ã®Asakusa Frameworkã§ã¯ã€åŒä¸€ã®Asakusa DSLã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã«å¯¾ã—ã¦ã‚‚ãƒãƒƒãƒã‚³ãƒ³ãƒ‘イルã®çµæžœç”Ÿæˆã•ã‚Œã‚‹ãƒãƒƒãƒã‚¢ãƒ—リケーションã®å®Ÿè¡Œè¨ˆç”»ã¯ä¸å®šã§ã™ã€‚ 実行計画ãŒç•°ãªã‚‹ã‚¢ãƒ—リケーションを異ãªã‚‹ç’°å¢ƒã«é…ç½®ã—ã¦å®Ÿè¡Œã—ãŸå ´åˆã€äºˆæœŸã—ãªã„動作をã™ã‚‹å¯èƒ½æ€§ãŒé«˜ã„ã§ã™ã€‚ .. [#] :asakusafw-javadoc:`com.asakusafw.runtime.core.context.InconsistentApplicationException` プãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚»ãƒƒãƒˆã®æŒ‡å®š ~~~~~~~~~~~~~~~~~~~~~~~~ コマンドラインã®å¼•æ•°ã« ``-D profile=<プãƒãƒ•ã‚¡ã‚¤ãƒ«å>`` ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã§ã€``$ASAKUSA_HOME/yaess/conf/`` é…下ã«é…ç½®ã—ãŸä»»æ„ã®æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ 以下ã¯ã€ ``$ASAKUSA_HOME/yaess/conf/custom-profile.properties`` ã¨ã„ã†æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’使ã£ã¦ãƒãƒƒãƒã‚’実行ã™ã‚‹ä¾‹ã§ã™ã€‚ .. code-block:: sh $ASAKUSA_HOME/yaess/bin/yaess-batch.sh ex -A code=123 -D profile=custom-profile ã“ã®ã‚ªãƒ—ションを指定ã—ãªã„å ´åˆã€ ``$ASAKUSA_HOME/yaess/conf/yaess.properties`` ãŒæ¨™æº–ã®æ§‹æˆãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ 環境変数ã®æŒ‡å®š ~~~~~~~~~~~~~~ コマンドラインã®å¼•æ•°ã« ``-V <key>=<value>`` ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã§ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³çµŒç”±ã§ç’°å¢ƒå¤‰æ•°ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã®æ©Ÿèƒ½ã¯ã€ãƒ—ãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚»ãƒƒãƒˆã§ `環境変数ã®åˆ©ç”¨`_ を使ã£ã¦å®šç¾©ã—ãŸé …目値ã«å¯¾ã—ã¦ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³çµŒç”±ã§ãã®å€¤ã‚’è¨å®šã™ã‚‹ã¨ã„ã£ãŸå ´åˆã«åˆ©ç”¨ã—ã¾ã™ã€‚ 例ãˆã°ã€ プãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚»ãƒƒãƒˆå†…ã§ã€Hadoopジョブã®ä¸¦åˆ—度を ``scheduler.parallel.hadoop-master = ${YAESS_PARALLEL_HADOOP}`` ã®ã‚ˆã†ã«è¨å®šã—ãŸå ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‹ã‚‰ã“ã®å€¤ã‚’指定ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«å®Ÿè¡Œã—ã¾ã™ã€‚ .. code-block:: sh $ASAKUSA_HOME/yaess/bin/yaess-batch.sh ex -A code=123 -V YAESS_PARALLEL_HADOOP=4 実行çµæžœã®ç¢ºèª -------------- YAESSã®å®Ÿè¡Œçµæžœã‚’確èªã™ã‚‹ã«ã¯ `YAESSã®ãƒã‚°è¨å®š`_ ã§è¨å®šã—ãŸå†…容ã«åŸºã¥ã„ã¦å‡ºåŠ›ã•ã‚ŒãŸãƒã‚°ã‚’確èªã—ã¾ã™ã€‚ YAESSã®ãƒã‚°å†…容ã«ã¤ã„ã¦ã¯ã€ :doc:`log-table` ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。 ã¾ãŸã€YAESSã®ãƒã‚°ã®æ¦‚è¦ã‚’把æ¡ã™ã‚‹ãŸã‚ã®ãƒ„ールã¨ã—ã¦ã€YAESS Log AnalyzerツールãŒæä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚ 詳ã—ãã¯ã€ :doc:`../application/yaess-log-visualization` ã‚’å‚ç…§ã—ã¦ãã ã•ã„。