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 EMR cluster Amazon su EKS AWS Step Functions
Scopri come integrarti AWS Step Functions con Amazon EMR EKS utilizzando Amazon EMR on EKS Service IntegrationAPIs. L'integrazione APIs del servizio è la stessa del corrispondente Amazon EMR on EKSAPIs, 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 servizio API in Step Functions.
In che modo Amazon ottimizzato EMR sull'EKSintegrazione è diverso da Amazon EMR sull'EKS AWS SDKintegrazione
-
Il modello di Esegui un processo (.sync) integrazione è supportato.
-
Non ci sono ottimizzazioni per il modello di Richiesta e risposta integrazione.
-
Il modello di Attendi una richiamata con Task Token integrazione non è supportato.
Nota
Per l'integrazione con AmazonEMR, Step Functions ha 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 supportato EMR su EKSAPIs:
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 IAM politiche per servizi integrati.