SlideShare uma empresa Scribd logo
1 de 16
Treinamento
Pentaho Data
Integration
Caruaru, 28/08/2018
Pentaho Data Integration
● Ótima alternativa open-source para criação de ETL’s.
● ETL?
○ E => Extract
■ Extrair dados brutos de diversas fontes
○ T => Transform
■ Realiza as transformações/tratamentos necessários nos dados.
○ L => Load
■ Realiza a entrega/disponibilização dos dados em diversas fontes
Download e Instalação
https://sourceforge.net/projects/pentaho/files/
Principais Pastas
● ..data-integration
○ Pasta raiz do pentaho, possui os arquivos spoon.bat/spoon.sh,
pan.bat/pan.sh e kitchen.bat/kitchen.sh (windows e linux) respectivamente.
● ..data-integrationlib
○ Contém os drivers utilizados nas conexões com bancos de dados
○ *A cada novo driver adicionado, o spoon deve ser reiniciado se estiver
sendo executado
● ..data-integrationsimple-jndi
○ Contém o arquivo de configuração “JNDI” das conexões das bases de
dados.
● ..data-integrationlogs
○ Logs úteis para identificar problemas na execução de ETL’s
Pan e Kitchen
● As ferramentas Pan e Kitchen são utilizadas para execução de transformações e
jobs, respectivamente, gerados no Spoon, estas são executadas através de linha
de comando.
● Geralmente são utilizadas para agendar a execução de tarefas, seja no
Scheduler do Windows ou Cron dos sistemas Unix.
Exemplo:
cd C:pentahodata-integration
Kitchen.bat -file=C:pentahoetlmeu_job.kjb "-param:periodoDe=201801" "-param:periodoAte=201808" -
log=C:pentahologslog_carga_201801_201808_05072018.txt -level=Basic
CONEXÕES
● No spoon ao criar uma nova conexão são disponibilizadas opções de conexão,
ex.: Native (JDBC), ODBC, OCI, JNDI.
● Ao configurar uma conexão JDBC ou ODBC a mesma será utilizada apenas na
transformação onde foi configurada (criptografado). O JNDI por outro lado é
configurado e um arquivo texto (sem criptografia), por este motivo é recomendado
utilizar apenas no lado do servidor.
● JNDI é configurado no arquivo ..data-integrationsimple-jndijdbc.properties
Ex.:
root/type=javax.sql.DataSource
root/driver=oracle.jdbc.OracleDriver
root/url=jdbc:oracle:thin:@192.168.0.1:1521:dbSchemaName
root/user=root
root/password=root
● Onde o nome antes da “/” é utilizado para identificar qual configuração será
utilizada na conexão.
Spoon
● Ferramenta para desenvolvimento dos
ETL’s
● Abstrai a codificação (Utilização drag-
and-drop)
● Permite a criação de Transformações e
Jobs
● Gera um arquivo .ktr da transformação ou
.kjb do job, a estrutura de ambos é xml.
● Na lateral esquerda possui 2 guias:
○ View: com a estrutura da
transformação/job que está sendo
desenvolvida
○ Design: com os steps (ferramentas)
que podem ser utilizados para
realização das tarefas.
● No centro se encontra a área de trabalho
onde será desenvolvido o ETL.
Spoon - Layout
1. Lista os Steps disponíveis
separados por categorias.
Novos Steps podem ser
adicionados através da
instalação de plugins
2. Rops que determinam o fluxo
de dados. Neste caso os
dados são distribuídos entre
os steps de destino
3. Rops que copiam os dados
para os steps de destino,
desta forma ambos steps
recem os mesmos dados. O
rop cinza claro está
desabilitado e não haverá
fluxo de dados no mesmo.
Spoon - Atalhos
● A conexão entre steps é realizada ao manter pressionada a tecla SHIFT e clicar no step
de origem e na sequência clicar no step de destino, soltar a tecla SHIFT apenas ao final
da operação, este procedimento determina o sentido do fluxo de dados.
● Atalhos como CTRL+C CTRL+V funcionam normalmente para copiar os steps seja na
mesma transformação/job ou entre transformações/jobs distintos.
● Ao realizar uma seleção é possível alinhar os steps clicando com botão direito e
utilizando a opção alinha/distribui ou utilizando a tecla CTRL+SETA (setas direcionais
do teclado)
● CTRL+S -> Salva o trabalho
● F9 -> executa, F10 -> Preview, SHIFT+F10 -> DEBUG
Spoon - Boas Práticas
● CRISP-DM
(Cross Industry Standard Process
for Data Mining)
Spoon - Boas Práticas
● Repositório de Arquivos centralizado e bem organizado.
● Nomes claros e consistentes para jobs, transformações, conexões e steps.
● Utilizar notas para informar o objetivo da transformação/job, bem como a
identificar pessoa que desenvolveu o mesmo.
● “One Step at a Time”: teste cada step incluído para saber se o resultado
esperado foi atingido, se adicionar vários steps e testar apenas no final será mais
difícil encontrar possíveis erros.
Marketplace
● Para utilização de features como: Python/R; desenvolvimento mobile; integração
com google sheets; etc. basta utilizar os plugins disponíveis no Marketplace.
Pode ser localizado no menu Tools conforme a imagem:
Spoon - Teste Prático
● Objetivo: Ler 1 arquivo csv e escrever um hello world em txt com conteúdo do
csv.
● Estrutura do CSV:
last_name,name
Araujo,Esli
Maria,Ana
Silva,João
● Resultado esperado:
Spoon - Desafio
● Com base no teste anterior, enviar o resultado por e-mail utilizando um job no
PDI.
● Resultado esperado:
Materiais de Apoio
● http://www.layer-9.com/wp-content/uploads/2017/06/Best-Practices-PDI-Design-
Guidelines.pdf
● https://help.pentaho.com/Documentation/8.0
Obrigado!
Esli Marques F. Araújo
https://www.linkedin.com/in/esliaraujo/

Mais conteúdo relacionado

Destaque

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Destaque (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Treinamento Pentaho Data Integration

  • 2. Pentaho Data Integration ● Ótima alternativa open-source para criação de ETL’s. ● ETL? ○ E => Extract ■ Extrair dados brutos de diversas fontes ○ T => Transform ■ Realiza as transformações/tratamentos necessários nos dados. ○ L => Load ■ Realiza a entrega/disponibilização dos dados em diversas fontes
  • 4. Principais Pastas ● ..data-integration ○ Pasta raiz do pentaho, possui os arquivos spoon.bat/spoon.sh, pan.bat/pan.sh e kitchen.bat/kitchen.sh (windows e linux) respectivamente. ● ..data-integrationlib ○ Contém os drivers utilizados nas conexões com bancos de dados ○ *A cada novo driver adicionado, o spoon deve ser reiniciado se estiver sendo executado ● ..data-integrationsimple-jndi ○ Contém o arquivo de configuração “JNDI” das conexões das bases de dados. ● ..data-integrationlogs ○ Logs úteis para identificar problemas na execução de ETL’s
  • 5. Pan e Kitchen ● As ferramentas Pan e Kitchen são utilizadas para execução de transformações e jobs, respectivamente, gerados no Spoon, estas são executadas através de linha de comando. ● Geralmente são utilizadas para agendar a execução de tarefas, seja no Scheduler do Windows ou Cron dos sistemas Unix. Exemplo: cd C:pentahodata-integration Kitchen.bat -file=C:pentahoetlmeu_job.kjb "-param:periodoDe=201801" "-param:periodoAte=201808" - log=C:pentahologslog_carga_201801_201808_05072018.txt -level=Basic
  • 6. CONEXÕES ● No spoon ao criar uma nova conexão são disponibilizadas opções de conexão, ex.: Native (JDBC), ODBC, OCI, JNDI. ● Ao configurar uma conexão JDBC ou ODBC a mesma será utilizada apenas na transformação onde foi configurada (criptografado). O JNDI por outro lado é configurado e um arquivo texto (sem criptografia), por este motivo é recomendado utilizar apenas no lado do servidor. ● JNDI é configurado no arquivo ..data-integrationsimple-jndijdbc.properties Ex.: root/type=javax.sql.DataSource root/driver=oracle.jdbc.OracleDriver root/url=jdbc:oracle:thin:@192.168.0.1:1521:dbSchemaName root/user=root root/password=root ● Onde o nome antes da “/” é utilizado para identificar qual configuração será utilizada na conexão.
  • 7. Spoon ● Ferramenta para desenvolvimento dos ETL’s ● Abstrai a codificação (Utilização drag- and-drop) ● Permite a criação de Transformações e Jobs ● Gera um arquivo .ktr da transformação ou .kjb do job, a estrutura de ambos é xml. ● Na lateral esquerda possui 2 guias: ○ View: com a estrutura da transformação/job que está sendo desenvolvida ○ Design: com os steps (ferramentas) que podem ser utilizados para realização das tarefas. ● No centro se encontra a área de trabalho onde será desenvolvido o ETL.
  • 8. Spoon - Layout 1. Lista os Steps disponíveis separados por categorias. Novos Steps podem ser adicionados através da instalação de plugins 2. Rops que determinam o fluxo de dados. Neste caso os dados são distribuídos entre os steps de destino 3. Rops que copiam os dados para os steps de destino, desta forma ambos steps recem os mesmos dados. O rop cinza claro está desabilitado e não haverá fluxo de dados no mesmo.
  • 9. Spoon - Atalhos ● A conexão entre steps é realizada ao manter pressionada a tecla SHIFT e clicar no step de origem e na sequência clicar no step de destino, soltar a tecla SHIFT apenas ao final da operação, este procedimento determina o sentido do fluxo de dados. ● Atalhos como CTRL+C CTRL+V funcionam normalmente para copiar os steps seja na mesma transformação/job ou entre transformações/jobs distintos. ● Ao realizar uma seleção é possível alinhar os steps clicando com botão direito e utilizando a opção alinha/distribui ou utilizando a tecla CTRL+SETA (setas direcionais do teclado) ● CTRL+S -> Salva o trabalho ● F9 -> executa, F10 -> Preview, SHIFT+F10 -> DEBUG
  • 10. Spoon - Boas Práticas ● CRISP-DM (Cross Industry Standard Process for Data Mining)
  • 11. Spoon - Boas Práticas ● Repositório de Arquivos centralizado e bem organizado. ● Nomes claros e consistentes para jobs, transformações, conexões e steps. ● Utilizar notas para informar o objetivo da transformação/job, bem como a identificar pessoa que desenvolveu o mesmo. ● “One Step at a Time”: teste cada step incluído para saber se o resultado esperado foi atingido, se adicionar vários steps e testar apenas no final será mais difícil encontrar possíveis erros.
  • 12. Marketplace ● Para utilização de features como: Python/R; desenvolvimento mobile; integração com google sheets; etc. basta utilizar os plugins disponíveis no Marketplace. Pode ser localizado no menu Tools conforme a imagem:
  • 13. Spoon - Teste Prático ● Objetivo: Ler 1 arquivo csv e escrever um hello world em txt com conteúdo do csv. ● Estrutura do CSV: last_name,name Araujo,Esli Maria,Ana Silva,João ● Resultado esperado:
  • 14. Spoon - Desafio ● Com base no teste anterior, enviar o resultado por e-mail utilizando um job no PDI. ● Resultado esperado:
  • 15. Materiais de Apoio ● http://www.layer-9.com/wp-content/uploads/2017/06/Best-Practices-PDI-Design- Guidelines.pdf ● https://help.pentaho.com/Documentation/8.0
  • 16. Obrigado! Esli Marques F. Araújo https://www.linkedin.com/in/esliaraujo/