

# Uso de Scala para programar scripts de ETL de AWS Glue
<a name="glue-etl-scala-using"></a>

Puede generar automáticamente un programa de extracción, transformación y carga (ETL) Scala usando la consola de AWS Glue y modificándolo según sea necesario antes de asignarlo a un flujo de trabajo. O bien puede escribir su propio programa desde cero. Para obtener más información, consulte [Configuración de las propiedades de trabajos para trabajos de Spark en AWS Glue](add-job.md). AWS Glue compila el programa de Scala en el servidor antes de ejecutar el flujo de trabajo asociado.

Para asegurarse de que el programa se compila sin errores y se ejecuta según lo previsto, es muy importante que lo cargue en un punto de conexión de desarrollo en REPL (Read-Eval-Print Loop) o un cuaderno de Jupyter y que lo pruebe antes de ejecutarlo en un flujo de trabajo. Debido a que el proceso de compilación se realiza en el servidor, no tendrá una visibilidad adecuada de los problemas que se produzcan en él.

## Prueba de un programa ETL de Scala en un cuaderno de Jupyter en un punto de conexión de desarrollo
<a name="aws-glue-programming-scala-using-notebook"></a>

Para probar un programa Scala en un enlace de desarrollo de AWS Glue, configure el punto de enlace de desarrollo tal y como se describe en [Añadir un punto de conexión de desarrollo.](add-dev-endpoint.md).

A continuación, conéctelo a un cuaderno de Jupyter que se ejecute localmente en la máquina o de forma remota en un servidor de cuadernos de Amazon EC2. Para instalar una versión local de un cuaderno de Jupyter, siga las instrucciones de [Tutorial: cuaderno de Jupyter en JupyterLab](dev-endpoint-tutorial-local-jupyter.md).

La única diferencia entre ejecutar código de Scala y ejecutar código de PySpark en su bloc de notas es que debe comenzar cada párrafo del bloc de notas con lo siguiente:

```
%spark
```

De este modo se impide que el servidor de bloc de notas cambie de forma predeterminada a la versión PySpark del intérprete de Spark.

## Prueba de un programa ETL de Scala en un REPL de Scala
<a name="aws-glue-programming-scala-using-repl"></a>

Puede probar un programa Scala en un punto de enlace de desarrollo con un REPL de Scala de AWS Glue. Siga las instrucciones de [Tutorial: Uso de un cuaderno de IA de SageMakerTutorial: Utilice un REPL Shell](dev-endpoint-tutorial-repl.md), excepto al final del comando SSH-to-REPL, reemplace `-t gluepyspark` por `-t glue-spark-shell`. Esto invoca el REPL de Scala de AWS Glue.

Para cerrar el REPL cuando termine, escriba `sys.exit`.