Você está na página 1de 15

Treinamento Pentaho Data Integration - Kettle

ETL Open Source - Fundamental + Avançado


Avançado Pentaho Data Integration Pag. 1

Índice
Dynamic Cluster Pentaho Data Integration..........................................................................................2
HACK0001 – Configurando ambiente de desenvolvimento...........................................................2
HACK0002 – Configurando a Master.............................................................................................3
HACK0003 – Configurando a Máquina Slave................................................................................4
HACK0004– Configurando o Pentaho Data Integration.................................................................5
HACK0005– Criando uma transformação para usar Dynamic Cluster...........................................8
HACK0006– Execute ETLs usando Dynamic Cluster..................................................................16

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 2

Dynamic Cluster Pentaho Data Integration


Um cluster dinâmico é um esquema de cluster no qual os servidores escravos, chamados
slaves, são conhecidos apenas em tempo de execução. É feita configuração e apontado os steps que
serão executados em servidores Slaves.
Essa situação é utilizada em casos que o servidor local não aguenta toda integração ou o fluxo da
mesma tem um tempo de execução muito grande. Com esse método podemos otimizar o tempo
executando PARTES de integrações e servidores com mais capacidade de processamento.
Utilizamos aqui o Carter para monitorar a integração remotamente e os steps que estão sendo
executados dinamicamente.

HACK0001 – Configurando ambiente de desenvolvimento


Para este módulo será utilizado uma máquina virtual como Slave. A máquina que vamos
configurar é um Ubuntu Server, versão atual 18.04 lts. Vamos utilizar o software de virtualização
Virtual Box. Você pode seguir o Hack realizando a configuração do zero ou fazer o download do
servidor já configurado (com pentaho data integration) em nosso ambiente ead.
Para realizar a configuração do zero siga os passos abaixo. Caso opte por baixar o servidor
do nosso ambiente inicie a partir do passo 5.

1. Faça download do Virtual Box


Virtual Box
2. Faça download do Virtual Box Extension Pack
Virtual Box Extension Pack
Execute normalmente após instalação do Virtual Box. Pacotes de extensão ampliam a
funcionalidade do pacote base do VirtualBox.
3. Faça download do Ubuntu Server, versão do servidor no momento de escrita deste
documento é 18.04 LTS.
Ubuntu Server
4. Configure o servidor Ubuntu com 2GB de Ram e 10GB de Hd.
5. Em Configuração / Rede, altere para Modo Bridge e em nome coloque a interface de rede
utilizada.
6. Faça download do Pentaho Data Integration e descompacte na pasta /opt/
Pentaho Data Integration
7. Após configurar inicie o servidor

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 3

HACK0002 – Configurando a Master


Nesta etapa vamos configurar a Master, que será sua maquina. A Slave será o servidor na
máquina virtual. A máquina Master está hospedando o PDI. Mas vamos dar uma olhada mais de
perto na configuração interna, especialmente com os arquivos de configuração do programa Carte.
Do Pentaho wiki, o Carte é “um servidor web simples que permite executar transformações e
trabalhos remotamente”. Carte é um componente importante quando se constroem clusters, porque
este programa é um tipo de middleware entre os servidores Mestre e Escravo: os escravos se
registram no Mestre, notificando que estão prontos para receber tarefas a serem processadas. Além
disso, você pode acessar o serviço da web Carte para monitorar, iniciar e interromper remotamente
as tarefas / trabalhos. Você pode aprender mais sobre Carte no wiki do Pentaho .
1. Acesse o diretório /opt/pentaho/data-integration/pwd/
2. Edite o arquivo carte-config-master-8080.xml, este arquivo é responsável em indicar o
endereçamento da maquina Master. Edite ele como abaixo:
<slave_config>
<slaveserver>
<name>master1</name>
<hostname>SEUIP</hostname>
<port>9001</port>
<username>cluster</username>
<password>cluster</password>
<master>Y</master>
</slaveserver>
</slave_config>

3. Após configurado, execute o carter da seguinte forma:


cd /opt/pentaho/data-integration/
sh carter.sh /opt/pentaho/data-integration/pwd/carte-config-master-8080.xml
Após executar você já pode ir até um navegador e acessar http://SEU.IP:9001, você vai
acessar o painel remoto do carter.

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 4

HACK0003 – Configurando a Máquina Slave


1. Inicie a máquina virtual e vá até /opt/pentaho/data-integration/pwd/. Nesta etapa vamos
editar dois arquivos, carte-config-master-8080.xml e carte-config-8081.xml.
2. Edite o carte-config-master-8080.xml da seguinte forma:
<slave_config>
<slaveserver>
<name>master1</name>
<hostname>IP DA MASTER</hostname>
<port>9001</port>
<username>cluster</username>
<password>cluster</password>
<master>Y</master>
</slaveserver>
</slave_config>

Em <hostname> você deve colocar o IP da master configurado no HACK0002.


3. Agora vamos configurar o xml da Máquina Slave, edite o arquivo carte-config-8081.xml da
seguinte forma:
<slave_config>
<masters>
<slaveserver>
<name>master1</name>
<hostname>IP DA MASTER</hostname>
<port>9001</port>
<username>cluster</username>
<password>cluster</password>
<master>Y</master>
</slaveserver>
</masters>

<report_to_masters>Y</report_to_masters>

<slaveserver>
<name>slave1-8081</name>
<hostname>IP DO SERVIDOR SLAVE</hostname>
<port>9001</port>
<username>cluster</username>
<password>cluster</password>
<master>N</master>
</slaveserver>

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 5

</slave_config>
4. Após configurado, execute o carter da seguinte forma:
cd /opt/pentaho/data-integration
sh carter.sh /opt/pentaho/data-integration/pwd/carte-config-8081.xml
HACK0004– Configurando o Pentaho Data Integration
Após iniciar o PDI primeiro temos que declarar a Slave previamente criada e iniciada. Isso é bem
fácil.
1. Inicie o pentaho e crie uma nova transformação Ctrl + N ou File / Novo / Transformação.
2. Vamos em View no painel esquerdo, clique com o botão esquerdo do mouse na pasta “Slave
server” / Novo
3. Isso abrirá uma nova janela na qual você declarará Master como abaixo:

Lembre-se de marcar a opção Is the master.


Em Hostname or IP Adress coloque o IP que configuramos no HACK0002
4. Agora você declarará a máquina Slave como abaixo

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 6

Lembre-se de NÃO marcar a opção Is the master, pois se trata da maquina Slave (Escrava).
Em Hostname or IP Adress coloque o IP da maquina Slave que configuramos no
HACK0003.

5. Agora temos que declarar o Cluster. No painel esquerdo em View clique com o botão direito
do mouse em Kettle cluster schemas / Novo. Isso abrirá uma nova janela na qual você
preencherá os parâmetros do cluster: Basta digitar um novo nome para o Cluster e, em
seguida, clicar no botão “selecionar servidores”. Agora escolha os dois servidores que
criamos (Master e Slave), marque as opções Sockets data compressed? E Dynamic
Cluster.

Note que em “Master?” Você deve sinalizar qual é a Master e qual não é.

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 7

HACK0005– Criando uma transformação para usar Dynamic Cluster


Aqui vamos desenvolver a primeira transformação utilizando Dynamic Cluster, é um ETL
simples mas demonstra bem o passo a passo utilizando uma máquina Slave. O objetivo principal é
ver o processo executando utilizando clusters dynamicos e não os steps em si, a transformação é
básica apenas para distribuir quem será executado na master e quem sera executado na Slave.
Você pode fazer download das transformações no portal ead ou seguir o passo a passo
abaixo.
1. Primeiro crie uma transformação CTRL + N ou File / Novo / Transformação. De o nome
dela de Hack005-Dynamic-Cluster.
2. Adicione um Data Grid e configure como abaixo

Na aba Data configure como abaixo

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 8

3. Adicione um Concat Fields e configure como abaixo

4. Em seguida adicione um Add Constant e configure como abaixo

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 9

5. Adicione um Filter Rows e configure para que faça dois fluxos utilizando o campo
anoUltimoPonto, configure como abaixo:

6. Seguindo o fluxo TRUE adicione um Calculator e configure como abaixo

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 10

7. Seguindo o fluxo FALSE adicione outro Calculator e configure como abaixo

8. Adicione um Dummy e ligue os hops. A transformação deve ficar desta forma

9. Agora vamos selecionar quais Steps serão executados em cluster dinamicamente, para isso
vamos selecionar os steps Nomes, Nome Completo, Add constants e Calculator 2 para rodar
dynamicamente, os steps Filter Rows, Calculator e Dummy serão executados local (ou seja
na Master). Clique com o botão direito no step Nomes, nas opções que apareceram clique
em “Clusters...”, em seguida selecione “Dynamic Cluster” e clique em OK. O step ficara
com uma observação “CxN” indicando que está sendo clusterizado.

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 11

Repita o mesmo processo para os steps: Nome Completo, Add constants e Calculator 2.
Salve a transformação.

10. Agora você precisa criar dois Runs Configurations. No painel esquerdo clique com o botão
direito em “Run Configuration / New”. O primeiro que vamos criar será o run para
transformação. De o nome de ClusterKtr, em Engine deixe como esta, em Settings marque a
opção Slave Server, em Location deixe Clustered e marque as opções Log remote execution
locally e show transformation. Agora crie outro chamado ClusterKjb, que será usado no job,
é o mesmo processo porém em Location selecione Master, como nos exemplos abaixo:

11. Agora crie um Job, CTRL + ALT + N ou File / Novo / Job.


12. Vamos configurar este Job para rodar a transformação que acabamos de criar. Adicione o
step START, em seguida o step Transformation. Em transformation coloque o endereço onde
esta nossa transformação, clique em Browse e selecione ela. Finalize o job com step
Success. Dê dois cliques em transformation e em “Run configuration” selecione o run que
configuramos anteriormente “ClusterKtr” como abaixo, de ok.

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 12

13. O Job deve ficar desta forma. Salve o job com o nome Hack-Dynamic-Cluster

14. Agora vamos executar o Job, clique em Run, em Run configuration selecione ClusterKjb e
clique em Run. Uma tela de log aparecerá. Agora você pode acessar o endereço do carter
que configuramos no HACK0002 e HACK0003. No meu caso minha máquina Master está
com IP 192.168.100.50 e minha máquina Slave está com IP 192.168.100.60.
Com um navegador acesse o endereço:
Para Master: 192.168.100.50:9001
Para Slave: 192.168.100.60:9001
Neste momento sera solicitado login e senha, em nossos hacks sera cluster / cluster para
ambos. Voce verá esta tela:

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 13

PARA MASTER:

PARA SLAVE

15. Clique Transformation name, você terá uma visão de quais Steps rodaram em Cluster
Dinâmico e quais rodaram local (master), abaixo um painel com relatório da integração e
log. PARA MASTER:

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 14

PARA SLAVE:

16. Note que nesta tela também podemos analisar a integração em momento de execução, parar
a integração, preparar uma nova e mostrar XML.
Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná
Treinamento Pentaho Data Integration - Kettle
ETL Open Source - Fundamental + Avançado
Avançado Pentaho Data Integration Pag. 15

HACK0006– Execute ETLs usando Dynamic Cluster


Você pode usar o método apresentado acima em qualquer tipo de ETL. Faça testes e execute
transformações usando Dynamic Cluster com outros ETLS que desenvolvemos.

Todos os direitos reservados, este documento não pode ser compartilhado sem autorização prévia da Ambiente Livre Tecnologia
Uma versão atualizada pode ser adquirida no ambiente de EAD http://www.ambientelivre.com.br/saas/ead/ambientelivre/course/view.php?id=13 para alunos registrados.

Ambiente Livre www.ambientelivre.com.br +55 (41) 3308-3438


Edifício 7TH Avenue Work- Torre Chelsea Offices Av. Sete de Setembro, 2451 - 19ºAndar - Centro - Curitiba - Paraná

Você também pode gostar