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

Lindorm:DMS を使用してジョブを管理する

最終更新日:Jan 21, 2025

Lindorm が提供する Lindorm 分散処理システム (LDPS) を使用すると、データ管理 (DMS) のタスクオーケストレーション機能を使用して、Lindorm Spark ジョブをスケジュールし、Lindorm Spark ジョブの発行履歴とログを表示できます。 LDPS は、データ生成、インタラクティブ分析、機械学習、グラフコンピューティングなどのシナリオでのコンピューティング要件を満たすことができます。 このトピックでは、DMS を使用して Lindorm Spark ジョブを管理する方法について説明します。

前提条件

Lindorm Spark タスクフローを作成する

  1. DMS コンソール V5.0 にログインします。

  2. [タスクオーケストレーション] ページに移動します。

    • 簡易モード:

      1. [シーンガイド] セクションで、[データ転送と処理 (DTS)] をクリックします。

      2. ページ右側の [データ処理] セクションで、[タスクオーケストレーション] をクリックします。

    • 通常モード: 上部のナビゲーションバーで、[DTS] > [データ開発] > [タスクオーケストレーション] を選択します。

  3. [タスクオーケストレーション] ページで、[タスクフローの作成] をクリックします。

  4. [タスクフローの作成] ダイアログボックスで、[タスクフロー名][説明] を指定し、[OK] をクリックします。

  5. 左側の [タスクタイプ] セクションで、[lindorm Spark] ノードをキャンバスにドラッグし、ノードを別のノードに接続して、ノード間の依存関係を指定します。

  6. [lindorm Spark] ノードを構成します。

    1. [lindorm Spark] ノードをダブルクリックするか、[lindorm Spark] ノードをクリックしてから 配置节点 アイコンをクリックします。

    2. 表示されるページで、実行するジョブの基本パラメーターとカスタムパラメーターを構成します。

      • [基本構成] セクションで、基本パラメーターを構成します。 次の表は、基本パラメーターについて説明しています。

        パラメーター

        説明

        リージョン

        Lindorm インスタンスがデプロイされているリージョンを選択します。

        Lindorm インスタンス

        Lindorm インスタンスの ID を選択します。

        タスクタイプ

        Spark ジョブタイプを選択します。 次のタイプのジョブがサポートされています。

        • JAR

        • Python

        • SQL

      • [ジョブ構成] セクションで、実行するジョブのカスタムパラメーターを構成します。 次のセクションでは、さまざまなタイプの Spark ジョブの構成テンプレートとカスタムパラメーターについて説明します。

        • 次のセクションでは、JAR Spark ジョブの構成テンプレートとカスタムパラメーターについて説明します。

          {
            "mainResource" : "oss://path/to/your/file.jar", // JAR パッケージが HDFS または OSS に保存されているパス
            "mainClass" : "path.to.main.class", // JAR ジョブのエントリポイントとして使用されるクラス
            "args" : [ "arg1", "arg2" ], // mainClass パラメーターに渡されるパラメーター
            "configs" : {
              "spark.hadoop.fs.oss.endpoint" : "", // Spark ジョブが OSS に保存されているパス
              "spark.hadoop.fs.oss.accessKeyId" : "", // OSS にアクセスするために使用される AccessKey ID
              "spark.hadoop.fs.oss.accessKeySecret" : "", // OSS にアクセスするために使用される AccessKey シークレット
              "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", // OSS にアクセスするために使用されるクラス。値を org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem に設定します。
              "spark.sql.shuffle.partitions" : "20" // シャッフルパーティションの数
            }
          }

          パラメーター

          種類

          パラメーター

          タイプ

          必須

          mainResource

          String

          はい

          JAR パッケージが HDFS または OSS に保存されているパスです。

          • JAR パッケージが保存されている HDFS パス: hdfs:///path/spark-examples_2.12-3.1.1.jar

          • JAR パッケージが保存されている OSS パス: oss://testBucketName/path/spark-examples_2.12-3.1.1.jar

          mainClass

          String

          はい

          JAR ジョブでプログラムのエントリ ポイントとして使用されるクラスです。

          com.aliyun.ldspark.SparkPi

          mainResource

          配列

          いいえ

          mainClass パラメーターに渡されるパラメーターです。

          ["arg1", "arg2"]

          構成

          JSON

          いいえ

          Sparkジョブのシステムパラメーター。ジョブがOSSにアップロードされる場合は、configsで次のパラメーターを構成する必要があります。

          • spark.hadoop.fs.oss.endpoint: SparkジョブがOSSに格納されているパス。

          • spark.hadoop.fs.oss.accessKeyId: OSSへのアクセスに使用するAccessKey ID。コンソールでAccessKey IDを取得できます。詳細については、「AccessKeyペアの取得」をご参照ください。

          • spark.hadoop.fs.oss.accessKeySecret: OSSへのアクセスに使用するAccessKeyシークレット。コンソールでAccessKeyシークレットを取得できます。詳細については、「AccessKeyペアの取得」をご参照ください。

          • spark.hadoop.fs.oss.impl: OSSへのアクセスに使用するクラス。値を org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem に設定します。

          { "spark.sql.shuffle.partitions": "200"}

        • 次のセクションでは、Python Sparkジョブの構成テンプレートとカスタムパラメーターについて説明します。

          {
            "mainResource" : "oss://path/to/your/file.py",
            "args" : [ "arg1", "arg2" ],
            "configs" : {
              "spark.hadoop.fs.oss.endpoint" : "",
              "spark.hadoop.fs.oss.accessKeyId" : "",
              "spark.hadoop.fs.oss.accessKeySecret" : "",
              "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem",
              "spark.submit.pyFiles" : "oss://path/to/your/project_file.py,oss://path/to/your/project_module.zip",
              "spark.archives" : "oss://path/to/your/environment.tar.gz#environment",
              "spark.sql.shuffle.partitions" : "20"
            }
          }

          パラメーター

          タイプ

          必須

          説明

          mainResource

          String

          はい

          PythonファイルがOSSまたはHDFSに保存されているパス。

          • Pythonファイルが保存されているOSSパス: oss://testBucketName/path/spark-examples.py

          • Pythonファイルが保存されているHDFSパス: hdfs:///path/spark-examples.py

          args

          Array

          いいえ

          mainClassパラメーターに渡されるパラメーター。

          ["arg1", "arg2"]

          configs

          Json

          いいえ

          Sparkジョブのシステムパラメーター。ジョブをOSSにアップロードする必要がある場合は、configsで次のパラメーターを構成する必要があります。

          • spark.hadoop.fs.oss.endpoint: SparkジョブがOSSに保存されているパス。

          • spark.hadoop.fs.oss.accessKeyId: OSSへのアクセスに使用するAccessKey ID。 AccessKey IDはコンソールで取得できます。 詳細については、AccessKeyペアの取得をご参照ください。

          • spark.hadoop.fs.oss.accessKeySecret: OSSへのアクセスに使用するAccessKeyシークレット。 AccessKeyシークレットはコンソールで取得できます。 詳細については、AccessKeyペアの取得をご参照ください。

          • spark.hadoop.fs.oss.impl: OSSへのアクセスに使用するクラス。 値を org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem に設定します。

          {"spark.sql.shuffle.partitions": "200"}

        • 次のセクションでは、SQLジョブの構成テンプレートとカスタムパラメーターについて説明します。

          {
            "mainResource" : "oss://path/to/your/file.sql",
            "configs" : {
              "spark.hadoop.fs.oss.endpoint" : "",
              "spark.hadoop.fs.oss.accessKeyId" : "",
              "spark.hadoop.fs.oss.accessKeySecret" : "",
              "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem",
              "spark.sql.shuffle.partitions" : "20"
            }
          }

          パラメーター

          タイプ

          必須

          説明

          mainResource

          String

          はい

          SQLファイルが OSS または HDFS に保存されているパスです。

          • SQL ファイルが保存されている OSS パス: oss://testBucketName/path/spark-examples.sql

          • SQL ファイルが保存されている HDFS パス: hdfs:///path/spark-examples.sql

          configs

          Json

          いいえ

          SQLジョブのその他の構成です。

          {"spark.executor.memory" : "8g"}

    3. 上記の設定が完了したら、左上隅にある [試行実行] をクリックして、ジョブが想定どおりに実行されるかどうかを確認します。

  7. タスクフローを公開します。すべてのノードが構成されたら、現在のタスクフローのページの左上隅にある [公開] をクリックします。

    发布任务流

タスクフローの公開履歴とログを表示する

  1. [タスクオーケストレーション] ページで、公開履歴とログを表示するタスクフローの名前をクリックします。

  2. 表示されたページの右上隅にある [O&M に移動] をクリックします。

    查看发布记录

  3. タスクフローの公開履歴とログを表示します。

    • タスクフローの公開履歴を表示します。 [タスクフロー情報] ページで、[公開済みタスク] タブをクリックして、タスクフローの公開履歴を表示します。发布记录

    • タスクフローのログを表示します。

      1. [実行履歴] タブで、左上隅のドロップダウンリストから [スケジュールトリガー] または [手動でトリガー] を選択して、タスクフロー内のすべてのノードの詳細を表示します。查看任务日志

      2. 表示するノードの行にある [表示] をクリックします。次に、Lindorm Spark ジョブの送信ログを表示し、ノードのジョブ ID と SparkUI を取得します。

        説明

        ジョブの送信に失敗した場合は、チケットを提出する際に、ジョブ ID と SparkUI を提供してください。

詳細設定

説明

DMS コンソールで Lindorm Spark タスクフローを構成できます。 Lindorm Spark タスクフローを構成した後、タスクフローを再公開する必要があります。

スケジューリング設定の構成

ビジネス要件に基づいてスケジューリングポリシーを構成できます。 Lindorm Spark タスクフローは、スケジューリングポリシーに基づいて自動的に実行されます。 スケジューリングポリシーを構成するには、次の手順を実行します。

  1. [タスクオーケストレーション] ページで、スケジューリングポリシーを構成するタスクフローの名前をクリックします。

  2. 表示されるページの左下隅にある [タスクフロー情報] をクリックします。

    任务流信息

  3. 右側の [スケジューリング設定] セクションで、[スケジューリングを有効にする] をオンにして、スケジューリングポリシーを構成します。次の表に、構成できるパラメーターを示します。

    例:タスクフローを毎日 00:00 と 12:00 にスケジュールする場合、次のパラメーターを設定してスケジューリングポリシーを構成します。

    • [スケジューリングタイプ] を [Cyclic scheduling(循環スケジューリング)] に設定します。

    • [スケジューリングサイクル] ドロップダウンリストから [時間] を選択します。

    • [時間指定スケジューリング] フィールドで、[指定時間] を選択します。 [指定時間] ドロップダウンリストから [0 時間] と [12 時間] を選択します。

変数の構成

循環スケジューリングが有効になっているタスクフローの場合、実行するジョブの時間変数を構成できます。たとえば、ノードの bizdate 時間変数を構成できます。時間変数は、タスクが実行される時点の前日を指定します。時間変数を構成するには、次の手順を実行します。

  1. 現在のタスクフローページで、[lindorm Spark] ノードをダブルクリックするか、[lindorm Spark] ノードをクリックして 配置节点 アイコンをクリックします。

  2. 右側のナビゲーションペインで、[変数設定] をクリックします。

  3. [ノード変数] タブまたは [タスクフロー変数] タブで、変数を追加します。

  4. [ジョブ構成] セクションで、変数を使用します。その他の変数については、変数 をご参照ください。

通知の管理

タスクフローの通知機能を有効にすると、システムはタスクフローの実行結果に基づいて通知メッセージを送信します。通知機能を有効にするには、次の手順を実行します。

  1. 現在のタスクフローページの左下隅にある [通知設定] をクリックします。

  2. ビジネス要件に基づいて、次のいずれかの通知スイッチをオンにします。

    • 基本通知

      • 成功通知:タスクフローが実行されると、システムは通知メッセージを送信します。

      • 失敗通知:タスクフローの実行に失敗すると、システムは通知メッセージを送信します。

    • タイムアウト通知:タスクフローがタイムアウトすると、システムは通知メッセージを送信します。

    • アラート通知:タスクが開始されようとしているときに、システムは通知メッセージを送信します。

  3. (オプション):メッセージの受信者を構成します。メッセージ受信者の構成方法の詳細については、通知ルールの管理 をご参照ください。

SQLステートメントを実行する

  1. DMS コンソール V5.0 にログオンします。

  2. [ホーム] タブをクリックします。

  3. 左側のナビゲーションペインで、image.png アイコンをクリックしてインスタンスを作成します。

  4. [インスタンスの追加] ダイアログボックスで、[nosql データベース] セクションの [lindorm_compute] を選択します。

    image.png

  5. インスタンスの [インスタンスリージョン][インスタンス ID][データベースアカウント][データベースパスワード] を指定し、[送信] をクリックします。

  6. 表示されるダイアログボックスで、[送信] をクリックして SQLConsole に移動します。

  7. [sqlconsole] タブで、実行する SQL ステートメントを入力し、[実行] をクリックします。

関連情報

DMS のタスクオーケストレーション機能の詳細については、「概要」をご参照ください。