Tutorial PDI

Propaganda
TUTORIAL - PDI
PENTAHO DATA
INTEGRATION 4.2.0
Visão Geral
RESPONSÁVEL
DATA
VERSÃO
Bruce Willan
28/11/2012
1.0
Criação do documento
Ronaldo Terto
29/11/2012
1.1
Revisão do documento
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
MODIFICAÇÃO
1
1.
INTRODUÇÃO ................................................................................................................................................ 3
2.
PENTAHO....................................................................................................................................................... 3
2.1
INSTALAÇÃO ...................................................................................................................................................... 4
2.1.1
Pré-Requisitos ........................................................................................................................................ 4
2.1.2
Instalação do Pentaho Data Integration ............................................................................................... 4
3.
PROCESSO DE ETL NO PENTAHO .................................................................................................................... 6
3.1
CRIANDO UMA TRANSFORMAÇÃO ......................................................................................................................... 6
3.2
CRIANDO UM INPUT ........................................................................................................................................... 7
3.3
CRIANDO UMA TRANSFORMAÇÃO ....................................................................................................................... 10
3.4
CRIANDO UM OUTPUT ...................................................................................................................................... 12
3.4.1
Configurando uma Conexão com o Banco de Dados (Postgres 9.2) ................................................... 14
3.5
EXECUTANDO UMA TRANSFORMAÇÃO .................................................................................................................. 17
3.6
VERIFICANDO DADOS NA BASE ............................................................................................................................ 18
3.7
REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................................................ 19
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
2
1. Introdução
O Pentaho é uma ferramenta para criação de soluções BI (Bussiness Intelligence), ferramentas BI
possibilitam às organizações realizarem uma série de análises e projeções, de forma à agilizar os processos
relacionados às tomadas de decisão.
Essa ferramenta possui uma série de módulos, os principais são:

Pentaho BI Plataform

Pentaho Data Integration - PDI (Kettle);

Analysis View (Mondrian);

Pentaho Reporting (Reporting) ;

Weka (Data Mining).
Este documento tem o objetivo de demonstrar de maneira geral a ferramenta Pentaho,
especificamente como usar a ferramenta de ETL Pentaho Data Integration PDI, que permite realizar a
extração de dados, a partir de diferentes formatos de entrada. Transformações desses dados, modificando
valores, a partir de regras definidas para atender as necessidades do negócio. Carga desses dados também
em diferentes saídas, como bancos de dados, ou diversos formatos de arquivos.
2. Pentaho
Com a crescente demanda do mercado por ferramentas BI, o Petaho vem se popularizando
rapidamente, que se dá ao fato, de que possui uma gama de ferramentas disponíveis para vários serviços
disponíveis, para o auxilio dentro do processo de BI, como o Weka (Data Mining) e Analyses View
(Mondrian). Além disso essa ferramenta inteiramente Open Source, sendo desenvolvida com o apoio de
uma comunidade, ela é desenvolvida em JAVA, uma linguagem de programação de alto nível multi
plataforma que possui alta compatibilidade com diversos recursos e ferramentas, como sistemas
gerenciadores de bancos de dados, e diversos formatos de arquivos, é bastante conhecida no mercado e
amplamente utilizada.
Imagem localizada em: http://blogs.ambientelivre.com.br/marcio/pentaho-community-gatheringbrazil-2012-recife/
A plataforma Pentaho BI é distribuída através da Licença Pública da Pentaho (PPL - Pentaho
Public License) de código aberto. Maiores informações sobre podem ser encontradas em
http://www.pentaho.com/license/.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
3
Existem duas formas disponíveis para adquirir a ferramenta. A versão Community pode ser
baixada gratuitamente em http://sourceforge.net/projects/pentaho/files/.
Só nesse ano foram lançadas ou sofreram atualização de código pelo menos quatro versões, o que
mostra o grande desenvolvimento da comunidade livre do Pentaho. Além dessa, existe a versão Enterprise.
O download de uma versão trial pode ser efetuado no próprio site do Pentaho ( http://www.pentaho.com/)
para testes durante 30 dias. A grande diferença entre as duas versões, além do preço, é que a versão
Enterprise possui uma suíte de ferramentas já previamente integradas e algumas mais desenvolvidas que a
versão livre.
2.1 Instalação
2.1.1 Pré-Requisitos
Ter o ambiente Java instalado e configurado. Definir as variáveis de ambiente JAVA_HOME ou
JRE_HOME.
2.1.2 Instalação do Pentaho Data Integration
1- Efetue o download do arquivo (Windows) em
pdi-ce-4.2.0-stable.zip
ou (Linux, Mac, etc). em
pdi-ce-4.2.0-stable.tar.gz
2- Descompacte o arquivo em uma pasta de sua preferência.
3- Para iniciar o Pentaho execute o arquivo chamado Spoon.bat (Windows) ou spoon.sh (Linux)
na pasta "data-integration/" e aguarde a inicialização. O pentaho é executado e o seu programa
e inicializado sem a necessidade de sua instalação.
Tela de inicialização do Pentaho Data Integration.
4- Ao inicializar o programa vai abrir uma tela interativa, no qual possui menus aonde poderão
ser feitos os processos de ETL.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
4
Tela inicial do Pentaho Data Integration.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
5
3. Processo de ETL no Pentaho
Consiste em pré-definir determinada base de dados, e o PDI se encarregara de realizar a carga, dependendo
da origem dos dados é necessária uma configuração, para obter os campos desejados.
Após o carregamento dos dados, existe opção de fazer alguma transformação, se necessário de acordo com
a necessidade do negócio.
Por ultimo indicar uma base de dados, ou arquivo onde os dados serão escritos, exemplo: Planilhas do
Microsoft Excel, arquivos de Texto nos mais variados formatos ou inserções em um Banco de Dados.
3.1 Criando uma Transformação
A primeira coisa a ser feita, é criar uma transformação, sendo uma tarefa básica e simples. Basta ir em
‘FILE’ no campo superior esquerdo, depois ir em ‘NOVO’ e por fim ‘TRANSFORMAÇÃO’.
Criação de uma transformação
Será exibida uma nova página, e varias funcionalidades e ferramentas vão surgir no lado esquerdo.
Tela do PDI com novo painel de ferramentas destacado
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
6
3.2 Criando um Input
Para inserir uma base de dados, clique em ‘INPUT’ que se localiza nesse novo painel de ferramentas que
foi adicionada no lado esquerdo, após a criação de uma nova transformação de dados.
Tela do Pentaho com input selecionado
Após selecionar o ‘INPUT’ é preciso selecionar o tipo de entrada de dados que o PDI deve tratar, nesse
exemplo uma tabela ‘Microsoft Excel’. Basta clicar em cima do tipo de entrada desejada ‘Microsoft Excel Input’ e
em seguida arrasta-lo para dentro da área de trabalho.
Com um clique duplo no novo ícone Microsoft Excel Input da área de trabalho, uma janela de
configurações será aberta.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
7
Janela de configurações do Input
Na janela de configurações, clique no botão Navegar, que se localiza no canto superior direito, esse botão
vai redirecionar a uma janela de navegação pelo seu sistema operacional (Windows/Linux) para escolher o arquivo
que contem os dados que serão usados como base.
Após selecionar o arquivo, clique no botão Add, que se localiza ao lado esquerdo do botão navegar.
A ação que o botão Add executa é linkar o arquivo ao PDI adicionando o seu conteúdo, podendo agora
acessar e manipular os dados que residem dentro do arquivo selecionado.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
8
Quando o arquivo for selecionado, o path (caminho completo do arquivo) vai ser inserido dentro da janela
de arquivos selecionados.
Note que na parte superior da janela existem várias abas, selecione aba ‘Sheets’, clique no botão abaixo do
campo, botão chamado ‘Get Sheetname(s)’, o arquivo exemplificado é divido em varias abas, essa aba ‘Sheets’ é
justamente para especificar quais abas ou planilhas do Microsoft Excel serão selecionadas.
Selecione as abas que lhe convém, é prudente selecionar apenas as abas necessárias para a transformação.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
9
Após selecionar as abas, está na hora de importar os campos que contem dentro delas, selecione a aba
‘Fields’ na janela do PDI e clique no botão ‘Get Fields from header row.’, essa ação vai listas todos os campos
(colunas), de acordo com cabeçalho da planilha, desde que contenha algo na primeira linha da tabela (cabeçalho),
contidas nas abas selecionadas, quando não houver abas, no arquivo Excel, todos os campos do arquivo serão
extraídos.
Clique em ‘Ok’ e finalize o processo de recuperação de campos.
3.3 Criando uma Transformação
Com o arquivo de entrada configurado, vamos demonstrar como fazer uma transformação, ou seja, uma
modificação nesses dados carregados no passo anterior Inputs.
Para isso o PDI nos permite usar códigos Java script. No menu design onde foi selecionado anteriormente
a opção ‘Input’ vamos selecionar ‘Scripting’ e no nível inferior ‘Modified Java Script Value’.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
10
Clique e arraste o Step ‘Modified Java Script Value’ para a área de trabalho do PDI, a área de trabalho
ficará conforme a figura abaixo:
Para relacionar o ‘Microsoft Excel Input’ ao ‘Modified Java Script Value’, basta passar o mouse em
cima em cima do ‘Microsoft Excel Input’ e um menu será exibido.
Clique no quarto ícone, que contém uma seta apontando para o lado direito, e arraste até o ‘Modified Java
Script Value’.
Após fazer essa ligação, a saída dos dados de ‘Microsoft Excel Input’, agora se tornara entrada dos dados
de ‘Modified Java Script Value’.
Com um clique duplo em ‘Modified Java Script Value’, será exibida uma janela de configuração desse
Step, onde são listadas as variáveis originadas na Step Anterior, e uma área ‘Script’ onde deve ser inserido os
códigos na linguagem Java Script, de acordo com a necessidade.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
11
Ao clicar sobre um campo, o mesmo surge na janela de edição, é sugerida a criação de funções para
minimizar o trabalho, é possível declarar novas variáveis reutilizáveis nos Steps seguintes do processo de
transformação.
3.4 Criando um Output
Agora que temos a entrada e a transformação, temos que carregar esses dados manipulados ou não em
algum dispositivo de saída, a ferramenta utilizada foi o PostgresSql 9.2.
A Primeira coisa deve ser feita é ir ao menu Design, aonde selecionamos anteriormente ‘Input’ e
‘Scripting’ e selecionar ‘Output’, em seguida serão exibidas, algumas opções:
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
12
Basta selecione a opção ‘Table Output’, arrasta-la para a área de trabalho e realizar o relacionamento entre
os Steps como feito anteriormente, entre ‘Microsoft Excel Input’ e ‘Modified Java Script Value’, agora com
‘Modified Java Script Value’ e ‘Table Output’.
Ao realizar a ligação será apresentado esse menu que vemos a cima do Step ‘Table Output’, clique na
opção ‘Main Output of step’.
Com o a adesão de dispositivo de saída, que no caso será uma tabela de banco de dados, poderemos
adicionar os dados do extraídos no Step Input, fazer a sua alteração usando Java Script e fazer o seu carregamento,
assim temos um ciclo de processo ETL completo, com o extract, o transform e o Load. Ressaltando que com a
opção ‘Table Output’ não é possível inserir dados mais de uma tabela no mesmo Step.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
13
Com um clique duplo em ‘Table Output’, será exibida uma janela contendo configurações para a inserção
dos dados na tabela.
3.4.1
Configurando uma Conexão com o Banco de Dados (Postgres 9.2)
Para inserir os dados em uma tabela dentro de um banco de dados, precisamos estabelecer uma conexão
com o banco. No campo superior direito clique em ‘New’.
Esse botão, ira abrir uma janela que contem os parâmetros que o PDI necessita para estabelecer a conexão
com o banco, contendo:
SGBD Banco de dados - Selecione PostgresSQL.
O tipo de acesso, que fica logo em baixo (Driver) - Deixe opção default ‘Native JDBC’.
Host name - localhost
Nome do banco de dados – ‘String que contém o nome do banco de dados’
Numero da porta - 5432
Nome do usuário do SGBD
Senha do usuário do banco de dados SGBD
.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
14
Para testar a conexão basta clicar em no botão ‘Test’, se a mensagem por positiva bastar clicar em ‘OK’, o
PDI agora consegue acessar o Banco de acordo com as regras definidas no banco de dados.
Após estabelecer a conexão, é necessário de definir qual tabela será selecionada para a inserção dos dados.
Clique em ‘navegar’, ao lado de ‘Target Table’, é exibida uma janela que vai contém as tabelas do banco,
escolha a que lhe convém.
Após estabelecer a conexão e selecionar a tabela, está na hora de mapear as variáveis vindas do step
anterior ‘Modified Java Script Value’ com as colunas ou campo da tabela. Primeiro vamos recuperar os campos
que existem dentro da tabela escolhida, Em baixo você ver duas abas e um quadro em baixo delas, vá até a aba
‘Database Fields’ e clique no botão ‘Enter Field Mapping’.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
15
Será exibida uma janela, onde existem três campos, do lado esquerdo você ver os números das colunas das
tabelas e das variáveis vindos do Java Script, no meio o nome dos campos vindo da tabela selecionada e na direita
um campo em branco.
Selecione um campo (variável) na tabela esquerda (Source fields) e um campo na tabela do meio (Target
fields). O campo selecionado na coluna Source fields que é nome da variável vai servir com entrada para Target
fields, que representa uma coluna de uma tabela do banco de dados, em seguida clique em ‘Add’ para que seja
estabelecida uma relação, ou selecione campos mapeados ‘Mappings’ e clique em ‘Delete’ para apagar um
mapeamento.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
16
Após mapear todos os campos que lhe são interessantes, clique no botão ‘Ok’. Na janela de alteração do
‘Table Output’ faça uma checagem no radio Button ‘Specify database fields’, e clique em ‘Ok’ para finalizar
alteração.
Após concluir a transformação ETL, é hora colocar o processo inicializar.
3.5 Executando uma Transformação
No menu principal na parte superior, a primeira opção é uma seta para a direita, na cor verde, clique nela e
inicie a transformação.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
17
Durante a execução do processo é possível observar o andamento do mesmo, o pentaho, exibe algumas
informações para cada step: nome, número de linhas lidas, linhas escritas, linhas atualizadas, erros, o tempo de
execução do processo, e velocidade de e/s.
3.6 Verificando dados na base
Concluído o processo, está na hora de verificar se a inserção dos dados foi realmente realizada, de um
SELECT simples na tabela especificada do banco Postgres e veja o resultado.
Dados inseridos, operação foi um sucesso.
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
18
3.7 Referências Bibliográficas
http://www.oficinadanet.com.br/artigo/2131/uma_introducao_simplista_aos_conceitos_de_business_intelligence__parte_1
Acessado em 27/11/2012
http://pedrofsi.blogspot.com.br/
Acessado em 27/11/2012
Pentaho de Business Intelligence – Manual de utilização, Universidade federal da Bahia, Departamento de Ciência
da Computação
Disponível em:
http://wiki.softwarelivre.org/pub/PentahoBrasil/Documentos/Pentaho_3_5.pdf
Universidade Católica de Brasília - UCB
QS 07 Lote 01 - Bl. E - Sala 008 - EPCT - Águas Claras
Taguatinga/DF - CEP 72.030-170
Fone: (61) 3356.9652
19
Download