

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

Você pode gerar automaticamente um programa Scala de extração, transformação e carga (ETL) usando o console do AWS Glue e modificá-lo conforme necessário antes de atribui-lo a um trabalho. Ou, você pode escrever seu próprio programa do zero. Para obter mais informações, consulte [Configurar propriedades de trabalho para trabalhos do Spark no AWS Glue](add-job.md). Em seguida, o AWS Glue compila seu programa Scala no servidor antes de executar o trabalho associado.

Para ter certeza de que seu programa compila sem erros e é executado como esperado, é muito importante carregá-lo em um endpoint de desenvolvimento em um REPL (Read-Eval-Print Loop) ou em um caderno Jupyter e testá-lo antes de executá-lo em um trabalho. Como o processo de compilação ocorre no servidor, você não terá uma boa visibilidade dos problemas que ocorrem lá.

## Testar um programa de ETL Scala em um caderno Jupyter em um endpoint de desenvolvimento
<a name="aws-glue-programming-scala-using-notebook"></a>

Para testar um programa Scala em um endpoint de desenvolvimento do AWS Glue, configure o endpoint de desenvolvimento conforme descrito em [Adicionar um endpoint de desenvolvimento](add-dev-endpoint.md).

Em seguida, conecte-o a um caderno Jupyter que esteja em execução localmente na sua máquina ou remotamente em um servidor de cadernos do Amazon EC2. Para instalar uma versão local de um caderno Jupyter, siga as instruções em [Tutorial: caderno Jupyter no JupyterLab](dev-endpoint-tutorial-local-jupyter.md).

A única diferença entre executar o código Scala e executar o código PySpark no seu notebook é que você deve iniciar cada parágrafo no notebook com o seguinte:

```
%spark
```

Isso impede que o servidor do notebook seja padronizado para o tipo do PySpark do intérprete Spark.

## Testar um programa de ETL Scala em um Scala REPL
<a name="aws-glue-programming-scala-using-repl"></a>

Você pode testar um programa Scala em um endpoint do desenvolvedor usando o Scala REPL do AWS Glue. Siga as instruções em [Tutorial: usar um caderno do SageMaker AITutorial: usar um shell REPL](dev-endpoint-tutorial-repl.md), exceto no final do comando SSH para REPL, substitua `-t gluepyspark` por `-t glue-spark-shell`. Isso invoca o Scala REPL do AWS Glue.

Para fechar o REPL quando você concluir, digite `sys.exit`.