Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen und verwalten Sie Amazon EMR-Cluster auf EKS mit AWS Step Functions
Erfahren Sie, wie Sie mithilfe der Serviceintegration Amazon EMR on EKS eine Integration AWS Step Functions mit Amazon EMR on EKS durchführen können. APIs Die Serviceintegration APIs entspricht der entsprechenden Amazon EMR auf EKS APIs, aber nicht alle APIs unterstützen alle Integrationsmuster, wie in der folgenden Tabelle dargestellt.
Informationen zur Integration mit AWS Diensten in Step Functions finden Sie unter Integrieren von -Services undÜbergeben von Parametern an eine Service-API in Step Functions.
Wie sich die optimierte Amazon EMR on EKS-Integration von der Amazon EMR on EKS AWS SDK-Integration unterscheidet
-
Das Ausführen einer Aufgabe (.sync) Integrationsmuster wird unterstützt.
-
Es gibt keine Optimierungen für das Request Response (Antwort anfordern) Integrationsmuster.
-
Das Warten Sie auf einen Rückruf mit Task Token Integrationsmuster wird nicht unterstützt.
Anmerkung
Für die Integration mit Amazon EMR verfügt Step Functions über eine fest codierte Jobabfragefrequenz von 60 Sekunden für die ersten 10 Minuten und danach 300 Sekunden.
API | Antwort anfordern | Führen Sie einen Job aus (.sync) |
---|---|---|
CreateVirtualCluster | Unterstützt | Wird nicht unterstützt |
DeleteVirtualCluster | Unterstützt | Unterstützt |
StartJobRun | Unterstützt | Unterstützt |
Unterstütztes Amazon EMR auf EKS APIs:
Anmerkung
In Step Functions gibt es ein Kontingent für die maximale Eingabe- oder Ergebnisdatengröße für eine Aufgabe. Dies beschränkt Sie auf 256 KiB an Daten als UTF-8-kodierte Zeichenfolge, wenn Sie Daten an einen anderen Dienst senden oder von einem anderen Dienst empfangen. Siehe Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.
Im Folgenden wird ein Task
Status beschrieben, der einen virtuellen Cluster erstellt.
"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
}
Im Folgenden wird ein Task
Status beschrieben, der einen Auftrag an einen virtuellen Cluster weiterleitet und darauf wartet, dass er abgeschlossen ist.
"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
}
Der folgende Status beinhaltet einen Task
Status, der einen virtuellen Cluster löscht und darauf wartet, dass der Löschvorgang abgeschlossen ist.
"Delete_Virtual_Cluster": {
"Type": "Task",
"Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync",
"Parameters": {
"Id.$": "$.VirtualClusterId"
},
"End": true
}
Um mehr über die Konfiguration zu erfahren IAM Berechtigungen bei der Verwendung Step Functions bei anderen AWS Diensten, sieheSo generiert Step Functions IAM-Richtlinien für integrierte Dienste.