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

通過Spark-Submit命令行工具開發Spark應用

更新時間:

云原生數據倉庫 AnalyticDB MySQL 版提供Spark-Submit命令行工具,當您在通過客戶端連接集群進行Spark開發時,需要借助該命令行工具提交Spark應用。本文介紹如何通過AnalyticDB for MySQL的Spark-Submit命令行工具進行Spark應用開發。

前提條件

  • 集群的產品系列為企業版、基礎版或湖倉版。

  • 已創建Job型資源組。具體操作,請參見新建資源組。

  • 集群與OSS存儲空間位于相同地域。

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

注意事項

通過Spark-Submit命令行工具進行作業開發時,僅支持提交Spark Jar應用,不支持提交Spark SQL。

下載并安裝Spark-Submit

  1. 執行以下命令,下載Spark-Submit命令行工具的安裝包adb-spark-toolkit-submit-0.0.1.tar.gz。

    wget https://dla003.oss-cn-hangzhou.aliyuncs.com/adb-spark-toolkit-submit-0.0.1.tar.gz
  2. 執行以下命令,解壓并安裝Spark-Submit。

    tar zxvf adb-spark-toolkit-submit-0.0.1.tar.gz

Spark應用配置參數

Spark-Submit安裝包解壓完成后,進入adb-spark-toolkit-submit/conf目錄,執行vim spark-defaults.conf命令修改配置項。修改后,Spark-Submit命令行工具的腳本將自動讀取配置文件中的信息,配置參數會對所有Spark應用生效。

Spark應用配置參數列表如下:

參數

是否必填

參數說明

示例值

keyId

阿里云賬號或具備AnalyticDB for MySQL訪問權限的RAM用戶的AccessKey ID。

如何獲取AccessKey ID和AccessKey Secret,請參見賬號與權限。

LTAI5tFosFYFgrt3NzBX****

secretId

阿里云賬號或具備AnalyticDB for MySQL訪問權限的RAM用戶的AccessKey Secret。

如何獲取AccessKey ID和AccessKey Secret,請參見賬號與權限。

1BvoSGRT4FV7GB07VVgrRGUty****

regionId

AnalyticDB for MySQL集群的地域ID。

cn-hangzhou

clusterId

AnalyticDB for MySQL集群的集群ID。

amv-bp1908350u5****

rgName

執行Spark應用的Job型資源組名稱。

test

ossKeyId

Spark Jar應用需要的JAR包存儲在本地路徑時,需要配置ossKeyId、ossSecretId、ossUploadPath。

  • ossKeyId、ossSecretId為阿里云賬號或RAM用戶的AccessKey ID和AccessKey Secret。RAM用戶需具備AliyunOSSFullAccess權限。

  • ossUploadPath為本地JAR包上傳至OSS的路徑。

LTAI5tFosFYFgrt3NzBX****

ossSecretId

1BvoSGRT4FV7GB07VVgrRGUty****

ossUploadPath

oss://testBucketname/jars/test1.jar

conf參數

與開源Spark中的配置項基本一致,參數格式為key:value形式,多個參數之間以英文逗號(,)分隔。更多conf參數,請參見Spark應用配置參數說明。

提交Spark應用

  1. 將Spark應用依賴JAR包上傳到OSS中,具體操作,請參見簡單上傳。

  2. 執行以下命令,進入Spark-Submit工具的目錄。

    cd adb-spark-toolkit-submit
  3. 按如下格式提交應用。

    ./bin/spark-submit  \
    --class com.aliyun.spark.oss.SparkReadOss \
    --verbose \
    --name Job1 \
    --jars oss://testBucketname/jars/test.jar,oss://testBucketname/jars/search.jar\
    --conf spark.driver.resourceSpec=medium \
    --conf spark.executor.instances=1 \
    --conf spark.executor.resourceSpec=medium \
    oss://testBucketname/jars/test1.jar args0 args1
    說明

    Spark應用提交后,返回碼說明如下:

    • 255:應用執行失敗。

    • 0:應用執行成功。

    • 143:應用被Kill。

    參數說明如下。

    參數名稱

    參數說明

    --class

    Java或者Scala程序入口類名稱。Python不需要指定入口類。

    --verbose

    打印出提交Spark過程中產生的日志。

    --name

    Spark應用名稱。

    --jars

    Spark應用依賴的JAR包所在的路徑,可以是本地路徑或OSS路徑。需為絕對路徑。如果有多個JAR包,路徑之間以英文逗號(,)分隔。

    如果您配置本地路徑,您需注意以下內容:

    • RAM用戶具備OSS的AliyunOSSFullAccess權限。

    • 需在conf/spark-defaults.conf配置文件中設置ossUploadPath參數,指定本地文件資源上傳到OSS的路徑。

    • 文件資源上傳時,會使用md5校驗文件內容,當指定的OSS路徑中有相同文件名且md5相同時,將不再重復上傳。

    • 如果手動更新了OSS路徑中的JAR包,請刪除對應的md5文件。

    --conf

    Spark應用的配置參數。

    與開源Spark-Submit中的配置基本一致。與開源Spark-Submit用法不一致的配置參數及AnalyticDB for MySQL Spark-Submit特有的配置參數,請參見AnalyticDB for MySQL Spark-Submit與開源Spark-Submit的區別。

    說明

    配置多個conf時,格式為:--conf key1=value1 --conf key2=value2。

    oss://testBucketname/jars/test1.jar args0 args1

    Spark應用主文件的存儲路徑,文件路徑需為絕對路徑。主文件是入口類所在的JAR包或者Python的入口執行文件。

    說明

    Spark應用主文件目前只支持存儲在OSS中。

    args

    請根據業務需求,填寫使用JAR包時需要使用的參數。多個參數之間以空格分隔。

查看Spark應用列表

./bin/spark-submit --list --clusterId <cluster_Id>  --rgName <ResourceGroup_name> --pagenumber 1 --pagesize 3

參數說明:

  • cluster_Id:AnalyticDB for MySQL集群的集群ID。

  • ResourceGroup_name:執行Spark應用使用的Job型資源組名稱。

查詢Spark應用狀態

./bin/spark-submit --status <appId>

appId可在Spark應用列表中查看,詳情請參見查看Spark應用列表。

查詢Spark應用提交參數和SparkUI

./bin/spark-submit --detail <appId>

appId可在Spark應用列表中查看,詳情請參見查看Spark應用列表。

返回結果中Spark WEB UI字段即Spark UI地址。

查詢Spark應用日志

./bin/spark-submit --get-log <appId>

appId可在Spark應用列表中查看,詳情請參見查看Spark應用列表

結束Spark應用

./bin/spark-submit --kill <appId>

appId可在Spark應用列表中查看,詳情請參見查看Spark應用列表。

AnalyticDB for MySQL Spark-Submit與開源Spark-Submit的區別

AnalyticDB for MySQL Spark-Submit特有的參數

參數名稱

參數說明

--api-retry-times

AnalyticDB for MySQL Spark-Submit內部執行命令失敗時的重試次數(除提交命令外),默認值:3。

提交任務不是一個冪等操作,由于網絡超時等原因導致的提交失敗,實際上任務可能在后臺執行成功,為防止任務重復提交,提交任務失敗將不會重試。您需要自行獲取已經提交的任務列表(--list),或者在AnalyticDB for MySQL Spark控制臺查看任務列表判斷任務是否提交成功。

--time-out-seconds

AnalyticDB for MySQL Spark-Submit內部默認的網絡超時時間,超時命令將會失敗重試。單位:秒(s),默認值:10。

--enable-inner-endpoint

當您使用阿里云ECS機器提交Spark時,可以指定此選項,AnalyticDB for MySQL Spark-Submit將使用VPC內網環境來訪問各個服務。

--list

獲取應用列表,常搭配--pagenumber--pagesize使用。

例如,返回第一頁的5個應用,則配置如下:

--list 
--pagenumber 1 
--pagesize 5

--pagenumber

指定應用列表的頁數。默認值為1。

--pagesize

指定應用列表每頁顯示的應用個數。默認值為10。

--kill

終止應用。

--get-log

查詢應用日志。

--status

查詢應用詳情。

AnalyticDB for MySQL Spark-Submit不支持的開源Spark-Submit參數

AnalyticDB for MySQL Spark-Submit暫不支持開源Spark-Submit的配置參數。詳情請參見AnalyticDB for MySQL不支持的配置參數