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.
Rufen Sie Amazon EMR auf EKS an mit AWS Step Functions
Step Functions kann bestimmte AWS Dienste direkt von der Amazon States Language aus steuern. Weitere Informationen zur Arbeit mit AWS Step Functions und den zugehörigen Integrationen finden Sie im Folgenden:
Wie sich die Integration Optimized Amazon EMR on EKS 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 auf einen Callback mit dem Aufgabentoken Integrationsmuster wird nicht unterstützt.
Anmerkung
Für die Integration mit Amazon EMR verfügt Step Functions für die ersten 10 Minuten und 300 Sekunden danach über eine fest programmierte Abfragehäufigkeit von 60 Sekunden für die Jobabfrage.
Verwenden Sie zur Integration AWS Step Functions mit Amazon EMR auf EKS die Serviceintegrations-APIs von Amazon EMR auf EKS. Die Serviceintegrations-APIs sind dieselben wie die entsprechenden Amazon EMR on EKS-APIs, aber nicht alle APIs unterstützen alle Integrationsmuster, wie in der folgenden Tabelle dargestellt.
API | Antwort anfordern | Einen Job ausführen (.sync) |
---|---|---|
CreateVirtualCluster | ✓ | |
DeleteVirtualCluster | ✓ | ✓ |
StartJobRun | ✓ | ✓ |
Unterstützte 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 262.144 Byte 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 State-Machine-Ausführungen.
Im Folgenden finden Sie einen Task
Status, 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 finden Sie einen Task
Status, der einen Job an einen virtuellen Cluster übermittelt 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://<mybucket>
/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://<mylogsbucket>
"
}
}
},
"Tags": {
"taskType"
: "jobName"
}
},
"End": true
}
Im Folgenden finden Sie 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
}
Informationen zur Konfiguration von IAM bei der Verwendung von Step Functions mit anderen AWS Diensten finden Sie unterIAM-Richtlinien für integrierte Dienste.