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

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

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

了解如何EKS使用 Amazon EMR on EKS service integration AWS Step Functions 與 Amazon EMR on 整合APIs。服務整合與 EMR上對應的 Amazon EKS APIs相同APIs,但並非所有 都APIs支援所有整合模式,如下表所示。

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

Optimized Amazon EMR on EKS integration 與 Amazon EMR on EKS AWS SDK integration 有何不同
注意

對於與 Amazon 的整合EMR,Step Functions 在前 10 分鐘和之後 300 秒有硬式編碼的 60 秒任務輪詢頻率。

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

支援 EMRAmazon on EKS APIs:

注意

Step Functions 中任務的最大輸入或結果資料大小有配額。當您向另一個 服務傳送或接收資料時,這會限制您將 256 KiB 的資料做為 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原則