使用 管理任務執行 AWS CLI - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 管理任務執行 AWS CLI

本主題說明如何使用 AWS Command Line Interface () 管理任務執行AWS CLI。它詳細介紹 屬性,例如安全參數、驅動程式和各種覆寫設定。它還包括子主題,涵蓋各種設定記錄的方式。

用於設定作業執行的選項

使用下列選項來設定作業執行參數:

  • --execution-role-arn:您必須提供用於執行任務IAM的角色。如需詳細資訊,請參閱搭配使用作業執行角色與 Amazon EMR on EKS

  • --release-label:您可以使用 Amazon 5.32.0 版和 6.2.0 版及更新EMR版本在 EMR上部署 EKS Amazon。舊版 Amazon EMR版本EKS不支援 Amazon EMR on。如需詳細資訊,請參閱Amazon EMR on EKS Releases

  • --job-driver:作業驅動程式用於提供主要作業的輸入。這是一個聯合類型欄位,只能在其中傳遞您要執行之作業類型的其中一個值。支援的作業類型包括:

    • Spark 提交作業 - 用於透過 Spark 提交來執行命令。您可以使用此任務類型,透過 Spark Submit 執行 Scala PySpark、SparkR、SparkSQL 和任何其他支援的任務。此作業類型具有下列參數:

      • Entrypoint - 這是您要執行的主 jar/py 檔案的 HCFS(Hadoop 相容檔案系統) 參考。

      • EntryPointArguments - 這是您要傳遞至主 jar/py 檔案的引數陣列。應使用 entrypoint 程式碼讀取這些參數。陣列中的每個引數應該以逗號分隔。 EntryPointArguments 不能包含括號或括號,例如 ()、{} 或 【】。

      • SparkSubmitParameters - 這些是您要傳送至任務的其他火花參數。使用此參數可覆寫預設 Spark 屬性,例如驅動程式記憶體或 -conf 或 -class 等執行程式的數量。如需其他資訊,請參閱透過 spark-submit 啟動應用程式

    • Spark SQL任務 - 用於透過 Spark 執行SQL查詢檔案SQL。您可以使用此任務類型來執行 SparkSQL 任務。此作業類型具有下列參數:

  • --configuration-overrides:可以透過提供組態物件來覆寫應用程式的預設組態。您可以使用短期語法來提供組態,也可以參考JSON檔案中的組態物件。組態物件是由分類、屬性和選用的巢狀組態所組成。屬性由您想要在檔案中覆寫的設定組成。您可以為單一JSON物件中的多個應用程式指定多個分類。可用的組態分類會因 Amazon EMR發行版本而有所不同。如需適用於每個 Amazon 發行版本的組態分類清單EMR,請參閱 Amazon EMR on EKS Releases

    如果在應用程式中覆寫和 Spark 提交參數中傳遞相同的組態,會優先採用 Spark 提交參數。完整的組態優先順序清單如下,以最高優先順序到最低優先順序排列。

    • 建立 SparkSession 時提供的組態。

    • 使用 —conf,作為 sparkSubmitParameters 的一部分提供的組態。

    • 作為應用程式覆寫的一部分提供的組態。

    • Amazon EMR為版本選擇的最佳化組態。

    • 應用程式的預設開放原始碼組態。

    若要使用 Amazon CloudWatch 或 Amazon S3 監控任務執行,您必須提供 的組態詳細資訊 CloudWatch。如需詳細資訊,請參閱 設定作業執行以使用 Amazon S3 日誌設定任務執行以使用 Amazon CloudWatch Logs。如果 S3 儲存貯體或 CloudWatch 日誌群組不存在,則 Amazon 會在將日誌上傳至儲存貯體之前EMR建立它。

  • 如需 Kubernetes 組態選項的其他清單,請參閱 Kubernetes 上的 Spark 屬性

    不支援以下 Spark 組態。

    • spark.kubernetes.authenticate.driver.serviceAccountName

    • spark.kubernetes.authenticate.executor.serviceAccountName

    • spark.kubernetes.namespace

    • spark.kubernetes.driver.pod.name

    • spark.kubernetes.container.image.pullPolicy

    • spark.kubernetes.container.image

      注意

      可以將 spark.kubernetes.container.image 用於自訂 Docker 映像檔。如需詳細資訊,請參閱自訂 Amazon EMR on 的 Docker 映像 EKS

停止作業執行

可以執行 list-job-run 以顯示作業執行的狀態,如下列範例所示。

aws emr-containers list-job-runs --virtual-cluster-id <cluster-id>

描述作業執行

可以執行 describe-job-run 以取得有關作業的詳細資訊,例如作業狀態、狀態詳細資料和作業名稱,如下列範例所示。

aws emr-containers describe-job-run --virtual-cluster-id cluster-id --id job-run-id

取消作業執行

可以執行 cancel-job-run 以取消執行中的作業,如下列範例所示。

aws emr-containers cancel-job-run --virtual-cluster-id cluster-id --id job-run-id