使用创建和管理 Amazon EMR EKS 集群 Amazon Step Functions - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用创建和管理 Amazon EMR EKS 集群 Amazon Step Functions

了解如何EKS使用 Amaz EMR on EMR on EKS 服务集成 Amazon Step Functions 与亚马逊集成APIs。服务集成与相应APIs的 Amaz EMR on 相同 EKSAPIs,但并非所有集成模式都APIs支持所有集成模式,如下表所示。

要了解如何在 Step Functions 中与 Amazon 服务集成,请参阅集成 服务在 Step Functions API 中向服务传递参数

集成时优化的 Amaz EMR on EKS 与集成时的 Amaz EMR on EKS Amazon SDK 有何不同
注意

为了与亚马逊集成EMR,Step Functions在之后的前10分300秒内具有硬编码的60秒作业轮询频率。

API 请求响应 运行作业 (.sync)
CreateVirtualCluster 支持 不支持
DeleteVirtualCluster 支持 支持
StartJobRun 支持 支持

在以下方面支持 Amaz EMR on EKSAPIs:

注意

在 Step Functions 中,任务的最大输入或结果数据大小有一个配额。这会限制您在向其他服务发送数据或从其他服务接收数据时,以 -8 编码字符串形式存储 256 KiB 的数据。UTF请参阅 与状态机执行相关的配额

以下内容包含一个创建虚拟集群的 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 对于其他 Amazon 服务,请参阅Step Functions 如何为集成服务生成 IAM 策略