Post on 13-Apr-2017
Pentaho PDI ETL e Data Integration
Uma abordagem prática para aumento de produtividade
João G. Gutheil
Set/2016
• Cenários
• Suite Pentaho
• Conceitos
• Explorando o PDI
ETL e Data Integration
ETL e Data Integration Cenário 1 – Integração de Dados
ERP
S1 S4
S2
S3
S5
Oracle
MongoDB
MySQL
MS SQL Server
Oracle
MS SQL Server
Onde S<id> são sistemas satélites de diversos fornecedores e tecnologias distintas
ETL e Data Integration Cenário 2 - Migração de Dados
ERP Instance 2
Oracle
Onde Instance<id> são instancias do ERP para companhias distintas
ERP Instance 1
Oracle
Situação atual
ERP Unified 1/2
Situação futura
Oracle
ETL ETL
Aprox. 4200 tabelas
ETL e Data Integration Cenário 3 – Ambiente complexo de BI
SQL Server
Onde Business<id> é uma área de negócio distinta com seu sistema especialista
CRM
Oracle
DW BI
Oracle
DW BI
Oracle
Business 1
Oracle
Business 2
Oracle
Business 3
Oracle
ERP
Oracle
Logística e transportes
ETL e Data Integration Cenário 5 - Telefonia
DW
Oracle
Core 1 Core 2 Core 3
Centrais Telefônicas
Registros de movimentação telefônica RAW
ETL FTP
0010100010
1000111001
• Extract • Processo de conexão e extração de
dados e informações de diversas origens (Ex Query)
• Transform • Operações realizadas sobre a massa de dados
{Limpezas, ajustes, enriquecimento}
• Integração com / entre diferentes formatos e origens
• Load • Armazenamento em bases de dados/arquivos de destino
• SGBD
• NoSQL
• Flat file/XML
• Webservice
• . . .
ETL e Data Integration O processo de ETL e DI
ETL e Data Integration
Suite • Composto por um conjunto de
ferramentas onde cada uma contempla um aspecto de um projeto de Business Intelligence (BI)
• Reporting • Analysis • Dashboards • Data Mining • Data Integration
ETL e Data Integration
Suite • Composto por um conjunto de
ferramentas onde cada uma contempla um aspecto de um projeto de Business Intelligence (BI)
• Reporting • Analysis • Dashboards • Data Mining • Data Integration
Community.pentaho.com
ETL e Data Integration
• Microsoft SSIS
• Talend
• Oracle ODI
• DataStage (IBM)
Ferramentas
• Arquitetura e características • Multi-Plataforma (Win, Linux, Mac)
• 100% J2EE
• Agilidade e produtividade
• Simplicidade
• Self-Documented
• Aplicação • Imp/Exp das mais diversas fontes de dados (Ex. Relacional, NoSQL, flat file) e plataformas (Web
Services, JSON)
• Popular Data-Marts, DW/EDW, DV
• Integração e suporte a Big Data (Hadoop, Cassandra, MongoDB, Spark)
• Mitigar ofensores de banco de dados (Cursores, DBLink, Linked Server, querys complexas)
ETL e Data Integration Overwiew
• Java 1.7/1.8 JRE
• 8 GB
• 10GB HD
• Variáveis de ambiente
ETL e Data Integration Requisitos
• Spoon: Interface gráfica (spoon.bat)
• Kitchen: Execução de JOB´s a partir de linhas de comando
• Pan: Execução de Transformações desenvolvidas no Spoon, a partir
de linhas de comando
• Carte: Webservice para execução distribuída
ETL e Data Integration Componentes
• Repositório Workspace | Projeto
• Job Orquestrador para execução e controle de sequencias de
transformações
• Transformação Sequencia de passos (Steps) para manipulação de
dados • Lookup
• Pivot e Unpivot
• Agregações
• Join, ordenação, Merge
• Step Bloco de execução de código | Objeto
• Hop Representação gráfica da conexão/ligação entre os steps
ETL e Data Integration Arquitetura
JDBC.PROPERTIES
#Oracle
jde/type=javax.sql.DataSource
jde/driver=oracle.jdbc.driver.OracleDriver
jde/url=jdbc:oracle:thin:@//127.0.0.1:1521/service-name
jde/user=
jde/password=
jde/FetchTSWTZasTimestamp=true
#Oracle
jdepp/type=javax.sql.DataSource
jdepp/driver=oracle.jdbc.driver.OracleDriver
jdepp/url=jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL =
TCP)(HOST = 127.0.0.1) (PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME
= <service_name>)))
jdepp/user=
jdepp/password=
jdepp/FetchTSWTZasTimestamp=true
#SQL Server
MS/type=javax.sql.DataSource
MS/driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
MS/url=jdbc:sqlserver://<servidor>;integratedSecurity=false;database
Name=<database_name>;domain=<Domain>
MS/user=
MS/password=
ETL e Data Integration Métodos de Conexão
Keep it simple!
Pense de forma corporativa
Mas desenvolva de forma departamental
ETL e Data Integration
• Interface Área de trabalho
Árvore de Objetos (steps)
ETL e Data Integration
• Fluxo de desenvolvimento
• Criar/Conectar repositório
• Criar conexão se necessário
• Explorar repositório
• Criar/abrir Transformação/JOB
ETL e Data Integration
http://community.pentaho.com/projects/data-integration/
https://intellipaat.com/interview-question/pentaho-interview-questions/
http://diethardsteiner.blogspot.com.br/
https://code.google.com/archive/p/kettle-cookbook/
ETL e Data Integration
João G. Gutheil jgutheil@gmail.com Ciência da Computação - Feevale
Especialização em Gestão do Conhecimento e Int. Estratégica - UCS
Analista de TI – AGCO
Analista de TI – Grupo RBS
Vice-Coordenador do GUBI (Grupo de Usuários de BI) – Sucesu RS
Áreas de interesse
Ferramentas de Mineração de Dados
Ferramentas e aplicações de BI
Tecnologias NoSQL e Analytics
Yosemite
Apresentação
2 de 19