Ausführen von Spark-SQL-Skripts über die StartJobRun-API - Amazon EMR

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.

Ausführen von Spark-SQL-Skripts über die StartJobRun-API

Die Versionen 6.7.0 und höher von Amazon EMR in EKS enthalten einen Spark-SQL-Auftrag-Treiber, sodass Sie Spark-SQL-Skripts über die StartJobRun-API ausführen können. Sie können SQL-Einstiegspunktdateien bereitstellen, um Spark-SQL-Abfragen direkt auf Amazon EMR in EKS mit der StartJobRun-API auszuführen, ohne Änderungen an vorhandenen Spark-SQL-Skripts vornehmen zu müssen. In der folgenden Tabelle sind Spark-Parameter aufgeführt, die für die Spark-SQL-Aufträge über die StartJobRun-API unterstützt werden.

Sie können aus den folgenden Spark-Parametern wählen, um sie an einen Spark-SQL-Auftrag zu senden. Verwenden Sie diese Parameter, um die Spark-Standardeigenschaften zu überschreiben.

Option Beschreibung

--Name NAME

Anwendungsname
--jars JARS Durch Kommas getrennte Liste von JAR-Dateien, die in den Klassenpfad des Treibers und der Ausführung aufgenommen werden sollen.
--packages Durch Kommas getrennte Liste der Maven-Koordinaten von JAR-Dateien, die in die Klassenpfade des Treibers und des Ausführers aufgenommen werden sollen.
--exclude-packages Durch Kommas getrennte Liste von groupID:artifactId, die beim Auflösen der in –packages angegebenen Abhängigkeiten ausgeschlossen werden sollen, um Abhängigkeitskonflikte zu vermeiden.
--repositories Kommagetrennte Liste zusätzlicher Remote-Repositorys, um nach den mit –packages angegebenen Maven-Koordinaten zu suchen.
--files FILES Durch Kommas getrennte Liste von Dateien, die im Arbeitsverzeichnis jedes Ausführers abgelegt werden sollen.
--conf PROP=VALUE Spark-Konfigurationseigenschaft.
--properties-file FILE Pfad zu einer Datei, aus der zusätzliche Eigenschaften geladen werden sollen.
--driver-memory MEM Arbeitsspeicher für den Treiber. Standard 1 024 MB.
--driver-java-options Zusätzliche Java-Optionen, die an den Treiber übergeben werden.
--driver-library-path Zusätzliche Bibliothekspfadeinträge, die an den Treiber übergeben werden.
--driver-class-path Zusätzliche Klassenpfadeinträge, die an den Treiber übergeben werden.
--executor-memory MEM Arbeitsspeicher pro Ausführer. Standard: 1 GB.
--driver-cores NUM Anzahl der vom Treiber verwendeten Kerne.
--total-executor-cores NUM Gesamtzahl der Kerne für alle Ausführer.
--executor-cores NUM Anzahl der von jedem Ausführer verwendeten Kerne.
--num-executors NUM Anzahl der zu startenden Ausführer.
-hivevar <key=value> Variablenersetzung zur Anwendung auf Hive-Befehle, zum Beispiel -hivevar A=B
-hiveconf <property=value> Wert, der für die angegebene Eigenschaft verwendet werden soll.

Erstellen Sie für einen Spark-SQL-Auftrag eine start-job-run-request.json-Datei und geben Sie die erforderlichen Parameter für Ihre Auftragsausführung an, wie im folgenden Beispiel:

{ "name": "myjob", "virtualClusterId": "123456", "executionRoleArn": "iam_role_name_for_job_execution", "releaseLabel": "emr-6.7.0-latest", "jobDriver": { "sparkSqlJobDriver": { "entryPoint": "entryPoint_location", "sparkSqlParameters": "--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "spark-defaults", "properties": { "spark.driver.memory":"2G" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED", "cloudWatchMonitoringConfiguration": { "logGroupName": "my_log_group", "logStreamNamePrefix": "log_stream_prefix" }, "s3MonitoringConfiguration": { "logUri": "s3://my_s3_log_location" } } } }