Adicionando transformações SQL
Você pode incluir tabelas baseadas em SQL em tarefas de transformação. Uma transformação SQL permite inserir uma consulta SQL SELECT em um pipeline para definir transformações complexas ou simples. Você pode deixar o SQL assistant gerar uma consulta desde um prompt de texto usando IA generativa. Você também pode usar macros para adaptar a consulta para execução se um carregamento inicial ou um carregamento incremental for executado.
Para obter mais informações sobre como criar uma tarefa de transformação, consulte Transformando dados.
Adicionando uma transformação SQL
Para adicionar uma transformação SQL em uma tarefa de dados Transformar:
-
Em Transformar, selecione os conjuntos de dados a serem incluídos na consulta e clique em Adicionar transformação SQL.
Defina o nome da transformação em Nome. Para obter mais informações sobre as outras configurações, consulte Configurações.
Clique em Adicionar quando estiver pronto para criar a transformação SQL.
Editar transformação SQL é exibido.
-
Escreva a consulta para retornar a tabela baseada em SQL no painel de consulta.
Para obter mais informações, consulte Editando a consulta SQL.
-
Clique em Executar consulta.
Isso buscará metadados e uma pré-visualização dos dados.
-
Revise os parâmetros em Parâmetros.
Para obter mais informações, consulte Parâmetros.
-
Defina uma chave primária em Metadados.
Para obter mais informações, consulte Metadados.
-
Quando estiver satisfeito com os resultados da consulta, clique em Salvar e fechar. O conjunto de dados agora é adicionado à lista de destinos e você pode visualizá-lo.
Editando a consulta SQL
Digite a consulta para retornar a tabela baseada em SQL no painel de consulta. A consulta só pode ler os conjuntos de dados de origem selecionados, mas você pode adicionar mais conjuntos de dados de origem com Adicionar.
-
Você pode criar uma instrução para carregar um conjunto de dados de Objetos. Clique em
e, em seguida, em Gerar instrução select no editor.
-
Você pode copiar o nome de um conjunto de dados para a área de transferência clicando em
e depois em Copiar.
-
Clique em > para mover um conjunto de dados ou nome de coluna para o editor.
-
Clique em
para pesquisar e substituir texto no editor.
Se a carga incremental for usada, você poderá usar Macros para adaptar a consulta para execução se uma carga inicial ou uma carga incremental for executada.
Para obter mais informações, consulte Usando macros para adaptar a consulta ao tipo de carregamento.
Atalhos do teclado
-
Ctrl+F Pesquisar e substituir
-
Ctrl+/ Comentar/remover comentário na linha atual
-
Ctrl+Enter Executar a consulta
-
Ctrl+Z Desfazer
-
Ctrl+Y Refazer
Visualizando resultados
Você pode visualizar os resultados usando uma amostra dos dados em Resultados.
Você deve receber as seguintes funções para poder visualizar dados:
-
Pode visualizar dados no espaço onde reside a conexão.
-
Pode visualizar no espaço onde reside o projeto.
Os resultados usando uma amostra dos dados são exibidos. Você pode definir quantas linhas de dados incluir na amostra com Número de linhas.
-
Clique em Última consulta executada para ver a última hora de execução e a duração da última consulta executada.
Filtrando os resultados
Você pode filtrar os resultados por uma ou mais colunas.
-
Clique em
na primeira coluna para filtrar e depois em Filtrar.
Selecione qual operador usar e qual valor filtrar.
Você pode adicionar mais filtros de coluna clicando em Adicionar filtro.
O filtro afetará apenas os dados de amostra existentes.
Ordenando os resultados
Você pode classificar a amostra de dados por uma coluna específica.
-
Clique em
na coluna para classificar e depois em Classificar em ordem crescente ou Classificar em ordem decrescente.
A classificação afetará apenas os dados de amostra existentes. Se você usava um filtro para incluir apenas pedidos de 2024 e inverter a ordem de classificação, os dados de amostra ainda conterão apenas pedidos de 2024.
Gerenciando as colunas exibidas
Você pode selecionar quais colunas exibir nos resultados. A seleção não é salva quando você salva a transformação.
-
Para ocultar uma coluna, clique em
na coluna e depois em Ocultar coluna.
-
Para gerenciar a exibição de todas as colunas, clique em
em qualquer coluna e depois em Colunas exibidas.
Parâmetros
Clique em Parâmetros para alterar os parâmetros na consulta SELECT. Os parâmetros devem ser mapeados para os objetos de origem ou de destino.
Os parâmetros são mapeados automaticamente quando você:
-
Use Gerar instrução select no editor em Objetos.
-
Clique em > para mover um conjunto de dados ou nome de coluna para o editor.
-
Um nome de parâmetro corresponde a um nome de tabela das tabelas em Objetos.
Você pode mapear para
-
Estruturas de histórico tipo 2 (_history)
-
Estruturas atuais
-
Objetos alvo
Você só pode mapear objetos de destino quando um parâmetro é definido dentro de uma macro incremental.
Metadados
Você pode editar as configurações de metadados em Metadados.
-
Defina chaves primárias na coluna Chave.
-
Defina se a coluna é anulável na coluna Anulável.
-
Selecione uma coluna e clique em Editar para definir o nome da coluna, chave, anulável e tipo de dados.
Executando a consulta
Você pode executar a consulta a qualquer momento durante o desenvolvimento clicando em Executar consulta. Na primeira vez que você executar uma consulta, os metadados serão recuperados. Quando a consulta for executada, você pode ir para Metadados e definir uma chave primária, que é necessária para que a transformação seja concluída.
Usando macros para adaptar a consulta ao tipo de carregamento
Se a carga incremental for usada, você poderá usar Macros para adaptar a consulta para execução se uma carga inicial ou uma carga incremental for executada.
Selecione a macro e adicione a consulta dentro da respectiva cláusula.
-
Q_RUN_INCREMENTAL adiciona uma cláusula em que você pode colocar uma consulta que só é executada quando um carregamento inicial é executado.
-
Q_RUN_INITIAL_LOAD adiciona uma cláusula em que você pode colocar uma consulta que só é executada quando um carregamento inicial é executado.
Não é necessário especificar a consulta completa com cada macro. Você pode ajustar ou adicionar código com base no seu caso de uso.
Caso de uso: filtro incremental usando intervalo de datas:
Neste caso de uso, um conjunto de dados de pedidos precisa ser transformado com SQL personalizado. Como este é um conjunto de dados grande, você deseja incluir filtragem incremental para garantir que a carga incremental considere apenas os pedidos das últimas 12 horas.
Esta é a consulta base:
Este é o filtro a ser aplicado durante a execução incremental, onde você considera apenas os pedidos que foram adicionados nas últimas 12 horas:
Esta é a consulta completa, usando a macro de filtro e com os nomes das tabelas substituídos pela notação ${TABLE}:
Isso resulta em uma consulta de carregamento inicial:
E uma consulta de carregamento incremental:
Caso de uso: filtro incremental usando dados no alvo:
Neste caso de uso, um conjunto de dados de pedidos precisa ser transformado com SQL personalizado. Como os pedidos são um grande conjunto de dados, você deseja incluir filtragem incremental para garantir que a carga incremental considere apenas registros de detalhes do pedido mais recentes que os dados na tabela de destino. Você também deseja marcar se uma linha foi processada pelo carregamento inicial ou por um carregamento incremental.
Esta é a consulta base:
Este é o filtro a ser aplicado durante a execução incremental. “ORDERS_DERIVED” é o nome do conjunto de dados de destino.
Esta é a consulta completa, usando a macro de filtro e com os nomes das tabelas substituídos pela notação ${TABLE}. LOADED_BY é definido como INIT se o carregamento for inicial e INCR se o carregamento for incremental:
Isso resulta em uma consulta de carregamento inicial:
E uma consulta de carregamento incremental:
Configurações
Clique em para editar as configurações da transformação SQL.
Insira um nome para o conjunto de dados de destino em Nome.
Você também pode adicionar uma descrição mais longa em Descrição.
Em Materialização, selecione se a saída transformada deve ser materializada ou não. Você pode optar por herdar a configuração das configurações da tarefa de dados.
-
On criará tabelas e tratará do processamento ELT associado.
-
Off criará visualizações que realizam transformações dinamicamente.
Em Armazenamento de Dados Históricos (Tipo 2), selecione se você deseja manter os dados históricos. Você pode optar por herdar a configuração das configurações da tarefa de dados. Essa configuração exige que a opção Materialização esteja ativada.
A carga incremental permite ajustar a consulta para uma carga de dados incremental aplicando filtros ou outras condições para reduzir o conjunto de dados que está sendo processado usando macros. A carga incremental só estará disponível se os dados forem materializados como tabelas.
-
Quando a Carga incremental está Ativada
A primeira execução da tarefa realizará um carregamento inicial, inserindo todos os resultados da consulta em sua tabela de destino. As execuções subsequentes executarão cargas incrementais aproveitando filtros ou condições específicas que você definiu para processamento incremental. Durante o carregamento incremental, a tarefa processará dados apenas como uma atualização ou inserção; as exclusões não são gerenciadas.
-
Quando a Carga incremental está Desativada
A primeira execução da tarefa realizará um carregamento inicial, inserindo todos os resultados da consulta em sua tabela de destino. As execuções subsequentes processarão todos os resultados da consulta comparando-os com sua tabela de destino e processando registros novos, alterados ou excluídos.
Prática recomendada
-
Quando você adiciona uma transformação SQL, uma chave primária não é definida automaticamente. Adicione uma chave ao conjunto de dados na guia Conjunto de dados.
-
Não crie cabeçalhos de coluna na saída transformada manualmente.
-
Evite usar SELECT com *, pois isso pode retornar colunas diferentes todas as vezes que a consulta for executada. Se houve alteração no esquema, altere a consulta de acordo e execute Descrever tabela de novo. Em seguida, você poderá editar colunas e ajustar tabelas.