terça-feira, 27 de agosto de 2013

Mineração de Dados - ETL

As vagas de emprego que publico semanalmente na revista Segunda Empregável realmente tem me impressionado, não apenas pela qualidade das empresas anunciantes como também dos profissionais que estão sendo procurados e entre estes, dois perfis se destacam: Analista e Desenvolvedor de ETL.

Rapidamente vamos entender o que vem a ser ETL? É a sigla para Extract-Transform-Load (Extrair, Transformar e Carregar). Essas vagas se referem a um profissional que tenha conhecimento de um Data Warehouse (DW), pode-se dizer que é uma especialidade do DBA, uma evolução, também conhecido como um explorador, porém o termo que melhor se encaixa seria um Minerador de Dados.

Já expus alguns artigos neste blog sobre mineração de dados, só que o conceito de DW é um pouco mais profundo e quero neste artigo apenas expor a ideia do que vem a ser o processo de ETL. No conceito devemos entender que:
  • Extrair - refere-se a selecionar quais dados são interessantes de serem analisados, por exemplo, para criar a "Nuvem de Palavras" que publico nas estatísticas da revista tenho que deixar de lado algumas palavras que não interessam ao contexto geral.
  • Transformar - como obter os dados chaves do DW, limpá-los e refatorá-los de modo que isso possa interessar ao cliente e qual é o formato mais apresentável.
  • Carregar - construir com os dados transformados novas estruturas mais interessantes e manipuláveis com as informações necessárias.
Espera um pouco, porque tem que ser um profissional especializado nisto? Um DBA não realizaria este serviço? Calma, vamos compreender um simples plano de ação para a implementação de um ETL (tentei simplificar o conceito e as tarefas):
  1. Criar um Diagrama de alto nível do fluxo de fonte/destino
  2. Testar, escolher e implementar uma ferramenta de ETL
  3. Delinear as transformações complexas, geração das chaves e a sequência para cada tabela de destino e pensar nas dimensões.
  4. Construir e testar a dimensão estática
  5. Construir e testar os mecanismos de mudança de uma dimensão
  6. Construir e testar as dimensões restantes
  7. Construir e testar as tabelas iniciais de fatos e de automação
  8. Construir e testar a atualização parcial
  9. Construir e testar os agregados
  10. Projetar, construir e testar a automação ETL
Notamos então que em breve vai surgir mais um profissional que será especializado em Testes de ETL, por enquanto isto ainda está como uma função do Analista. O passo 2 deste plano é bem interessante pois existem várias ferramentas, algumas muito profissionais (e caras) e outras simples (e gratuitas), nesse segundo grupo podemos dar asas aos nossos estudos. Busquei no Source Forge algumas dessas ferramentas e recomendaria três para começar CloverETL, KETLTalend Open Studio for ESB.

Isso não é tudo e acredito que apenas comecei a arranhar a superfície, em breve voltaremos a esse assunto, neste meio tempo, comece hoje mesmo baixando uma ferramenta que se sinta agradável para iniciar nesta interessante área.

Obrigado e até a próxima
Fernando Anselmo



0 comentários:

Postar um comentário