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

E-MapReduce:DolphinScheduler を使用した Spark ジョブの送信

最終更新日:Mar 27, 2026

Apache DolphinScheduler は、強力な有向非巡回グラフ (DAG) のビジュアルインターフェイスを備えた、分散型で拡張可能なオープンソースのワークフローオーケストレーションプラットフォームです。このガイドでは、DolphinScheduler を E-MapReduce (EMR) Serverless Spark に接続し、DolphinScheduler の Web UI から Java アーカイブ (JAR)、SQL、PySpark の各ジョブを送信する手順を説明します。

背景情報

AliyunServerlessSpark Task Plugin は Apache DolphinScheduler のメインブランチにマージされており、将来の公式リリースで提供される予定です。それまでは、以下の前提条件で説明する方法のいずれかを使用してインストールしてください。

前提条件

開始する前に、以下が準備できていることを確認してください:

  • Java 開発キット (JDK) 1.8 以降がインストールされていること

  • 以下のいずれかの方法で AliyunServerlessSpark Task Plugin がインストールされていること:

    • 方法 1 (ソースからコンパイル): メインブランチをクローンしてコンパイルします。詳細については、GitHub の apache/dolphinscheduler をご参照ください。

    • 方法 2 (cherry-pick): cherry-pick プルリクエスト (PR) を使用して、プラグインをプロジェクトに統合します。詳細については、GitHub の [Feature-16127] Support emr serverless spark #16126 をご参照ください。

ステップ 1:データソースの作成

  1. DolphinScheduler の Web UI を開き、上部のナビゲーションバーで [Datasource] をクリックします。

  2. [Create DataSource] をクリックします。[Choose DataSource Type] ダイアログボックスで、[ALIYUN_SERVERLESS_SPARK] を選択します。

  3. [CreateDataSource] ダイアログボックスで、次のパラメーターを設定します:

    パラメーター 説明
    Datasource Name データソースの名前
    Access Key Id ご利用の Alibaba Cloud AccessKey ID
    Access Key Secret ご利用の Alibaba Cloud AccessKey Secret
    Region Id ご利用の EMR Serverless Spark ワークスペースが存在するリージョン (例:cn-beijing)。サポートされているリージョンについては、「サポートされているリージョン」をご参照ください。
  4. [接続テスト] をクリックします。接続性テストが正常に完了したら、[確認] をクリックします。

ステップ 2:プロジェクトの作成

  1. 上部のナビゲーションバーで [Project] をクリックします。

  2. [プロジェクトの作成] をクリックします。

  3. [プロジェクトの作成] ダイアログボックスで、[プロジェクト名][ユーザー]、およびその他の必須フィールドを設定します。詳細については、「プロジェクト」をご参照ください。

ステップ 3:ワークフローの作成

  1. プロジェクト名をクリックします。左側のナビゲーションウィンドウで、[Workflow] > [Workflow Definition] の順に選択します。

  2. [ワークフローの作成] をクリックします。[ワークフロー DAG 編集] ページが開きます。

  3. 左側のナビゲーションウィンドウで、[ALIYUN_SERVERLESS_SPARK] をキャンバスにドラッグします。

  4. [Current node settings] ダイアログボックスで、ジョブタイプに基づいてノードパラメーターを設定し、[Confirm] をクリックします。以下のセクションでは、各ジョブタイプのパラメーターをリストします。まず、3 つのジョブタイプすべてで共通のパラメーターをリストし、その後に各セクションでジョブ固有のパラメーターを説明します。

共通パラメーター

これらのパラメーターは、JAR、SQL、および PySpark ジョブに適用されます。

パラメーター 説明
Datasource types [ALIYUN_SERVERLESS_SPARK]
Datasource instances ステップ 1 で作成したデータソースを選択します
workspace id ご利用の EMR Serverless Spark ワークスペースの ID
resource queue id EMR Serverless Spark ワークスペース内のリソースキューの ID。デフォルト:root_queue
is production ジョブが本番環境で実行される場合は、このトグルを有効にします
engine release version エンジンバージョン。デフォルト:esr-2.1-native (Spark 3.3.1, Scala 2.12, Native Runtime)

JAR ジョブの送信

[code type]JAR に設定し、次のパラメーターを設定します:

パラメーター 説明
code type ジョブタイプ JAR
job name EMR Serverless Spark ジョブの名前 ds-emr-spark-jar
entry point OSS 内の JAR ファイルへのパス oss://<yourBucketName>/spark-resource/examples/jars/spark-examples_2.12-3.3.1.jar
entry point arguments ジョブに渡される引数。引数間のデリミタとして # を使用します。
spark submit parameters spark-submit に渡される Spark 設定フラグ 以下の例をご参照ください

JAR ジョブの spark-submit パラメーターの例:

--class org.apache.spark.examples.SparkPi --conf spark.executor.cores=4 --conf spark.executor.memory=20g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=1

SQL ジョブの送信

[コードタイプ] を SQL に設定し、以下のパラメーターを設定します:

パラメーター 説明
code type ジョブタイプ SQL
job name EMR Serverless Spark ジョブの名前 ds-emr-spark-sql
entry point 有効なファイルパス
entry point arguments 実行する SQL スクリプト。# をデリミタとして使用します。 以下の例をご参照ください
spark submit parameters spark-submit に渡される Spark 設定フラグ 以下の例をご参照ください

[entry point arguments] の例:

  • インライン SQL スクリプトを送信する: -e#show tables;show tables;

  • OSS に保存されている SQL スクリプトを送信する: -f#oss://<yourBucketName>/spark-resource/examples/sql/show_db.sql

SQL ジョブの spark-submit パラメーターの例:

--class org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver --conf spark.executor.cores=4 --conf spark.executor.memory=20g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=1

PySpark ジョブの送信

[コード種別]PYTHON に設定し、以下のパラメーターを設定します。

パラメーター 説明
code type ジョブタイプ PYTHON
job name EMR Serverless Spark ジョブの名前 ds-emr-spark-jar
entry point OSS 内の Python スクリプトへのパス oss://<yourBucketName>/spark-resource/examples/src/main/python/pi.py
entry point arguments スクリプトに渡される引数。# をデリミタとして使用します。 1
spark submit parameters spark-submit に渡される Spark 設定フラグ 以下の例をご参照ください

PySpark ジョブの spark-submit パラメーターの例:

--conf spark.executor.cores=4 --conf spark.executor.memory=20g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=1

次のステップ

DolphinScheduler のワークフロー、タスクの種類、およびスケジューリング オプションについて詳しくは、Apache DolphinScheduler のドキュメントをご参照ください。