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

E-MapReduce:DolphinScheduler を使用して Spark ジョブを送信する

最終更新日:Apr 12, 2025

DolphinScheduler は、強力な Directed Acyclic Graph(DAG)ビジュアルインターフェイスを備えた、分散型の拡張可能なオープンソースワークフローオーケストレーションプラットフォームです。 DolphinScheduler は、大量のデータのワークフローを効率的に実行および管理するのに役立ちます。 このトピックでは、DolphinScheduler の Web UI で Spark ジョブを簡単に作成、編集、およびスケジュールする方法について説明します。

背景情報

DolphinScheduler AliyunServerlessSpark Task Plugin のコードは、Apache DolphinScheduler のメインブランチに正常にマージされ、後続の公式バージョンでリリースされる予定です。 新しいバージョンがリリースされる前に、AliyunServerlessSpark Task Plugin のメインブランチコードをコンパイルするか、cherry-pick コマンドの関連するプルリクエスト(PR)を使用して AliyunServerlessSpark Task Plugin をプロジェクトに統合できます。

前提条件

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

  • AliyunServerlessSpark Task Plugin が、次のいずれかの方法でインストールされている。

    • 方法 1:AliyunServerlessSpark Task Plugin のメインブランチコードをコンパイルする。 詳細については、「dolphinscheduler」をご参照ください。

    • 方法 2:cherry-pick コマンドの関連する PR を使用して、AliyunServerlessSpark Task Plugin をプロジェクトに統合する。 詳細については、「[Feature-16127] Support emr serverless spark #16126」をご参照ください。

手順

ステップ 1:データソースを作成する

  1. DolphinScheduler の Web UI にアクセスします。 上部のナビゲーションバーで、[データソース] をクリックします。

  2. [データソースの作成] をクリックします。「データソースの種類の選択」ダイアログボックスで、[ALIYUN_SERVERLESS_SPARK] を選択します。

  3. [データソースの作成] ダイアログボックスで、パラメーターを構成します。 次の表にパラメーターを示します。

    パラメーター

    説明

    データソース名

    データソースの名前。

    アクセスキー ID

    Alibaba Cloud アカウントのアクセスキー ID。

    アクセスキーシークレット

    Alibaba Cloud アカウントのアクセスキーシークレット。

    リージョン ID

    E-MapReduce(EMR)Serverless Spark ワークスペースが存在するリージョンの ID。 例:cn-beijing。

    サポートされているリージョンの詳細については、「サポートされているリージョン」をご参照ください。

  4. [接続テスト] をクリックします。 データソースが接続テストに合格したら、[確認] をクリックします。

ステップ 2:プロジェクトを作成する

  1. 上部のナビゲーションバーで、[プロジェクト] をクリックします。

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

  3. [プロジェクトの作成] ダイアログボックスで、[プロジェクト名][ユーザー] などのパラメーターを構成します。 詳細については、「Project」をご参照ください。

ステップ 3:ワークフローを作成する

  1. 作成したプロジェクトの名前をクリックします。 左側のナビゲーションウィンドウで、[ワークフロー] > [ワークフロー定義] を選択して、[ワークフロー定義] ページに移動します。

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

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

  4. [現在のノード設定] ダイアログボックスで、パラメーターを構成し、[確認] をクリックします。

    パラメーター構成は、送信するジョブの種類によって異なります。

    Java Archive(JAR)ジョブの送信に必要なパラメーター

    パラメーター

    説明

    データソースタイプ

    [ALIYUN_SERVERLESS_SPARK] を選択します。

    データソースインスタンス

    作成したデータソースを選択します。

    ワークスペース ID

    EMR Serverless Spark ワークスペースの ID です。

    リソースキュー ID

    EMR Serverless Spark ワークスペース内のリソースキューの ID です。デフォルト値: root_queue

    コードタイプ

    ジョブのタイプです。パラメーターを JAR に設定します。

    ジョブ名

    EMR Serverless Spark ジョブの名前です。例: ds-emr-spark-jar。

    エントリポイント

    ファイルパスです。例: oss://<yourBucketName>/spark-resource/examples/jars/spark-examples_2.12-3.3.1.jar。

    エントリポイント引数

    Spark ジョブのコードです。番号記号(#)をデリミタとして使用して、コード内のパラメーターを区切ることができます。

    Spark Submit パラメーター

    Spark JAR ジョブの送信に必要なパラメーターです。例:

    --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

    本番環境かどうか

    Spark ジョブが本番環境のジョブである場合は、スイッチをオンにします。

    エンジンのリリースバージョン

    エンジンバージョンです。デフォルト値: esr-2.1-native (Spark 3.3.1, Scala 2.12, Native Runtime)

    SQL ジョブの送信に必要なパラメーター

    パラメーター

    説明

    データソースタイプ

    [ALIYUN_SERVERLESS_SPARK] を選択します。

    データソースインスタンス

    作成したデータソースを選択します。

    ワークスペース ID

    EMR Serverless Spark ワークスペースの ID です。

    リソースキュー ID

    EMR Serverless Spark ワークスペース内のリソースキューの ID です。デフォルト値: root_queue

    コードタイプ

    ジョブのタイプです。パラメーターを SQL に設定します。

    ジョブ名

    EMR Serverless Spark ジョブの名前です。例: ds-emr-spark-sql。

    エントリポイント

    ファイルパスです。有効なファイルパスを入力する必要があります。

    エントリポイント引数

    Spark ジョブのコードです。番号記号(#)をデリミタとして使用して、コード内のパラメーターを区切ることができます。例:

    • SQL スクリプトを送信します。

      -e#show tables;show tables;
    • OSS 内の SQL スクリプトを送信します。

      -f#oss://<yourBucketName>/spark-resource/examples/sql/show_db.sql

    Spark Submit パラメーター

    Spark SQL ジョブの送信に必要なパラメーターです。例:

    --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

    本番環境かどうか

    Spark ジョブが本番環境のジョブである場合は、スイッチをオンにします。

    エンジンのリリースバージョン

    エンジンバージョンです。デフォルト値: esr-2.1-native (Spark 3.3.1, Scala 2.12, Native Runtime)

    PySpark ジョブの送信に必要なパラメーター

    パラメーター

    説明

    データソースタイプ

    [ALIYUN_SERVERLESS_SPARK] を選択します。

    データソースインスタンス

    作成したデータソースを選択します。

    ワークスペース ID

    EMR Serverless Spark ワークスペースの ID です。

    リソースキュー ID

    EMR Serverless Spark ワークスペース内のリソースキューの ID です。デフォルト値: root_queue

    コードタイプ

    ジョブのタイプです。パラメーターを PYTHON に設定します。

    ジョブ名

    EMR Serverless Spark ジョブの名前です。例: ds-emr-spark-jar。

    エントリポイント

    ファイルパスです。例: oss://<yourBucketName>/spark-resource/examples/src/main/python/pi.py

    エントリポイント引数

    Spark ジョブのコードです。番号記号(#)をデリミタとして使用して、コード内のパラメーターを区切ることができます。例: 1

    Spark Submit パラメーター

    PySpark ジョブの送信に必要なパラメーターです。例:

    --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

    本番環境かどうか

    Spark ジョブが本番環境のジョブである場合は、スイッチをオンにします。

    エンジンのリリースバージョン

    エンジンバージョンです。デフォルト値: esr-2.1-native (Spark 3.3.1, Scala 2.12, Native Runtime)

参考資料

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