Avançar para o conteúdo

O que significa ETL?

ETL é um acrônimo de “Extract, Transform, Load”. Em português, “Extrair, Transformar e Carregar”.

Esses três estágios são considerados o principal processo para a construção de um Data Warehouse, Data Lake ou Data Mart, uma vez que a sequência ETL é responsável por toda movimentação, estruturação e processamento de dados da origem ao destino.

De acordo com a IBM, o ETL “limpa e organiza os dados de forma a atender às necessidades específicas de inteligência de negócios, como relatórios mensais, através de uma série de regras de negócios. Ele também pode lidar com análises mais avançadas, que podem melhorar os processos de back-end ou as experiências do usuário final.”

Em essência, ETL é o processo de transferência de dados de uma ou mais fontes de dados de origem para um local de destino que permitirá o uso dos dados pelas partes interessadas, após passar por um processo de limpeza e transformação.

Você já ouviu falar em ELT? Leia sobre a diferença aqui.

Conheça as melhores ferramentas de ETL aqui.

A Necessidade do ETL

Com o tempo, a diversidade de formatos de dados e fontes de informações expandiu rapidamente e o ETL aparece como um método para integrar essa gama de dados, sendo, portanto, uma parte importante da estratégia integração de dados de uma organização.

Além disso, um processo de ETL bem feito garante a integridade e qualidade dos dados. Para isso, é necessário ter conhecimento profundo do significado dos dados e dos objetivos do empreendimento.

Conhecer os seus dados é fundamental, mas configurar corretamente o banco de dados do destino final é igualmente importante.

Por outro lado, processos desenvolvidos de forma incorreta ou com ambiguidades criam um problema, uma vez que dados consistentes originados das fontes de dados perdem o seu significado original.

O processo pode e deve ser encaixado nos procedimentos de Gestão de Dados de instituições de todas as áreas, públicas e privadas, possibilitando conhecer melhor as atividades executadas, como tornar processos mais eficientes e gerar análises mais confiáveis.




O que significa cada etapa do ETL?

Em resumo, ETL significa que os dados são extraídos da fonte (E), limpos e transformados (por exemplo, aplicando cálculos e padronizando a informação) no formato necessário (T) e depois carregados (L) no local de destino de forma consistente e com maior acurácia.

Extração de Dados

É o processo de ler os dados de diversas fontes e extraí-los para serem usados no restante do processo até o usuário final.

Podemos receber dados de tabelas, arquivos CSV, Excel, TXT, de fontes da internet, sensores e até em tempo real, por exemplo. Temos, então, que tornar esses dados prontos para o uso das etapas seguintes.

Neste momento, precisamos prestar atenção se a fonte dos dados está normalizada ou não e avaliar como o objeto de saída deverá ser disponibilizado neste sentido.

Transformação de Dados

Neste momento realizamos rotinas para limpar e transformar os dados visando atender às necessidades específicas do negócio e aumentar o valor dos dados. O objetivo das transformações é garantir que os dados sejam entregues em um formato que corresponda aos requisitos do local de destino

Há quem diferencie a Transformação e a Limpeza de Dados.

Limpeza

Nesses casos, a Limpeza refere-se a identificar valores incorretos e corrigí-los ou rejeitá-los.

A primeira vista, esse processo parece muito simples. Contudo, um entendimento incorreto ou ambíguo da fonte de dados ou de convenções utilizadas e até mesmo grafias incorretas podem fazer com que dados precisos sejam rejeitados ou alterados.

E quando isso acontece, o valor original e correto do dado se perde de vez, sem forma de ser corrigido no destino final de carregamento dos dados.

A Limpeza também integra a remoção de qualquer registro ou atributo desnecessário ou indesejado.

Leia: O Problema do Valor Nulo

Transformação

São as rotinas que alteram a representação de um valor, mas sem perder o sentido ou conteúdo. Permite também que os dados de diferentes fontes ou formatos se “conversem” entre si, a partir do momento em que alteramos sua estrutura de alguma forma.

Pode ser algo muito simples desde mapear valores, ou realizar uma transformação semântica. Por exemplo: “Feminino” para o número 1, “Masculino” para 2 e “Outros” para 3.

Outras transformação comuns são padronizações, agregações, mudança de formato, ordenação, realização de cálculos e derivação de novas informações.

É preciso prestar especial atenção quando temos dados de fontes diversas ou pretendemos gerar um formato de saída diferente do de entrada. Por exemplo, diferentes codificações (encoding) de arquivos podem causar problema na leitura de acentos e caracteres especiais.

Leia também: Integração de Dados

Leia também: Riscos em Projetos de Dados

Leia também: 6 Dimensões da Qualidade de Dados

Tipos de Transformações de Dados
  • Agregação: agrupamento dos dados baseado em um ou mais critérios.
  • Concatenação: junção de diferentes arquivos ou tabelas em um só
  • Limpeza: remoção de informações imprecisas, irrelevantes ou incompletas.
  • Desduplicação: Excluir cópias duplicadas de informações.
  • Junção: Combinação de duas ou mais tabelas que compartilham uma coluna correspondente em comum.
  • Filtro: Seleção de alguns registros baseado em um ou mais critérios, podendo, ainda, dividir uma única tabela em duas ou mais.
  • Cálculos: Criação de novos dados realizando cálculos, que podem surgir de agrupamentos ou não (por exemplo, somando a receita de cada representante de vendas em uma equipe).
  • Validação: garantir que os dados sejam precisos, de alta qualidade e usando um formato padrão (por exemplo, convertendo data/hora em um padrão único).
  • Anonimização e Pseudonimização de dados: camuflagem de informações confidenciais para que o banco de dados possa ser usado para fins de desenvolvimento e teste.

Carregamento de Dados

Finalmente chegamos ao processo de inserir os dados previamente limpos e transformados em tabelas, bancos de dados o, relatórios ou qualquer outro ativo de dados. Parece uma etapa simples, mas cuidado!

Certifique-se de que todas as informações de todas as fontes de dados estão sendo carregadas. Também confira se o destino final esteja corretamente desenhado (tipos de dados, restrições, chaves primárias…).

Também preste atenção na forma de carregamento. Usualmente utilizamos o carregamento Full – onde a tabela ou os registros são apagados e todos os dados são inseridos integralmente; ou o carregamento Delta/Incremental, onde apenas os registros novos e alterados são inseridos.  

Muitas vezes culpamos a fonte de dados por problemas no carregamento, mas é comum que a causa raiz dessas dificuldades seja justamente por termos um destino final que não é coerente com nossos objetivos.





Leia também:

Dados para a Gestão de Desastres

Aplicativos de Celular e Desastres




Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *