Exécution de SQL scripts Spark via StartJobRun API - 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 SQL scripts Spark via StartJobRun API

Amazon EMR sur les EKS versions 6.7.0 et supérieures inclut un pilote de SQL tâche Spark afin que vous puissiez exécuter des SQL scripts Spark via le StartJobRunAPI. Vous pouvez fournir des fichiers de SQL point d'entrée pour exécuter directement des SQL requêtes Spark EMR sur Amazon EKS avec le StartJobRunAPI, sans aucune modification des scripts Spark SQL existants. Le tableau suivant répertorie les paramètres Spark pris en charge pour les SQL tâches Spark via le StartJobRun API.

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

Option Description

--nom NAME

Nom de l'application
--bocaux JARS 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 séparée par des virgules de groupId :artifactId, à exclure lors de la résolution des dépendances fournies dans —packages pour é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.
--fichiers FILES Liste des fichiers, séparés par des virgules, à placer dans le répertoire de travail de chaque exécuteur.
--conf = PROP VALUE Propriété de configuration Spark.
--properties-file FILE Chemin d'accès au fichier à partir duquel charger des propriétés supplémentaires.
--pilote-mémoire 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.
--exécuteur-mémoire 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.
--exécuteurs-cœurs 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 SQL tâche Spark, créez un fichier start-job-run-request .json et spécifiez 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" } } } }