Skip to content

Seu primeiro Dataflow ​

Tipo
Tutorial
Para
Engenharia de dados
Na tela
HorusETL › Data Flows

Você vai levar as vendas de um banco SQL Server para uma tabela do HorusDW, publicar o Dataflow numa Mesa de Dados, rodar a primeira carga com o histórico inteiro e agendar a recarga diária dos últimos 3 dias.

O exemplo usa a tabela pedidos de um ERP fictício da Loja Exemplo. Troque pelos nomes da sua origem.

Antes de começar ​

1. Criar o Dataflow ​

  1. No topo do HorusETL, confira que o Agente ETL escolhido é o que enxerga o banco.
  2. Abra Data Flows e entre em Minha Mesa.
  3. Clique em Criar Novo Dataflow. O editor abre vazio.
  4. No campo do nome, escreva Vendas Loja Exemplo.

O Dataflow nasce na sua Minha Mesa, onde só você o vê e pode testar à vontade.

2. Ler a origem ​

  1. Na paleta, abra Bancos de Dados e arraste a conexão do ERP para a área de desenho.
  2. Clique no nó e escreva a consulta:
sql
SELECT p.id           AS PEDIDO_ID,
       p.data_emissao AS DATA_EMISSAO,
       p.cliente_id   AS CLIENTE_ID,
       p.valor_total  AS VALOR_TOTAL
FROM pedidos p
WHERE p.data_emissao BETWEEN '{StartDate}' AND '{EndDate}'

{StartDate} e {EndDate} são as pontas da janela de datas, preenchidas pelo Agente em cada execução. É por elas que a carga diária vai ler só os últimos dias.

3. Gravar no HorusDW ​

  1. Na paleta, abra Destinos e arraste DataWarehouse para a área de desenho.
  2. Ligue a saída do nó de banco à entrada do nó DataWarehouse.
  3. No nó DataWarehouse, em Tabela de destino, escolha Criar nova tabela e dê o nome vendas. A tabela recebe as colunas da consulta.
  4. Clique em Salvar.

4. Escolher a carga ​

  1. Na seção Carga do nó, em Extração, escolha Janela.
  2. Em Coluna de janela, escolha DATA_EMISSAO.
  3. Em Gravação, escolha Substituir a janela.
  4. Clique em Salvar.

Com esse par, cada execução apaga no destino os pedidos da janela pedida e insere o que a consulta trouxe, sem tocar no resto do histórico. DATA_EMISSAO serve como coluna de janela porque não muda depois que o pedido nasce. Os outros pares estão em Tipos de carga.

Se a seção mostrar "As colunas ainda não são conhecidas.", clique em Executar Todos os Nós uma vez e volte a ela.

5. Testar no editor ​

  1. Clique em Executar Todos os Nós e espere os nós ficarem verdes.
  2. Abra o nó de banco e confira a prévia das linhas.

Um nó vermelho mostra a mensagem do erro ao ser aberto. Os erros mais comuns estão em Problemas.

6. Publicar ​

  1. Volte para Minha Mesa.
  2. Na linha do Dataflow, clique em Publicar em uma mesa.
  3. Em Mesa de Dados:, escolha a Mesa e clique em Publicar.

O Dataflow e a tabela vendas passam para a Mesa escolhida. Só Dataflow publicado pode ser executado pela lista da Mesa e entrar num agendamento.

7. Rodar a primeira carga ​

  1. Em Data Flows, abra a Mesa onde publicou.
  2. Na linha do Dataflow, clique no botão de play (Forçar execução). Ele só aparece com o Agente ETL online. Abre a janela Forçar Execução em «Vendas Loja Exemplo».
  3. Em Modo de carga:, escolha Total e clique em Forçar Carga.

O contexto Total abre a janela de 01/01/1910 a 01/01/2100 e traz todos os pedidos da origem. Sem essa primeira carga, a tabela teria só os dias que o agendamento recarrega.

8. Agendar ​

  1. Abra Agendamentos e clique em Criar novo Agendamento.
  2. Em Nome do Agendamento:, escreva Vendas diário.
  3. No card Dataflows a serem executados, adicione Vendas Loja Exemplo, escolha o contexto Temporal (Passado) e informe 3 dias.
  4. No card Gatilhos de Execução, escolha Diária e o horário 03:00.
  5. Deixe Agendamento Ativo marcado, marque Enviar e-mail em caso de falha com o seu e-mail e salve.

Toda madrugada o Agente recarrega os pedidos dos últimos 3 dias, o que cobre as correções que o ERP faz no próprio pedido logo depois da venda.

Confira que funcionou ​

  • No HorusDW, a tabela vendas tem o mesmo número de pedidos que a origem.
  • Em Agendamentos, o Vendas diário aparece ativo, com a próxima execução às 03:00.
  • No dia seguinte, o log do agendamento mostra o status Sucesso e o contexto "Últimos 3 dias".

Próximos passos ​