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
Obtén información EMR sobre cómo AWS Step Functions integrarte con Amazon para EKS usar la integración de Amazon EMR 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 más información sobre la integración con AWS los servicios de Step Functions, consulte Integración de los servicios de yPasar parámetros a un servicio API en Step Functions.
En qué se diferencia la EKS integración optimizada de Amazon EMR on de la EKS AWS SDK integración de Amazon EMR on
-
Se admite el patrón de integración Ejecutar un trabajo (.sync).
-
No hay optimizaciones para el patrón de integración Respuesta de la solicitud.
-
No se admite el patrón de integración Cómo esperar una devolución de llamada con el token de tarea.
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 lo restringe a 256 KiB de datos en una cadena codificada en UTF -8 cuando envía o recibe 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 políticas de IAM para servicios integrados.