Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créez et gérez des EMR clusters Amazon sur EKS avec AWS Step Functions
Découvrez comment intégrer Amazon AWS Step Functions à EMR l'EKSaide de l'intégration EMR des EKS services AmazonAPIs. L'intégration des services est identique à celle du service Amazon EMR correspondant EKSAPIs, mais tous ne APIs sont pas APIs compatibles avec tous les modèles d'intégration, comme indiqué dans le tableau suivant.
Pour en savoir plus sur l'intégration aux AWS services dans Step Functions, reportez-vous Intégration des services aux sections etTransmission de paramètres à un service API dans Step Functions.
En quoi l'Amazon optimisé EMR sur EKS l'intégration est différent de l'Amazon EMR sur EKS AWS SDK l'intégration
-
Le modèle Exécuter une tâche (.sync) d'intégration est pris en charge.
-
Il n'y a aucune optimisation pour le modèle Réponse à la requête d'intégration.
-
Le modèle Attendre un rappel avec un jeton de tâche d'intégration n'est pas pris en charge.
Note
Pour l'intégration à AmazonEMR, Step Functions dispose d'une fréquence d'interrogation des offres d'emploi codée en dur de 60 secondes pendant les 10 premières minutes, puis de 300 secondes par la suite.
API | Réponse à la demande | Exécuter une tâche (.sync) |
---|---|---|
CreateVirtualCluster | Pris en charge | Non pris en charge |
DeleteVirtualCluster | Pris en charge | Pris en charge |
StartJobRun | Pris en charge | Pris en charge |
Amazon pris en charge EMR sur EKS APIs :
Note
Il existe un quota pour la taille maximale des données d'entrée ou de résultat pour une tâche dans Step Functions. Cela vous limite à 256 KiB de données sous forme de chaîne codée en UTF -8 lorsque vous envoyez ou recevez des données d'un autre service. Consultez Quotas liés aux exécutions par les machines de l'État.
Ce qui suit inclut un Task
état qui crée un cluster virtuel.
"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
}
Ce qui suit inclut un Task
état qui soumet une tâche à un cluster virtuel et attend qu'elle soit terminée.
"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
}
Ce qui suit inclut un Task
état qui supprime un cluster virtuel et attend que la suppression soit terminée.
"Delete_Virtual_Cluster": {
"Type": "Task",
"Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync",
"Parameters": {
"Id.$": "$.VirtualClusterId"
},
"End": true
}
Pour en savoir plus sur la configuration IAM autorisations lors de l'utilisation Step Functions avec d'autres AWS services, voirComment Step Functions génère IAM des politiques pour les services intégrés.