• Henrique Vignando

Automação do data pipeline para BI com Jenkins

Atualizado: Nov 11

Quem nunca precisou “orquestrar” um pipeline de dados para um projeto de BI, seja ele pequeno ou grande?


Por menor que seja o projeto, carregar dados em um DW e depois atualizar esses dados na camada de visualização, são passos importantes para um projeto de BI.


Veja esse cenário;

  • O PDI faz o trabalho de ETL carregando e transformando os dados do ERP para um banco dimensional (DW)

  • A camada de visualização fica por conta do Power BI que se conecta ao DW via Gateway e monta seus datasets para serem consumido nos relatórios


Nesse cenário temos dois momentos de carregamento de dados, o primeiro é o ETL e o segundo a atualização do dataset. Se esses momentos não forem bem sincronizados, podemos estar sujeitos a inconsistências (não sincronismo) de dados entre o DW e o dataset do relatório.


Nesse caso podemos simplesmente manter alguém realizando essa tarefa de forma ordenado rotineiramente, ou automatizar esse processo. Como temos a síndrome de desenvolvedor preguiçoso, eu não quero realizar esse processo repetidas vezes constantemente.


É aí que entra nosso amigo Jenkins. O Jenkins é um software para realizar trabalhos (preferencialmente repetitivos), originalmente ele foi projetado para resolver problemas de CI (Continuous Integration) de desenvolvimento de software. Mas podemos usar um recurso bastante interessante da ferramenta chamada Pipeline.


Por meio desse recurso podemos orquestrar em um único Job agendado os processos de carga e atualização de dados. Para isso criamos um Job responsável por chamar a carga de dados (ETL do DW) e outro Job responsável por atualizar o dataset do Power BI.


Em um outro Job Pipeline configuramos o script Jenkinsfile com duas stages, a primeira invoca o Job de DW e a outra stage invoca o Job de dataset. Dessa forma em um único Job “maestro”, realizamos o orquestramento do processo de pipeline de dados do para manter o sincronismos de dados atualizado no projeto de BI.


A imagem abaixo ilustra o resultado final dessa solução.





94 visualizações

Encontre clareza quando mais precisar

Aplicando experiências e tecnologias para transformar dados em informações úteis e acessíveis

Contato

© 2020 MentorsTec