日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過spark-submit命令行工具提交Spark任務

本文以ECS連接EMR Serverless Spark為例,介紹如何通過EMR Serverless spark-submit命令行工具進行Spark任務開發。

前提條件

  • 已安裝Java 1.8或以上版本。

  • 如果使用RAM用戶(子賬號)提交Spark任務,需要將RAM用戶(子賬號)添加至Serverless Spark的工作空間中,并授予開發者或開發者以上的角色權限,操作請參見管理用戶和角色

操作流程

步驟一:下載并安裝EMR Serverless spark-submit工具

  1. 單擊emr-serverless-spark-tool-0.2.0-bin.zip,下載安裝包。

  2. 將安裝包上傳至ECS實例,詳情請參見上傳或下載文件

  3. 執行以下命令,解壓并安裝EMR Serverless spark-submit工具。

    unzip emr-serverless-spark-tool-0.2.0-bin.zip

步驟二:配置相關參數

重要

在已安裝Spark的環境中,如果系統中設置了SPARK_CONF_DIR 環境變量,則需將配置文件放置在SPARK_CONF_DIR所指定的目錄下。例如,在EMR集群中,該目錄通常為/etc/taihao-apps/spark-conf。否則,系統會報錯。

  1. 執行以下命令,修改connection.properties中的配置。

    vim emr-serverless-spark-tool-0.2.0/conf/connection.properties
  2. 推薦按照如下內容對文件進行配置,參數格式為key=value,示例如下。

    accessKeyId=yourAccessKeyId
    accessKeySecret=yourAccessKeySecret
    # securityToken=yourSecurityToken
    regionId=cn-hangzhou
    endpoint=emr-serverless-spark.cn-hangzhou.aliyuncs.com
    workspaceId=w-xxxxxxxxxxxx
    resourceQueueId=dev_queue
    # networkServiceId=xxxxxx
    releaseVersion=esr-2.2 (Spark 3.3.1, Scala 2.12, Java Runtime)

    涉及參數說明如下表所示。

    參數

    是否必填

    說明

    accessKeyId

    執行Spark任務使用的阿里云賬號或RAM用戶的AccessKey ID。

    accessKeySecret

    執行Spark任務使用的阿里云賬號或RAM用戶的AccessKey Secret。

    securityToken

    RAM用戶的Token。

    說明

    僅在進行STS認證時需要填寫該項。

    regionId

    地域ID。本文以杭州地域為例。

    endpoint

    EMR Serverless Spark的Endpoint。地址詳情參見服務接入點

    本文以杭州地域公網訪問地址為例,參數值為emr-serverless-spark.cn-hangzhou.aliyuncs.com

    說明

    如果ECS實例沒有公網訪問能力,需要使用VPC地址。

    workspaceId

    EMR Serverless Spark工作空間ID。

    resourceQueueId

    隊列名稱。默認值為dev_queue。

    networkServiceId

    網絡連接名稱。

    說明

    僅當Spark任務需要訪問VPC資源時,才需要填寫此項。具體操作,請參見EMR Serverless Spark與其他VPC間網絡互通

    releaseVersion

    EMR Serverless Spark版本號。例如,esr-2.2 (Spark 3.3.1, Scala 2.12, Java Runtime)。

步驟三:提交Spark任務

  1. 執行以下命令,進入EMR Serverless spark-submit工具目錄。

    cd emr-serverless-spark-tool-0.2.0
  2. 請按照以下格式提交任務。

    Java/Scala類型任務

    本文示例使用的spark-examples_2.12-3.3.1.jar,您可以單擊spark-examples_2.12-3.3.1.jar,直接下載測試JAR包,然后上傳JAR包至OSS。該JAR包是Spark自帶的一個簡單示例,用于計算圓周率π的值。

    ./bin/spark-submit  --name SparkPi \
    --queue dev_queue  \
    --num-executors 5 \
    --driver-memory 1g \
    --executor-cores 2 \
    --executor-memory 2g \
    --class org.apache.spark.examples.SparkPi \
     oss://<yourBucket>/path/to/spark-examples_2.12-3.3.1.jar \
    10000

    PySpark類型任務

    本文示例使用的DataFrame.py和employee.csv,您可以單擊DataFrame.pyemployee.csv,直接下載測試文件,然后上傳JAR包至OSS。

    說明
    • DataFrame.py文件是一段使用Apache Spark框架進行OSS上數據處理的代碼。

    • employee.csv文件中定義了一個包含員工姓名、部門和薪水的數據列表。

    ./bin/spark-submit --name PySpark \
    --queue dev_queue  \
    --num-executors 5 \
    --driver-memory 1g \
    --executor-cores 2 \
    --executor-memory 2g \
    --conf spark.tags.key=value \
    --files oss://<yourBucket>/path/to/employee.csv \
    oss://<yourBucket>/path/to/DataFrame.py \
    10000

    相關參數說明如下:

    • 兼容開源spark-submit工具的參數。

      參數名稱

      示例值

      說明

      --class

      org.apache.spark.examples.SparkPi

      指定Spark任務的入口類名(Java或者Scala程序),Python程序無需此參數。

      --num-executors

      10

      Spark任務的Executor數量。

      --driver-cores

      1

      Spark任務的Driver核數。

      --driver-memory

      4g

      Spark任務的Driver內存。

      --executor-cores

      1

      Spark任務的Executor核數。

      --executor-memory

      1024m

      Spark任務的Executor內存。

      --files

      oss://<yourBucket>/file1,oss://<yourBucket>/file2

      Spark任務需要引用的資源文件,僅支持OSS資源,多個文件使用逗號(,)分隔。

      --py-files

      oss://<yourBucket>/file1.py,oss://<yourBucket>/file2.py

      Spark任務需要引用的Python腳本,僅支持OSS資源,多個文件使用逗號(,)分隔。該參數僅對PySpark程序生效。

      --jars

      oss://<yourBucket>/file1.jar,oss://<yourBucket>/file2.jar

      Spark任務需要引用的JAR包資源,僅支持OSS資源,多個文件使用逗號(,)分隔。

      --archives

      oss://<yourBucket>/archive.tar.gz#env,oss://<yourBucket>/archive2.zip

      Spark任務需要引用的archive包資源,僅支持OSS資源,多個文件使用逗號(,)分隔。

      --queue

      root_queue

      Spark任務運行的隊列名稱,需與EMR Serverless Spark工作空間隊列管理中的隊列名稱保持一致。

      --conf

      spark.tags.key=value

      Spark任務自定義參數。

      --status

      jr-8598aa9f459d****

      查看Spark任務狀態。

      --kill

      jr-8598aa9f459d****

      終止Spark任務。

    • 非開源spark-submit工具的參數。

      參數名稱

      示例值

      說明

      --detach

      無需填充

      使用此參數,spark-submit將在提交任務后立即退出,不再等待或查詢任務狀態。

      --detail

      jr-8598aa9f459d****

      查看Spark任務詳情。

    • 不支持的開源spark-submit工具的參數如下:

      • --deploy-mode

      • --master

      • --proxy-user

      • --repositories

      • --keytab

      • --principal

      • --total-executor-cores

      • --driver-library-path

      • --driver-class-path

      • --supervise

      • --verbose

步驟四:查詢Spark任務

CLI方式

查詢Spark任務狀態

cd emr-serverless-spark-tool-0.2.0
./bin/spark-submit --status <jr-8598aa9f459d****>

查詢Spark任務詳情

cd emr-serverless-spark-tool-0.2.0
./bin/spark-submit --detail <jr-8598aa9f459d****>

UI方式

  1. EMR Serverless Spark頁面,單擊左側導航欄中的任務歷史

  2. 任務歷史開發任務頁簽,您可以查看提交的任務。

    image

(可選)步驟五:終止Spark任務

cd emr-serverless-spark-tool-0.2.0
./bin/spark-submit --kill <jr-8598aa9f459d****>
說明

僅能終止處于運行狀態(running)的任務。