すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:Azkabanを使用したMaxComputeジョブのスケジュール

最終更新日:Dec 06, 2024

MaxComputeでは、Azkabanを使用してジョブをスケジュールできます。 これにより、高周波データ分析を効率的に完了できます。 このトピックでは、Azkabanを使用してMaxComputeクライアントでコマンドを実行してSQLジョブをスケジュールする方法について説明します。

背景情報

Azkabanは、Command、Hadoop MapReduce、Hive、Spark、Pigジョブなど、さまざまな種類のジョブをスケジュールするために使用されるシステムです。 最も一般的に使用されるジョブはコマンドジョブです。 Azkabanでは、カスタムプラグインを使用することもできます。 Azkabanの詳細については、「Azkaban」をご参照ください。

ジョブをスケジュールするには、これらのジョブをスケジュールするために必要なファイルをZIPファイルにパッケージ化する必要があります。 ファイルには、テーブルの作成、データのインポート、およびデータの照会用のソースデータファイルとスクリプトファイルが含まれます。 次に、ZIPファイルをAzkabanにアップロードします。

このトピックでは、Azkabanのジョブスケジューリング機能を使用して、テーブルの作成、データのインポート、およびデータのクエリ用のSQLロジックを実装する方法について説明します。 ジョブをスケジュールするワークフローと, ジョブごとに使用するジョブファイルおよびスクリプトファイルを次の図に示します。

Workflow and related files

前提条件

MaxComputeジョブをスケジュールする前に、次の条件が満たされていることを確認してください。

  • MaxComputeクライアントがダウンロードされ、インストールされます。

    MaxComputeクライアントのインストールと設定方法の詳細については、「MaxComputeクライアントのインストールと設定」をご参照ください。

  • Azkabanをダウンロードしてインストールします。

    詳細については、「入門」をご参照ください。

手順

  1. ステップ1: 必要なファイルを準備し、ZIPファイルにパッケージ化する.

    ジョブのスケジューリングに必要なソースデータファイルとスクリプトファイルを準備し、ZIPファイルにパッケージ化します。

  2. ステップ2: AzkabanにZIPファイルをアップロードする.

    Azkabanプロジェクトを作成し、プロジェクトを使用してZIPファイルをAzkabanにアップロードし、ジョブスケジューリングワークフローを作成します。

  3. ステップ3: ワークフローを実行する.

    ジョブスケジューリングワークフローを実行します。

  4. 手順4: ワークフローの実行結果を照会する.

    ワークフローの実行結果を照会します。

ステップ1: 必要なファイルを準備し、ZIPファイルにパッケージ化する

  1. 必要なファイルを準備し、ZIPファイルにパッケージ化します。

    このトピックでは、次のファイルが必要です。

    • ソースデータファイル。 このファイルはTXT形式です。 このトピックでは、emp.txtファイルを準備します。 このファイルには、次のデータが含まれます。

      7369,SMITH,CLERK,7902,1980-12-17 00:00:00,800,,20
      7499,ALLEN,SALESMAN,7698,1981-02-20 00:00:00,1600,300,30
      7521,WARD,SALESMAN,7698,1981-02-22 00:00:00,1250,500,30
      7566,JONES,MANAGER,7839,1981-04-02 00:00:00,2975,,20
      7654,MARTIN,SALESMAN,7698,1981-09-28 00:00:00,1250,1400,30
      7698,BLAKE,MANAGER,7839,1981-05-01 00:00:00,2850,,30
      7782,CLARK,MANAGER,7839,1981-06-09 00:00:00,2450,,10
      7788,SCOTT,ANALYST,7566,1987-04-19 00:00:00,3000,,20
      7839,KING,PRESIDENT,,1981-11-17 00:00:00,5000,,10
      7844,TURNER,SALESMAN,7698,1981-09-08 00:00:00,1500,0,30
      7876,ADAMS,CLERK,7788,1987-05-23 00:00:00,1100,,20
      7900,JAMES,CLERK,7698,1981-12-03 00:00:00,950,,30
      7902,FORD,ANALYST,7566,1981-12-03 00:00:00,3000,,20
      7934,MILLER,CLERK,7782,1982-01-23 00:00:00,1300,,10
      7948,JACCKA,CLERK,7782,1981-04-12 00:00:00,5000,,10
      7956,WELAN,CLERK,7649,1982-07-20 00:00:00,2450,,10
      7956,TEBAGE,CLERK,7748,1982-12-30 00:00:00,1300,,10
    • テーブルを作成し、データをアップロードするためのスクリプトファイル。 このファイルはSQL形式です。 このトピックでは、upload.sqlファイルを準備します。 このファイルには、次の内容が含まれます。

      drop table if exists azkaban_emp;
      create table  azkaban_emp
         (empno bigint,
          ename string,
          job string,
          mgr bigint,
          hiredate datetime,
          sal bigint,
          comm bigint,
          deptno bigint) lifecycle 1;
      tunnel upload emp.txt azkaban_emp;
    • データを照会するためのスクリプトファイル。 このファイルはSQL形式です。 このトピックでは、cat_data.sqlファイルを準備します。 このファイルには、次の内容が含まれます。

      select * from azkaban_emp;
    • ジョブを開始するためのファイル。 このファイルはジョブ形式です。 このトピックでは、start.jobファイルを準備します。 このファイルには、次の内容が含まれます。

      #start
      type=command
      command=echo 'job start'
    • ジョブデータをアップロードするためのファイル。 このファイルはジョブ形式です。 このトピックでは、upload_data.jobファイルを準備します。 このファイルには、次の内容が含まれます。

      #upload_data
      type=command
      dependencies=start
      command=D:/odpscmd_public/bin/odpscmd.bat -f 'upload.sql'

      commandは、MaxComputeクライアントのローカルインストールディレクトリを示します。 このトピックでは、D:/odpscmd_public/bin/odpscmd.batを使用します。

    • ジョブデータを照会するためのファイル。 このファイルはジョブ形式です。 このトピックでは、mc.jobファイルを準備します。 このファイルには、次の内容が含まれます。

      #mc.job
      type=command
      command=D:/odpscmd_public//bin/odpscmd -f 'cat_data.sql'
      dependencies=upload_data

      commandは、MaxComputeクライアントのローカルインストールディレクトリを示します。 このトピックでは、D:/odpscmd_public/bin/odpscmd.batを使用します。

  2. 準備したファイルをZIPファイルにパッケージ化します。

    このトピックでは、上記のファイルはdemo1.zipファイルにパッケージ化されています。 demo1.zipファイルのファイルを次の図に示します。 Files in the demo1.zip file

ステップ2: AzkabanにZIPファイルをアップロードする

  1. Azkabanにログインします。

    詳細については、「UserManager」をご参照ください。

  2. Azkabanプロジェクトを作成します。

    Azkabanプロジェクトの作成方法の詳細については、「プロジェクトの作成」をご参照ください。

  3. 手順1で生成されたZIPファイルをAzkabanプロジェクトにアップロードします。

    ZIPファイルをアップロードする方法の詳細については、「プロジェクトのアップロード」をご参照ください。 Upload the ZIP fileZIPファイルがアップロードされた後、[グラフ] タブでワークフローを表示できます。 ワークフローを表示する方法の詳細については、「フロービュー」をご参照ください。 Workflow

ステップ3: ワークフローを実行する

ワークフローの作成後、右上隅にある [フローのスケジュール /実行] をクリックします。 表示されるダイアログボックスで、[フロービュー] パネルの [実行] をクリックしてジョブをスケジュールします。

ワークフローの実行方法の詳細については、「フロービューの実行」をご参照ください。

Execute

手順4: ワークフローの実行結果を照会する

ワークフローの実行後、[実行] ページの [ジョブリスト] タブで各ジョブの実行結果を表示できます。 [ジョブリスト] タブでジョブを検索し、[詳細] 列の [詳細] をクリックして、このジョブの詳細を照会することもできます。

ワークフローの実行結果を表示する方法の詳細については、「実行」をご参照ください。

Query execution results of the workflow