Exécution de scripts Spark SQL via l'API StartJobRun - Amazon EMR

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.

Exécution de scripts Spark SQL via l'API StartJobRun

Les versions 6.7.0 et ultérieures d'Amazon EMR on EKS comprennent un pilote de tâche Spark SQL qui vous permet d'exécuter des scripts Spark SQL via l'API StartJobRun. Vous pouvez fournir des fichiers de points d'entrée SQL pour exécuter directement des requêtes Spark SQL sur Amazon EMR on EKS à l'aide de l'API StartJobRun, sans aucune modification des scripts Spark SQL existants. Le tableau suivant répertorie les paramètres Spark pris en charge pour les tâches SQL Spark via l'API StartJobRun.

Vous pouvez choisir parmi les paramètres Spark suivants à envoyer à une tâche SQL Spark. Utilisez ces paramètres pour remplacer les propriétés Spark par défaut.

Option Description

--name NOM

Nom de l'application
--jars fichiers JAR Liste des fichiers JAR, séparés par des virgules, à inclure dans le chemin de classe du pilote et de l'exécuteur.
--packages Liste des coordonnées Maven des fichiers JAR, séparées par des virgules, à inclure dans les chemins de classe du pilote et de l'exécuteur.
--exclude-packages Liste des groupId:artifactId, séparés par des virgules, à exclure lors de la résolution des dépendances fournies dans –packages afin d'éviter les conflits de dépendances.
--repositories Liste des référentiels distants supplémentaires, séparés par des virgules, à rechercher pour les coordonnées maven données fournies –packages.
--files FICHIERS Liste des fichiers, séparés par des virgules, à placer dans le répertoire de travail de chaque exécuteur.
--conf PROPRIÉTÉ = VALEUR Propriété de configuration Spark.
--properties-file FICHIER Chemin d'accès au fichier à partir duquel charger des propriétés supplémentaires.
--driver-memory MEM Mémoire pour le pilote. Par défaut, 1024 Mo.
--driver-java-options Options Java supplémentaires à transmettre au pilote.
--driver-library-path Entrées de chemin de bibliothèque supplémentaires à transmettre au pilote.
--driver-class-path Entrées de chemin de classe supplémentaires à transmettre au pilote.
--executor-memory MEM Mémoire par exécuteur. Valeur par défaut : 1 Go.
--driver-cores NUM Nombre de cœurs utilisés par le pilote.
--total-executor-cores NUM Nombre total de cœurs pour tous les exécuteurs.
--executor-cores NUM Nombre de cœurs utilisés par chaque exécuteur.
--num-executors NUM Nombre d'exécuteurs à lancer.
-hivevar <key=value> Substitution de variables à appliquer aux commandes Hive, par exemple, -hivevar A=B
-hiveconf <property=value> Valeur à utiliser pour la propriété donnée.

Pour une tâche SQL Spark, créez un fichier start-job-run-request.json et indiquez les paramètres requis pour l'exécution de votre tâche, comme dans l'exemple suivant :

{ "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" } } } }