全部產品
Search
文件中心

E-MapReduce:通過DolphinScheduler提交Spark任務

更新時間:Mar 27, 2025

DolphinScheduler是一款分布式、易擴充的可視化DAG工作流程工作調度開源系統,能高效地執行和管理巨量資料流程。本文為您介紹如何通過DolphinScheduler Web介面輕鬆建立、編輯、調度Spark作業。

背景資訊

當前,Apache DolphinScheduler的AliyunServerlessSpark Task Plugin已成功合并至開源主分支,將在後續的正式版本中發布。在此之前,您可以選擇自行編譯主分支代碼,或通過cherry-pick相關的PR將該外掛程式整合到您的專案中。

前提條件

  • 已安裝JDK,且JDK的版本為1.8及以上版本。

  • 已安裝Apache DolphinScheduler的AliyunServerlessSpark Task Plugin。

操作流程

步驟一:建立資料來源

  1. 訪問DolphinScheduler Web介面,在頂部導覽列單擊源中心

  2. 單擊建立源,選擇源類型為ALIYUN_SERVERLESS_SPARK

  3. 在彈出的建立資料來源對話方塊中配置如下參數。

    參數

    說明

    源名稱

    資料來源名稱。

    Access Key Id

    阿里雲帳號的AccessKey ID。

    Access Key Secret

    阿里雲帳號的AccessKey Secret。

    Region Id

    EMR Serverless Spark工作空間所在地區。例如,cn-beijing。

    支援的地區資訊,請參見支援地區

  4. 單擊測試連接,測試成功後,單擊確定

步驟二:建立專案

  1. 在頂部導覽列單擊專案管理

  2. 單擊建立專案

  3. 在彈出的建立專案對話方塊中配置專案名稱所屬使用者等參數。詳情請參見Create Project

步驟三:建立工作流程

  1. 單擊已建立的專案名稱,進入工作流程定義頁面。

  2. 單擊建立工作流程,進入工作流程DAG編輯頁面。

  3. 在頁面左側選擇ALIYUN_SERVERLESS_SPARK,並將其拖拽到右側空白畫布中。

  4. 在彈出的當前節點設定對話方塊中配置如下參數,單擊確定

    不同的任務類型需要配置的參數也各不相同。

    提交JAR類型任務

    參數

    說明

    資料來源類型

    選擇ALIYUN_SERVERLESS_SPARK

    資料來源執行個體

    選擇在之前步驟中建立的資料來源。

    workspace id

    EMR Serverless Spark的工作空間ID。

    resource queue id

    EMR Serverless Spark的資源隊列ID。預設為root_queue

    code type

    任務類型,填寫為JAR

    job name

    自訂EMR Serverless Spark的任務名稱。例如,ds-emr-spark-jar。

    entry point

    檔案位置。例如,oss://<yourBucketName>/spark-resource/examples/jars/spark-examples_2.12-3.3.1.jar

    entry point arguments

    傳入Spark程式的參數,以#作為分隔字元。

    spark submit parameters

    指定Spark提交時的參數。樣本如下。

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

    is production

    若為生產任務,開啟該開關。

    engine release version

    引擎版本,預設為esr-2.1-native (Spark 3.3.1, Scala 2.12, Native Runtime)

    提交SQL類型任務

    參數

    說明

    資料來源類型

    選擇ALIYUN_SERVERLESS_SPARK

    資料來源執行個體

    選擇在之前步驟中建立的資料來源。

    workspace id

    EMR Serverless Spark的工作空間ID。

    resource queue id

    EMR Serverless Spark的資源隊列ID。預設為root_queue

    code type

    任務類型,填寫為SQL

    job name

    自訂EMR Serverless Spark的任務名稱。例如,ds-emr-spark-sql。

    entry point

    檔案位置,需填寫有效且非空的路徑。

    entry point arguments

    傳入Spark程式的參數,以#作為分隔字元。樣本如下:

    • 提交SQL指令碼任務

      -e#show tables;show tables;
    • 提交OSS中的SQL指令碼任務

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

    spark submit parameters

    指定Spark提交時的參數。樣本如下。

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

    is production

    若為生產任務,開啟該開關。

    engine release version

    引擎版本,預設為esr-2.1-native (Spark 3.3.1, Scala 2.12, Native Runtime)

    提交PySpark類型任務

    參數

    說明

    資料來源類型

    選擇ALIYUN_SERVERLESS_SPARK

    資料來源執行個體

    選擇在之前步驟中建立的資料來源。

    workspace id

    EMR Serverless Spark的工作空間ID。

    resource queue id

    EMR Serverless Spark的資源隊列ID。預設為root_queue

    code type

    任務類型,填寫為PYTHON

    job name

    自訂EMR Serverless Spark的任務名稱。例如,ds-emr-spark-jar。

    entry point

    檔案位置。例如,oss://<yourBucketName>/spark-resource/examples/src/main/python/pi.py

    entry point arguments

    傳入Spark程式的參數,以#作為分隔字元。例如,本樣本填寫為1

    spark submit parameters

    指定Spark提交時的參數。樣本如下。

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

    is production

    若為生產任務,開啟該開關。

    engine release version

    引擎版本,預設為esr-2.1-native (Spark 3.3.1, Scala 2.12, Native Runtime)

相關文檔

DolphinScheduler官方文檔,請參見Apache DolphinScheduler