Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejecutar scripts SQL de StartJobRun Spark a través de la API
Las versiones 6.7.0 y posteriores de Amazon EMR en EKS incluyen un controlador de tareas de Spark SQL para que pueda ejecutar scripts de Spark SQL a través de la API StartJobRun. Puede suministrar archivos de punto de entrada de SQL para ejecutar directamente consultas de Spark SQL en Amazon EMR en EKS con la API de StartJobRun, sin modificar los scripts de Spark SQL existentes. En la siguiente tabla, se enumeran los parámetros de Spark compatibles con los trabajos de Spark SQL a través de la StartJobRun API.
Puede elegir entre los siguientes parámetros de Spark para enviarlos a un trabajo de Spark SQL. Use estos parámetros para anular las propiedades predeterminadas de Spark.
| Opción | Descripción |
|---|---|
|
--name NAME |
Nombre de la aplicación |
| --jars JARS | Lista de archivos jar separados por comas que se incluirán con el classpath de controlador y ejecutor. |
| --packages | Lista de coordenadas Maven de los archivos jar separadas por comas para incluirlas en los classpaths de controlador y ejecutor. |
| --exclude-packages | Lista separada por comas de groupId:artifactId, para excluir mientras se resuelven las dependencias proporcionadas en –packages para evitar conflictos de dependencia. |
| --repositories | Lista de repositorios remotos adicionales separados por comas para buscar las coordenadas Maven proporcionadas con –packages. |
| --files FILES | Lista de archivos separados por comas que se colocarán en el directorio de trabajo de cada ejecutor. |
| --conf PROP=VALUE | Propiedad de configuración de Spark. |
| --properties-file FILE | Ruta a un archivo desde el que cargar propiedades adicionales. |
| --driver-memory MEM | Memoria para el controlador. 1024 MB por defecto. |
| --driver-java-options | Opciones de Java adicionales para pasarlas al controlador. |
| --driver-library-path | Entradas adicionales de la ruta de la biblioteca para pasarlas al controlador. |
| --driver-class-path | Entradas de ruta de clases adicionales para pasarlas al controlador. |
| --executor-memory MEM | Memoria por ejecutor. 1 GB por defecto. |
| --driver-cores NUM | Número de núcleos utilizados por el controlador. |
| -- total-executor-cores NUM | Núcleos totales para todos los ejecutores. |
| --executor-cores NUM | Número de núcleos utilizados por cada ejecutor. |
| --num-executors NUM | Número de ejecutores que se van a lanzar. |
| -hivevar <key=value> | Sustitución de variables para aplicarla a los comandos de Hive, por ejemplo, -hivevar
A=B |
| -hiveconf <property=value> | Valor que se va a usar para la propiedad dada. |
Para un trabajo de Spark SQL, cree un start-job-run-request archivo.json y especifique los parámetros necesarios para la ejecución del trabajo, como en el siguiente ejemplo:
{ "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" } } } }