Nesse post vamos falar sobre o que é Pipeline de Dados e qual o papel do Engenheiro de Dados.

Pipelines são fluxos onde a entrada de um dado é processado e enviado para outro processo.

Nesta imagem podemos analisar um fluxo “pipeline” dividido em 3 etapas:
1 – Data Engineering: Responsável por fazer a coleta dos dados, remover dados inconsistentes e ingerir no Data Lake.

2 – Data Preparation: Nesse processo são feitos os refinamentos e enriquecimentos dos dados. Adicionando as regras de negocio para disponibilizar uma base consistente para o próximo fluxo.

3 – Analytics: Este é o ultimo processo, onde são feitas as analises sobre os dados que foram refinados e enriquecidos.

Agora que já temos uma noção do que é um Pipeline de dados, vamos abordar o que um Engenheiro de Dados faz.O Engenheiro de Dados tem como sua responsabilidade garantir que os dados estejam disponíveis para a análise de forma segura. Com isso ele precisa fazer 4 passos:

Coleta: Esse é o passo inicial, onde a equipe de Engenharia junto com outras áreas definem quais são os dados necessários para ser coletados e enviado para o Data Lake “HDFS”. Existem 3 tipos de dados, os estruturados “bancos de dados, delimitados”, semi-estruturados “arquivos json e xml” e não estruturados “áudio, vídeo e imagens”.

Transformação: Existem 2 tipos de transformações a ETL “Extract, Transform e Load” e a ELT “Extract, Load e Transform”.
ETL é o padrão que estamos acostumados no meio de BI e DW, onde você coleta os dados, realiza as tratativas necessárias e depois armazena os dados.
ELT é um padrão mais utilizado no mundo Big Data, onde você coleta os dados e armazena de forma bruta, sem fazer nenhuma tratativa. Após o armazenamento é realizado a transformação “tratativas necessárias”.

Armazenamento: Esse é o passo onde colocamos os dados no HDFS “Data Lake”. Geralmente é criado um processo para ser armazenados os dados de acordo com o departamento e a estrutura dos dados. Exemplo, se os dados estão sem tratativas, podemos armazenar em um diretório /raw. Depois que os dados foram tratados e refinados podemos armazenar em um diretório /refined.

Disponibilidade: E por ultimo o Engenheiro tem que garantir que os dados estejam disponíveis para as áreas acessarem.