

# Usar uma consulta SQL para transformar dados
<a name="transforms-sql"></a>

Você pode usar uma transformação **SQL** para escrever sua própria transformação na forma de uma consulta SQL.

Um nó de transformação SQL pode ter vários conjuntos de dados como entradas, mas produz apenas um único conjunto de dados como saída. Ele contém um campo de texto, onde você insere a consulta do Apache SparkSQL. Você pode atribuir aliases a cada conjunto de dados usado como entrada, para ajudar a simplificar a consulta SQL. Para obter mais informações sobre a sintaxe SQL, consulte a [documentação do Spark SQL](https://spark.apache.org/docs/latest/sql-ref.html).

**nota**  
Se você usar uma transformação do Spark SQL com uma origem dos dados localizada em uma VPC, adicione um endpoint da VPC do AWS Glue à VPC que contém a origem dos dados. Para obter mais informações sobre como configurar endpoints de desenvolvimento, consulte [Adicionar um endpoint de desenvolvimento](https://docs.aws.amazon.com/glue/latest/dg/add-dev-endpoint.html), [Configurar seu ambiente para endpoints de desenvolvimento](https://docs.aws.amazon.com/glue/latest/dg/start-development-endpoint.html) e [Acessar o endpoint de desenvolvimento](https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-elastic-ip.html) no *Guia do desenvolvedor do AWS Glue*.

**Para usar um nó de transformação SQL no diagrama de trabalho**

1. (Opcional) adicione um nó de transformação ao diagrama de trabalho, se necessário. Escolha **Consulta SQL** para o tipo de nó.
**nota**  
 Se você usar uma sessão de visualização de dados e um SQL personalizado ou um nó de código personalizado, a sessão de visualização de dados executará o SQL ou o bloco de código no estado em que se encontra para todo o conjunto de dados. 

1. Na guia **Node properties** (Propriedades do nó), insira um nome para o nó no diagrama de trabalho. Se um nó pai ainda não estiver selecionado, ou se você quiser várias entradas para a transformação SQL, escolha um nó na lista **Node parents** (Nós pais) para usar como fonte de entrada para a transformação. Adicione nós pais conforme necessário.

1. Escolha a guia **Transform** (Transformação) no painel de detalhes do nó. 

1. Os conjuntos de dados de origem para a consulta SQL são identificados pelos nomes especificados no campo **Name** (Nome) de cada nó. Se você não quiser usar esses nomes, ou se eles não forem adequados para uma consulta SQL, você pode associar um nome a cada conjunto de dados. O console fornece aliases padrão, como `MyDataSource`.

   Por exemplo, se um nó pai do nó de transformação SQL for nomeado como `Rename Org PK field`, você poderá associar o nome `org_table` com este conjunto de dados. Esse alias pode ser usado na consulta SQL no lugar do nome do nó. 

1. No campo de entrada de texto, no cabeçalho **Code block** (Bloco de código), cole ou insira a consulta SQL. O campo de texto exibe o realce da sintaxe SQL e sugestões de palavra-chave.

1. Com o nó de transformação SQL selecionado, escolha a guia **Output schema** (Esquema de saída) e, em seguida, escolha **Edit** (Editar). Forneça as colunas e os tipos de dados que descrevem os campos de saída da consulta SQL.

   Especifique o esquema usando as seguintes ações na seção **Output schema** (Esquema de saída) da página:
   + Para renomear uma coluna, coloque o cursor na caixa de texto **Key** (Chave) da coluna (também conhecida como *field* (campo) ou *property key* [chave de propriedade]) e insira o novo nome.
   + Para alterar o tipo de dados de uma coluna, selecione o novo tipo de dados para a coluna na lista suspensa.
   + Para adicionar uma nova coluna de nível superior ao esquema, escolha o botão Overflow (excedente, ![A rectangle with an ellipsis (...) in the center](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/edit-schema-actions-button.png)) e, em seguida, escolha **Add root key** (Adicionar chave raiz). Novas colunas são adicionadas na parte superior do esquema.
   + Para remover uma coluna do esquema, escolha o ícone de exclusão (![An outline of a trash can](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/delete-icon-black.png)) à extrema direita do nome da chave. 

1. Quando terminar de especificar o esquema de saída, escolha **Apply** (Aplicar) para salvar suas alterações e saia do editor de esquema. Se não quiser salvar as alterações, escolha **Cancel** (Cancelar) para editar o editor de esquemas.

1. (Opcional) depois de configurar as propriedades do nó e da transformação, você pode previsualizar o conjunto de dados modificado escolhendo a guia **Data preview** (Previsualização de dados) no painel de detalhes do nó. Na primeira vez que você escolher essa guia para qualquer nó em seu trabalho, você receberá uma solicitação para fornecer uma função do IAM para acessar os dados. Há um custo associado ao uso desse recurso e o a cobrança começa assim que você fornece uma função do IAM.