Crea e gestisci cluster Amazon EMR su EKS con AWS Step Functions - AWS Step Functions

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea e gestisci cluster Amazon EMR su EKS con AWS Step Functions

Scopri come effettuare l'integrazione AWS Step Functions con Amazon EMR su EKS utilizzando l'integrazione dei servizi Amazon EMR su EKS. APIs L'integrazione dei APIs servizi è la stessa del corrispondente Amazon EMR su EKS APIs, ma non tutti APIs supportano tutti i modelli di integrazione, come mostrato nella tabella seguente.

Per ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere Integrazione dei servizi ePassaggio di parametri a un'API di servizio in Step Functions.

In che modo l'integrazione ottimizzata di Amazon EMR su EKS è diversa dall'integrazione Amazon EMR su EKS SDK AWS
Nota

Per l'integrazione con Amazon EMR, Step Functions utilizza una frequenza di polling dei job codificata di 60 secondi per i primi 10 minuti e per i 300 secondi successivi.

API Richiesta di risposta Esegui un lavoro (.sync)
CreateVirtualCluster Supportato Non supportato
DeleteVirtualCluster Supportato Supportato
StartJobRun Supportato Supportato

Amazon EMR supportato su EKS: APIs

Nota

Esiste una quota per la dimensione massima dei dati di input o risultato per un'attività in Step Functions. Ciò limita a 256 KB di dati come stringa con codifica UTF-8 quando invii o ricevi dati da un altro servizio. Per informazioni, consulta Quote relative alle esecuzioni di macchine a stati.

Quanto segue include uno Task stato che crea un cluster virtuale.

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

Quanto segue include uno Task stato che invia un processo a un cluster virtuale e attende che venga completato.

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

Quanto segue include uno Task stato che elimina un cluster virtuale e attende il completamento dell'eliminazione.

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

Per ulteriori informazioni sulla configurazione IAM autorizzazioni durante l'utilizzo Step Functions con altri AWS servizi, vediIn che modo Step Functions genera policy IAM per servizi integrati.