Crea y gestiona EMR clústeres de Amazon EKS con AWS Step Functions - AWS Step Functions

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crea y gestiona EMR clústeres de Amazon EKS con AWS Step Functions

Obtenga información sobre cómo integrar AWS Step Functions con Amazon EMR sobre el EKS uso de la integración EMR de Amazon on EKS ServiceAPIs. La integración del servicio APIs es la misma que la de EMR Amazon correspondiente EKSAPIs, pero no todas APIs admiten todos los patrones de integración, como se muestra en la siguiente tabla.

Para obtener información sobre la integración con AWS servicios en Step Functions, consulte Integración de los servicios de yPasar parámetros a un servicio API en Step Functions.

EMREn qué se diferencia la EKS integración optimizada de Amazon on de Amazon EMR on EKS AWS SDKintegración
nota

Para su integración con AmazonEMR, Step Functions tiene una frecuencia de sondeo de trabajo codificada de 60 segundos durante los primeros 10 minutos y 300 segundos después.

API Respuesta de la solicitud Ejecutar un trabajo (.sync)
CreateVirtualCluster Compatible No compatible
DeleteVirtualCluster Soportado Soportado
StartJobRun Soportado Soportado

Amazon compatible EMR en EKSAPIs:

nota

Hay una cuota para el tamaño máximo de los datos de entrada o resultado para una tarea en Step Functions. Esto te limita a 256 KB de datos en forma de cadena codificada en UTF -8 cuando envíes o recibas datos de otro servicio. Consulte Cuotas relacionadas con ejecuciones de máquinas de estado.

El ejemplo siguiente incluye un estado Task que crea un clúster virtual.

"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 }

El ejemplo siguiente incluye un estado Task que envía un trabajo a un clúster virtual y espera a que finalice.

"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 }

El ejemplo siguiente incluye un estado Task que elimina un clúster virtual y espera a que finalice.

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

Para obtener información sobre la configuración IAM permisos al usar Step Functions con otros AWS servicios, consulteCómo Step Functions genera IAM políticas para servicios integrados.