EKS使用建立和管理 Amazon EMR 叢集 AWS Step Functions - AWS Step Functions

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

EKS使用建立和管理 Amazon EMR 叢集 AWS Step Functions

瞭解如何整合 AWS Step Functions 與 Amazon EMR 在EKS服務集成EMR上EKS使用 Amazon APIs。服務整合APIs與對應的 Amazon EMR on 相同 EKSAPIs,但並非全部APIs支援所有整合模式,如下表所示。

若要瞭解如何整合 AWS 服務在 Step Functions 中,請參閱整合 服務和。將參數傳遞給 Step Functions 數API中的服務

如何優化EMR的 Amazon EKS 集成是不同於 Amazon EMR 上 EKS AWS SDK整合
注意

為了與 Amazon 整合EMR,Step Functions 在此之後的前 10 分鐘和 300 秒內具有硬編碼的 60 秒任務輪詢頻率。

API 請求回應 執行工作 (.sync)
CreateVirtualCluster 支援 不支援
DeleteVirtualCluster 支援 支援
StartJobRun 支援 支援

支持 Amazon EMR EKSAPIs:

注意

「Step Functions 數」中的工作有最大輸入或結果資料大小的配額。當您傳送至其他服務或從其他服務接收資料時,這會將您限制為 256 KB 的資料,以 UTF -8 編碼字串形式。請參閱 與狀態機器執行相關的配額

以下內容包括建Task立虛擬叢集的狀態。

"Create_Virtual_Cluster": { "Type": "Task", "Resource": "arn:aws:states:::emr-containers:createVirtualCluster", "Parameters": { "Name": "MyVirtualCluster", "ContainerProvider": { "Id": "EKSClusterName", "Type": "EKS", "Info": { "EksInfo": { "Namespace": "Namespace" } } } }, "End": true }

以下內容包括將工作送出至虛擬叢集並等待其完成的Task狀態。

"Submit_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-containers:startJobRun.sync", "Parameters": { "Name": "MyJobName", "VirtualClusterId.$": "$.VirtualClusterId", "ExecutionRoleArn": "arn:aws:iam::<accountId>:role/job-execution-role", "ReleaseLabel": "emr-6.2.0-latest", "JobDriver": { "SparkSubmitJobDriver": { "EntryPoint": "s3://<amzn-s3-demo-bucket>/jobs/trip-count.py", "EntryPointArguments": [ "60" ], "SparkSubmitParameters": "--conf spark.driver.cores=2 --conf spark.executor.instances=10 --conf spark.kubernetes.pyspark.pythonVersion=3 --conf spark.executor.memory=10G --conf spark.driver.memory=10G --conf spark.executor.cores=1 --conf spark.dynamicAllocation.enabled=false" } }, "ConfigurationOverrides": { "ApplicationConfiguration": [ { "Classification": "spark-defaults", "Properties": { "spark.executor.instances": "2", "spark.executor.memory": "2G" } } ], "MonitoringConfiguration": { "PersistentAppUI": "ENABLED", "CloudWatchMonitoringConfiguration": { "LogGroupName": "MyLogGroupName", "LogStreamNamePrefix": "MyLogStreamNamePrefix" }, "S3MonitoringConfiguration": { "LogUri": "s3://<amzn-s3-demo-logging-bucket1>" } } }, "Tags": { "taskType": "jobName" } }, "End": true }

以下內容包括刪除虛擬叢集並等待刪除完成的Task狀態。

"Delete_Virtual_Cluster": { "Type": "Task", "Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync", "Parameters": { "Id.$": "$.VirtualClusterId" }, "End": true }

若要瞭解設定 IAM 使用時的權限 Step Functions 與其他 AWS 服務,請參閱Step Functions 式如何為整合式服務產生IAM原則