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
-
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 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.