0

Artigo sobre a mentoria: Introdução à Engenharia de Dados - Com Luis Dorsa da Cognizant

Claudio Cuimar
Claudio Cuimar

Quero compartilhar neste artigo alguns pontos que me chamaram a atenção nesta mentoria.

 

Engenheiro de Dados é o profissional que tem que garantir que o dado esteja disponível para tomada de decisão. Esta função tem algumas responsabilidades: coletar, transformar, armazenar e disponibilizar os dados.

Um pouco mais de detalhes sobre coleta e transformação:

  • Coletar: os dados estão dispersos, ou seja, em vários locais. Portanto para saber onde estão os dados é necessário conversar com as pessoas donas dos dados, os donos de negócios.
  • Transformar: a partir daí vem o conceito do ETL.

O que é um "ETL", do inglês Extract Transform Load (Extrair Transformar Carregar), são ferramentas de software cuja função é a extração de dados de diversos sistemas, transformação desses dados conforme regras de negócios e por fim o carregamento dos dados geralmente para um Data Mart e/ou Data Warehouse, porém nada impede que também seja para enviar os dados para um determinado sistema da organização. " (fonte: <https://pt.wikipedia.org/wiki/Extract,_transform,_load> )

 

Precisa ter uma noção forte de modelagem e dados para utilização.

 

Não necessariamente a análise de dados faz parte do dia a dia do Engenheiro de Dados, pois ele é mais focado em disponibilizar os dados para que a análise seja feita por outros profissionais, tais quais: especialista em visualização de dados, especialista em machine learning ou um cientista de dados. Ou seja, o Engenheiro de dados estrutura o motor do dado e deixa disponível para consulta.

 

Pergunta da live: qual a diferença entre o Arquiteto de Dados e o Engenheiro de Dados?

Resposta: o Arquiteto de Dados é alguém com uma visão mais ampla, que conhece tudo o que o engenheiro conhece, sobre consumo de dados, um consumo muito forte de plataformas, ferramentas, soluções sobre banco de dados.

 

Hoje a maioria das soluções estão indo para Cloud e citou AWS (Amazon), mas eu complemento com Azure (Microsoft) e GCP (Google Cloud Platform), que hoje estas 3 empresas de Cloud Computing são as principais no mercado mundial.

 

Pergunta da live: saber Linux é essencial para ser Engenheiro de Dados?

Resposta: Não, porque Linux é um sistema operacional! Todavia ele recomendou como conhecimentos fundamentais nesta área: "conhecer banco de dados e linguagem SQL, sendo que SQL é uma porta de entrada para conhecer ferramentas de ETL ( Extract Transform Load). Portanto a partir dos conhecimentos em banco de dados e linguagem SQL, então eu sei:

 i) buscar os dados na fonte;

ii) construir um modelo de dados no destino; e,

iii) construir todas as transformações necessárias para que eu trate todos estes dados em Informação para consumo."

 

Pergunta da live: o profissional desta área deve ser capacitado em multicloud (AWS, Azure, GCP)?

Resposta: Facilita muito, principalmente conhecendo os componentes existentes em cada um destes provedores de nuvem.

 

Pergunta da live: como montar um portfolio na área de engenharia de dados?

Resposta: conhecer banco de dados SQL, conhecimento de negócios, conhecer como os dados suportavam as estruturas do negócio, conhecer ferramentas de ETL, experiência com modelagem de dados. Vontade de aprender.

 

 

Quadro resumo de tudo o que um Eng. De dados precisa conhecer e fazer no seu dia a dia.

 

 

 

Abaixo uma explicação sobre o Slide de Arquitetura de Dados.

 

Fonte da Dados

São vários sistemas, várias fontes de dados, podendo ser também um dado buscado na internet.

 

Por que não iniciar o tratamento aqui mesmo, nesta etapa? Resp.: Senão eu paro a utilização do sistema. Imagine parar a emissão de NF´s (Notas Fiscais) de uma empresa. Não se pode interferir na operação.

 

Você pega estes dados e "joga" para um ambiente de Big Data, podendo ser também Cloud, mas ainda há empresas trabalhando em ambiente on-premises.

 

 

  • Big Data

Ele engloba Data Lake + Data Warehouse, pois ele é o conceito.

 

A 1ª camada dentro de Data Lake pode ser dividida em duas, conforme indicado abaixo:

 

  • Data Lake (o data lake às vezes é chamado de data swamp em algumas empresas, kkkk é verdade!!!)
  • Stage Area - nesta área os dados são transferidos sem nenhum tipo de tratamento. É a camada do 1° ambiente de trabalho, onde ele está cru, do jeito que está na fonte. Esta primeira camada é chamada de Ingestão de Dados. É a partir deste momento que o dado começará a ser trabalhado.
  • File Landing Layer - os arquivos são transferidos para lá.

 

  • Productive Data Layer - é uma camada de dados produtivos, onde este dado começa a ser estruturado. É o Data Lake!!

 

Aqui no Data Lake o dado ainda está meio cru, com certa granularidade de dados para que eu possa trabalhá-lo.

 

Nesta etapa é o ELT (Extrair, Carregar e Transformar), pois é um processo mais bruto.

 

 

  • Data Warehouse
  • Preparation Layer - significa que os dados estão melhor estruturados, as tabelas já foram cruzadas e é possível juntar tudo numa única tabela para análise.

 

  • Structure Data - etapa em que o dado está bem "mastigado" para consulta.

 

Nesta etapa temos ETLs (extração, tratamento e carga), o processo mais próximo para consumo pelo usuário final.

 

 

Dicas dicas da live:

  • Eng. de dados demanda mais de Python do que R.

 

  • Conhecer bem banco de dados e linguagem SQL.

 

  • Para modelagem de dados dimensional estudar Kimball.

 

O que é Kimball (de <https://pt.wikipedia.org/wiki/Modelagem_dimensional> )

Modelagem dimensional

Origem: Wikipédia, a enciclopédia livre.

Modelagem dimensional é uma técnica de projeto lógico normalmente usada para data warehouses que contrasta com a modelagem entidade-relacionamento. Segundo o prof. Kimball, a modelagem dimensional é a única técnica viável para bancos de dados que devem responder consultas em um data warehouse. Ainda segundo ele, a modelagem entidade-relacionamento é muito útil para registro de transações e para fase de administração da construção de um data warehouse, mas deve ser evitada na entrega do sistema para o usuário final.

modelagem multidimensional foi definida sobre dois pilares:

  • Dimensões Conformados
  • Fatos com granularidade única.

 

 

 

Termino com uma frase de Thomas Edson, que o Luis me fez lembrar: “Nunca trabalhei um dia em minha vida. Tudo sempre foi muito divertido!”.

 




0
0

Comentários (2)

0
Fellipe Castro

Fellipe Castro

29/09/2021 22:25

Obrigado pelo conteúdo compartilhado!!

1
Lucio Sousa

Lucio Sousa

27/09/2021 21:28

SQL eu entendo, falta todo o resto. Obrigado pelo artigo. Muito bem sucinto por sinal.

None

Brasil