Pentaho Data Integration - Integração e Migração de Dados com ETL Open Source - FLISOL 2015 -...

Preview:

Citation preview

Pentaho Data Integration - Integração e Migração de Dados com ETL Open

Source

Marcio Junior Vieiramarcio@ambientelivre.com.br

MARCIO JUNIOR VIEIRA

● CEO da Ambiente Livre Tecnologia. ● Desenvolvedor de Software ,Trabalha com Software Livre desde

2000. ● Formado em Tecnologia em Informática(UFPR), Pós-Graduado

em Software Livre(UFPR). ● Palestrante em congressos relacionados a Software Livre: FISL,

CONISLI, SOLISC, LATINOWARE, FLISOL, SFD, Joomla Day,Pentaho Day.

● Especialista em implantação e customização de Pentaho CE, Alfresco, LimeSurvey, Joomla, SugarCRM e dotProject.

● Ativista FOSS e Moderador da Lista PentahoBR

Ecosistema Ambiente Livre

Software Livre as 4 Leis (GPL)

● "Software livre" se refere à liberdade dos usuários executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software. São 4 tipos de liberdade, para os usuários do software:

● 1. A liberdade de executar o programa, para qualquer propósito.

● 2. A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta liberdade.

● 3. A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo.

● 4. A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie.

ETL ou ETC

● Extração, Transformação e Carga (Extract, Transform, Load – ETL).

● Extração de dados dos sistemas de origem● Transformação : Seleção, Tradução de

Valores Codificados (Ex. 1 p/ sexo masculino) , Cálculos , Junção , Transposição.

● Carga: Armazenagem no DW ( Dados Históricos )

ETL/ETC

Desafios ETL

● Gama de valores e qualidade de dados● Escalabilidade● Volume de dados● Diversidade

Processamento Paralelo

● Dados: Divisão de um único arquivo sequencial em arquivos de dados menores.

● Pipeline: Permitindo a execução simultânea de diversos componentes no mesmo fluxo de dados.

● Componente: Execução simultânea de múltiplos processos em diferentes fluxos de dados no mesmo job.

ETL X HardCore

● Desenvolver e Manutenção uma rotina de carga em uma ferramenta de ETL é muito mais fácil e rápido que codificá-la. Segue padrões.

● Desempenho: As ferramentas de ETL utilizam métodos mais performáticos.

● Execução em paralelo: Ferramentas de ETL possuem recursos de paralelização nativos e facilmente implementáveis.

ETL X HardCore

● Escalabilidade: Ferramentas de ETL podem ser transferidas de servidor mais facilmente e até eventualmente distribuir sua carga entre vários servidores.

● Diversidade de conectores: A conexão de uma ferramenta de ETL com múltiplas fontes de dados é transparente.

● Reusabilidade:Uma carga normalmente pode ser reaproveitada dentro de outras cargas ou sobre a forma de um template

● Documentação, Maior garantia da qualidade dos dados, Auditoria & Tracking, Segurança

Ferramentas de ETL

Proprietárias● Oracle Warehouse Builder (OWB)● IBM Information Server (Data Stage)● Integration Services (SSIS)● Power Center (antigo Power Mart)

Open Source● Pentaho Data Integration ( Kettle )● Talend

ETL no Processo de BI

Kettle Project

Pentaho Data Integration (PDI, ou Kettle) é um componente da suíte do Pentaho responsável pelos processos de ETL.

Hacker● Matt Casters

Chief Architect, Pentaho Data IntegrationKettle Project Founder , Atualmente Trabalha na Pentaho Corporation.

Pentaho Suite

Kettle

● Apesar de ferramentas de ETL serem usadas em projetos de data warehouse, PDI pode também ser usado para:

● Migração de dados entre aplicações/banco de dados

● Exportar dados de banco de dados para arquivos texto

● Carregar massivamente dados em banco de dados

● Data Cleansing – disciplina de qualidade/limpeza de dados de data warehouse

● Integração de aplicações.

Aplicações

● Spoon - ferramenta gráfica com que se desenha e testa todo processo do PDI

● Pan - Programa que pode executar transformações desenhadas no Spoon e que estejam tanto em arquivos como em repositórios em banco de dados.

● Kitchen -ferramenta usada para executar Jobs a partir de janelas de terminais.

● Carter – Suporte a configuração de SOA.

Transformação

● Rotina com coleção de passos interligados

● O primeiro á a fonte de dados

● O último representa a saída de dados.

● Pode ser colocadas varias fontes de dados e saídas

● É recomendado 1 transformação para cada dimensão ou tabela fato

Steps

● Um passo é uma unidade mínima dentro de uma transformação.

● Grande variedade de passos● Agrupada em categorias

( input , Output, etc)● Os tipos básicos são :

entrada, transformação, saída

Hops

● Representação gráfica do fluxo de dados entre dois passos (conexão)

● Um deles Origem e outro Destino.

Jobs

● É uma rotina de execução● Pode executar uma ou mais transformações● Utilizado para cargas de tabelas fatos

Na Prática...

Cluster

● Suporte a clusterização e processamento distribuído.

Agendamento

● O Kettle tem agente de Agendamento● Pode ser usado o agendador do SO. ( cron )● Ou usado em conjunto ( kettle + SO )

Big Data

Orquestrando Big Data

Data Mining

● Tem steps ( plugins ) para geração de arquivos para Mineração de dados ( Weka )

Marketplace

● Possibilidade de Instalar novos Plugins● Novas Funcionalidades● Integrado ao ambiente ( Kettle ).

Bibliografia

● Kettle Project

http://kettle.pentaho.com/

● Pentaho Big Data

http://www.pentahobigdata.com

● Gustavo Maia http://gustavomaiaaguiar.wordpress.com/2010/05/10/por-que-utilizar-uma-ferramenta-de-etl/

● Step Documentation

http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps

Contato

● Blogblogs.ambientelivre.com.br/marcio/

● Listas Pentaho:● Pentaho BR, Pentaho Brasil , Pentaho

Fortaleza.

Marcio Junior Vieira

e-mail: marcio -@- ambientelivre.com.br

Recommended