

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
<a name="emr-eks-jobs-spark-sql-parameters"></a>

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 | Description (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"
      }
    }
  }
}
```