本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 有何不同
-
支援執行任務 (.sync)整合模式。
-
請求回應 整合模式沒有最佳化。
-
不支援使用任務權杖等待回呼整合模式。
注意
對於與 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原則。