SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
______________________________
1 Discente do Curso de Ciência da Computação da Universidade Federal de Rondônia
2 Professora Orientadora do Curso de Ciência da Computação da Universidade Federal de Rondônia
DATA WAREHOUSE: DESENVOLVIMENTO UTILIZANDO O SOFTWARE
PENTAHO
Darlene Figueiredo Borges Coelho1
darlene@unir.br
Rodrigo da Silveira2
rodrigosilveirax@gmail.com
Resumo
Este trabalho apresenta o desenvolvimento e a implementação de um Data Warehouse,
utilizando técnicas de ETL e o software PENTAHO. Consiste ainda na elaboração de
uma maneira mais eficiente para gerenciar as informações a cerca dos dados necessários
para o controle de resíduos da cidade de Porto Velho.
Palavras-chave: Data Warehouse, ETL, PENTAHO
1 INTRODUÇÃO
As organizações possuem um vasto volume de dados importantes armazenados
de diversas formas e, geralmente, é muito difícil reuni-los de maneira integrada. Assim,
nesse cenário torna-se complexo realizar análise das informações das organizações e
consequentemente chegam a ser pouco aproveitadas para dar suporte à decisões.
Com a finalidade de minimizar essas dificuldades, no centro desse ambiente,
está o conceito de Data Warehouse. A idéia do Data Warehouse é reunir em um único
local, somente os dados considerados úteis no processo decisório.
Este trabalho tem como objetivo principal o desenvolvimento e a
implementação de um Data Warehouse para armazenar as informações sobre os resíduos
sólidos do município de Porto Velho-RO., utilizando para isso o software Pentaho.
As informações sobre resíduos sólidos são procedentes da Secretaria Municipal
de Serviços Básicos de Porto Velho-RO (SEMUSB). Dentre as inúmeras atividades, a
SEMUSB é responsável pela coleta de resíduos sólidos (cimento, madeira, pedra, restos
de construção civil, etc.) no município de Porto Velho/RO. A criação do Data
Warehouse irá possibilitar que a SEMUSB tenha controle sobre resíduos sólidos
coletados.
Todo a modelagem e implementação do Data Warehouse está baseada em
exemplos de dados coletados da SEMUSB para fins de aprendizado exclusivamente
acadêmico.
As técnicas e softwares que cobrem todas as etapas do desenvolvimento e
implementação do Data Warehouse foram realizadas através da utilização de ETL e do
software PENTAHO.
1.1 PRINCIPAIS CONCEITOS
a) Data Warehouse
Segundo Date (2004) “Data Warehouse é um deposito de dados orientado por
assunto, integrado, não volátil, variável com o tempo, para apoiar as decisões
gerenciais”.
b) ETL, segundo De Paula:
O processo de ETL (Extract, Transform and Load) é um processo
que exige esforço e a maior parte do tempo de construção de um Data
warehouse, este processo vai extrair dados de fontes de dados heterogêneas e
tem que alimentar o Data Warehouse de forma homogênea e concisa, pois vai
servir de base para gerar relatórios e gráficos de apoio à decisão para a
gerencia da corporação e não pode trazer resultados errôneos.
c) Software Pentaho.
Segundo a Pentaho: “Pentaho é uma abrangente plataforma para integração de
dados e Business Analytics (Inteligência Empresarial)”.
É um software desenvolvido em Java, que funciona como uma plataforma
completa para solução de Business Inteligence (Inteligência Empresarial). Que envolve
no seu desenvolvimento e execução as seguintes áreas: ETL (Extraction, Transformation
and Load), OLAP, Reporting, Dashboard, e Data-Mining (Mineração de Dados)
Possui os seguintes componentes:
- Pentaho Data Integration (também conhecido como PDI ou Kettle)
Ferramenta de ETL.
- Pentaho Workbench Schema (também conhecido como PSW)
Ferramenta para criação e publicação de Cubos OLAP no Sevidor OLAP.
- Pentaho BI Server/Pentaho Analysis Services (também conhecido como
Mondrian)
Ferramenta utilizada como Servidor OLAP.
- Pentaho Report Design (também conhecido como PRD)
Ferramenta para criação de relatórios e consultas.
- Pentaho BI Server/Ctools
Ferramenta para criação de dashboards.
- Pentaho Data Mining (também conhecido como Weka)
Ferramenta para Data Mining (Mineração de Dados).
Pentaho possui duas versões, que são: a Pentaho Enterprise Edition (versão
licenciada, paga) e a Pentaho Comunity Edition (versão livre, open source, não paga).
Neste trabalho utilizou-se a Pentaho Comunity Edition.
d) MySQL, segundo a ORACLE BRASIL:
MySQL é o banco de dados de código aberto mais
popular do mundo e possibilita a entrega econômica de
aplicativos de banco de dados confiáveis, de alto desempenho e
redimensionáveis, com base na Web.
e) OLAP, segundo De Campos:
OLAP é um conceito de interface com o usuário que proporciona a capacidade
de ter idéias sobre os dados, permitindo analisá-los profundamente em
diversos ângulos. As funções básicas do OLAP são:
• Visualização multidimensional dos dados;
• Exploração;
• Rotação;
• Vários modos de visualização.
O OLAP e o Data Warehouse são destinados a trabalharem juntos, enquanto
o DW armazena as informações de forma eficiente, o OLAP deve recuperá-
las com a mesma eficiência, porém com muita rapidez. As duas tecnologias
se complementam, ao ponto de que um Data Warehouse para ser bem
sucedido, já na sua concepção, deve levar em consideração o que se deseja
apresentar na interface OLAP.
2 DESENVOLVIMENTO DE UM DATA WAREHOUSE COM DADOS DE
RESÍDUOS SÓLIDOS
2.1 LEVANTAMENTOS DOS DADOS
Os dados de resíduos sólidos são provenientes da Secretaria Municipal de
Serviços Básicos de Porto Velho-RO (SEMUSB), que estão registrados em um
formulário de papel de forma manual. Isto é, o usuário utiliza uma caneta para registrar
os dados em um formulário de papel.
Como não possuem uma fonte de dados digitais, então todos os dados coletados
foram digitados em uma única planilha eletrônica do padrão Microsoft Excel.
Posteriormente, essa planilha eletrônica foi convertida para um arquivo padrão CSV Text
como mostra a figura 1.
Figura 1 - Arquivo padrão CSV Text dos dados da SEMUSB
Fonte: elaborada pelo autor
2.2 ANÁLISES DOS DADOS
Após o procedimento de criação do arquivo padrão CSV Text, foi feita a análise
dos dados e o desenvolvimento do dicionário de dados. Para o dicionário de dados
(figura 2) foi criado um arquivo (dicionario_de_dados-semusb_residuos.xlsx) que
contempla as definições e representações de elementos de dados obtidos a partir da
coleta e levantamento das informações sobre os dados de resíduos sólidos da SEMUSB.
Figura 2 - Dicionário de Dados:
Fonte: elaborada pelo autor
2.3 MODELAGEM
A seguir foi elaborado o Modelo Dimensional do Data Warehouse (Figura 3),
sendo para isso utilizado o software denominado Power Architect (SQL Power
Software), que é uma ferramenta utilizada para projetar o Modelo Dimensional do Data
Warehouse.
Figura 3: Modelo Dimensional
Fonte: elaborada pelo autor
2.4 IMPLEMENTAÇÃO DO DATA WAREHOUSE
dados do Data Warehouse são armazenados no Sistema Gerenciador de Banco
de Dados (SGBD) chamado de MySQL.
Primeiramente foi criado no MySQL um banco de dados com o nome de
SEMUSBDW. Através do software Power Architect, de forma automática, é possível
criar o script SQL para a geração de todas as tabelas previamente modeladas. Assim, a
partir da console do MySQL, foi executado o script do SQL para criação dessas tabelas.
De forma conclusiva, tem-se o Script SQL (Figura 4) para criação do banco de
dados do Data Warehouse [semusbdw]:semusbdw_cria-db.sql.
Figura 4: Criação do banco de dados [semusbdw] no MySQL
Fonte: elaborada pelo autor
Em seguida, foi utilizado o software Power Architect para criar
automaticamente o script SQL (Figura 5), envolvendo todas as definição das tabelas para
posteriormente os dados serem armazenados no Data Warehouse.
Figura 5: Criação das tabelas do banco de dados [semusbdw] no MySQL
Fonte: elaborada pelo autor
2.5 PROCESSO ETL
Nesta fase do desenvolvimento é necessário criar e executar o processo de ETL
para ler toda a fonte de dados; tratar os dados lidos (limpa, calcula, seleciona, trata) e
posteriormente, gravar os dados no Banco de Dados do Data Warehouse [semusbdw].
O processo de ETL foi criado e executado utilizando o software denominado
Pentaho Data Integration (Kettle). Tem-se um processo de ETL para carregar cada tabela
do Modelo Dimensional, conforme a seguir apresentado:
 Processo de ETL para carregar a tabela [d_data]:
t_d_data.ktr
 Processo de ETL para carregar a tabela [d_placa]:
t_d_placa.ktr
 Processo de ETL para carregar a tabela [d_setor]:
t_d_setor.ktr
 Processo de ETL para carregar a tabela [d_enc_aterro_sanit] :
t_d_enc_aterro_sanit.ktr
 Processo de ETL para carregar a tabela [d_balanc_semusp]:
t_d_balanc_semusp.ktr
mysql> create database semusbdw;
Query OK, 1 row affected (0.03 sec)
mysql> use semusbdw;
Database changed
mysql> . Semusbdw_cria-db.sql
 Processo de ETL para carregar a tabela [d_responsavel_destinacao_final]:
t_d_responsavel_destinacao_final.ktr
 Processo de ETL para carregar a tabela [d_tipo_residuo]:
t_d_tipo_residuo.ktr
 Processo de ETL para carregar a tabela [d_origem]:
t_d_origem.ktr
 Processo de ETL para carregar a tabela [f_volume]:
t_f_volume.ktr
Exemplos: Descrição de processos de ETL
"
+-> [t_d_data.ktr]
Efetua a carga da tabela [d_data].
Efetua a carga da [Dimensão Data].
Descrição do processo de ETL [t_d_data.ktr]:
1) [10000 dias: 25 anos]
O tipo do Step é [Generate Rows].
Gera 10000 valores.
O tipo do valor gerado é [date].
O formato do valor é [aaaammdd].
Cada valor gerado representará uma data ou um dia.
Os 10000 dias representarão 25 anos.
O primeiro dia gerado será o dia [20100101].
O último dia gerado será o dia [20370518].
Portanto, a dimensão [d_data] estará apta a tratar dados movimentados entre
01/01/2010 a 18/05/2037.
2) Days_since
O tipo do Step é [Obtêm o valor da sequecia do banco de dados].
Controla a sequência do banco de dados.
3) [Calc Date]
O tipo do Step é [Calculadora].
Calcula:
- O [ano] da [Data].
- O [mês] da [Data].
- O [dia do ano] da data.
- O [dia do mês] da data.
- O [dia da semana] da data.
- A [semana do ano] da data.
4) [Quarter]
O tipo do Step é [Value Mapper].
Calcula a que [trimestre] a data pertence.
5) [DayOfWeekDesc]
O tipo do Step é [Stream Value Lookup].
Define a [descrição do dia da semana] da data.
6) [MonthDesc]
O tipo do Step é [Stream Value Lookup].
Define a [descrição do mês] da data.
7) [Select/Rename values]
O tipo do Step é [Select values].
Renomeia os nomes das variáveis para os respectivos nomes da tabela [d_data].
8) [d_data]
O tipo do Step é [Saída a Tabela].
Grava os dados na tabela [d_data]. Isto é, gera a dimensão [d_data].
+-> [t_d_placa.ktr]
Efetua a carga da tabela [d_placa].
Efetua a carga da [Dimensão Placa].
Descrição do processo de ETL [t_d_placa.ktr]:
1) [CSV file Input]
O tipo do Step é [CSV Input].
Lê os dados da fonte de dados.
2) [Select values]
O tipo do Step é [Select/Rename values].
Remove os dados que não serão utilizados.
3) [Uppercase]
O tipo do Step é [Calculadora].
Caso a [placa] possua letras em minúscula, converte as letras para maiúsculo.
4) [Carrega Dimensão Placa]
O tipo do Step é [Dimension Lookup/Update].
Grava os dados na tabela [d_placa]. Isto é, gera a dimensão [d_placa].
+-> [t_d_setor.ktr], [t_d_enc_aterro_sanit.ktr], [t_d_balanc_semusp.ktr],
[t_d_responsavel_destinacao_final.ktr], [t_d_tipo_residuo.ktr] e [t_d_origem.ktr]
Os processo de ETL [t_d_setor.ktr], [t_d_enc_aterro_sanit.ktr],
[t_d_balanc_semusp.ktr], [t_d_responsavel_destinacao_final.ktr],
[t_d_tipo_residuo.ktr] e [t_d_origem.ktr] seguem a mesma lógica do processo de
ETL [t_d_placa.ktr ].
+-> [t_f_volume.ktr]
Efetua a carga da tabela [f_volume].
Efetua a carga da [Fato Volume].
Descrição do processo de ETL [t_f_volume.ktr]:
1) [CSV file Input]
O tipo do Step é [CSV Input].
Lê os dados da fonte de dados.
2) [Data yyyy/mm/dd]
O tipo do Step é [Calculadora].
Converte a data do formato dd/mm/aaaa para o formato aaaa/mm/dd.
3) [Uppercase]
O tipo do Step é [Calculadora].
Caso os campos possuam letras minúsculas, converte as letras para maiúsculo.
4) [Dimensiona Placa]
O tipo do Step é [Dimension Lookup/Update].
Localiza a [placa] na tabela [d_placa] e descobre o respectivo SK.
5) [Dimensiona Setor]
O tipo do Step é [Dimension Lookup/Update].
Localiza o [setor] na tabela [d_setor] e descobre o respectivo SK.
6) [Dimensiona Enc_aterro_sanit]
O tipo do Step é [Dimension Lookup/Update].
Localiza o [enc_aterro_sanit] na tabela [d_enc_aterro_sanit] e descobre o
respectivo SK.
7) [Dimensiona Balanc_semusp]
O tipo do Step é [Dimension Lookup/Update].
Localiza o [balanc_semusp] na tabela [d_balanc_semusp] e descobre o respectivo
SK.
8) [Dimensiona Responsavel_destinacao_final]
O tipo do Step é [Dimension Lookup/Update].
Localiza o [responsavel_destinacao_final] na tabela
[d_responsavel_destinacao_final] e descobre o respectivo SK.
9) [Dimensiona Tipo_residuo]
O tipo do Step é [Dimension Lookup/Update].
Localiza o [tipo_residuo] na tabela [d_tipo_residuo] e descobre o respectivo SK.
10) [Dimensiona Origem]
O tipo do Step é [Dimension Lookup/Update].
Localiza o [origem] na tabela [d_origem] e descobre o respectivo SK.
11) [Dimensiona Data]
O tipo do Step é [Lookup de valor do banco de dados].
Localiza a [data] na tabela [d_data] e descobre o respectivo SK.
12) [Grava Fato]
O tipo do Step é [Insert/Update].
Grava dados na tabela fato [f_volume].
o Fato Volume é relacionado com as respectivas Dimensões em função das SK's.
"
A figura 6 exemplifica um processo de Processo de ETL para carregar a tabela
[d_data]: t_d_data.ktr.
Figura 6 - t_d_data.ktr
Fonte: elaborada pelo autor
Depois que todo processo de ETL foi realizado sobre os dados, então faz-se a
criação do Cubo OLAP, tendo como idéia principal disponibilizar o acesso ao Data
Warehouse aos usuários via Cubo OLAP. Para a criação d o Cubo OLAP utilizou-se o
software denominado Pentaho Schema Workbench., conforme Figura 7
Figura 7 - OLAP Schema
Fonte: elaborada pelo autor
3. RESULTADOS
O Data Warehouse está criado e pronto para que os usuários possam usá-lo. O
usuário poderá consultar o Data Warehouse utilizando as seguintes ferramentas
encontradas no software Pentaho:
 Pentaho BI Server/Pentaho User Console (PUC):
 Ferramentas OLAP (OLAP Analysis )
 Ferramentas de consulta (Dashboard)
 Ferramentas de emissão de relatórios (Report)
A Figura 8 exemplifica um Navegador OLAP (denominado Saiku) analisando
dados do Cubo OLAP
Figura 8 - OLAP Navegador
Fonte: elaborada pelo autor
REFERÊNCIAS
DATE, C. J. Introdução a Sistemas de Bancos de Dados. 8ª Ed., Rio de Janeiro: Campus,
2004.
DE CAMPOS, Wylton Luis Moura, “Conceitos Básicos Sobre OLAP”. Disponível em
http://www.devmedia.com.br/conceitos-basicos-sobre-olap/12523#ixzz3lLUghe8S.
Acessado em 25 de agosto de 2015, às 20:05hs.
DE PAULA, Welington Lourenco Melo De Paula. “Extract, Transformation and Load
(ETL) - Ferramentas BI”. Disponível em http://www.devmedia.com.br/extract-
transformation-and-load-etl-ferramentas-bi/24408#ixzz3lLRUg7Ro. Acessado em 10 de
julho de 2015, às 15:00hs.
ORACLE BRASIL. Disponível Em
http://www.oracle.com/br/products/mysql/overview/index.html. Acessado em 08 de
maio de 2015, às 21:00hs.
PENTAHO, “A Hitachi Data Systems Company”, Disponível em: <
http://www.pentaho.com/>, acesso em: 05 mai. 2015 às 10hs.
SQL Power Software, “Data Modeling & Profiling Tool: SQL Power Architect”.
Disponível em (http://www.sqlpower.ca/page/architect). Acessado em 03 de abril de
2015 às 10:32hs.

Weitere ähnliche Inhalte

Was ist angesagt?

Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Leinylson Fontinele
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - BackupCaio Lima
 
Oracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFOracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFSergioSouza
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesGuilherme Araújo
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDIAula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDIJarley Nóbrega
 
Exercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationExercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationJarley Nóbrega
 
Exemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosExemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosLuis Borges Gouveia
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
 
ODI Series - Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo TextoODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series - Exportar Tabelas para Arquivo TextoCaio Lima
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Mario Sergio
 
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)Fabrízio Mello
 
Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Elaine Cecília Gatto
 
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...PGDay Campinas
 

Was ist angesagt? (20)

Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - Backup
 
Oracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFOracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDF
 
SGBD Oracle
SGBD OracleSGBD Oracle
SGBD Oracle
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e Aplicações
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Manual SQL
Manual SQLManual SQL
Manual SQL
 
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDIAula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDI
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Exercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationExercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data Integration
 
Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
 
Exemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosExemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dados
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
ODI Series - Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo TextoODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series - Exportar Tabelas para Arquivo Texto
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
 
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
NoSQL + SQL = PostgreSQL (PGDay Campinas 2014)
 
Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018
 
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
 

Ähnlich wie DW Resíduos Pentaho

Introdução a data warehouse e olap
Introdução a data warehouse e olapIntrodução a data warehouse e olap
Introdução a data warehouse e olapFlavia Martins Bispo
 
Introdução a data warehouse e olap
Introdução a data warehouse e olapIntrodução a data warehouse e olap
Introdução a data warehouse e olapFernando Palma
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukHebert Alquimim
 
INE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdfINE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdfssuseref058e
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005Andre Nascimento
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de softwareDanilo Gois
 
ODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração TopologiaODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração TopologiaCaio Lima
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopAlexei Znamensky
 
Tutorialoracleformsbuilder 140813182046-phpapp01
Tutorialoracleformsbuilder 140813182046-phpapp01Tutorialoracleformsbuilder 140813182046-phpapp01
Tutorialoracleformsbuilder 140813182046-phpapp01Audervan S
 
Tutorial oracle forms builder
Tutorial oracle forms builderTutorial oracle forms builder
Tutorial oracle forms builderValdinho Pereira
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSAdilmar Dantas
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - TreinamentoCaio Lima
 

Ähnlich wie DW Resíduos Pentaho (20)

Introdução a data warehouse e olap
Introdução a data warehouse e olapIntrodução a data warehouse e olap
Introdução a data warehouse e olap
 
Introdução a data warehouse e olap
Introdução a data warehouse e olapIntrodução a data warehouse e olap
Introdução a data warehouse e olap
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos Alexandruk
 
INE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdfINE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdf
 
Bi ferramentas olap 1
Bi   ferramentas olap 1Bi   ferramentas olap 1
Bi ferramentas olap 1
 
C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de software
 
Cacti
CactiCacti
Cacti
 
ODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração TopologiaODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração Topologia
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
Plsql
PlsqlPlsql
Plsql
 
Tutorialoracleformsbuilder 140813182046-phpapp01
Tutorialoracleformsbuilder 140813182046-phpapp01Tutorialoracleformsbuilder 140813182046-phpapp01
Tutorialoracleformsbuilder 140813182046-phpapp01
 
Tutorial oracle forms builder
Tutorial oracle forms builderTutorial oracle forms builder
Tutorial oracle forms builder
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - Treinamento
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Artc 1249307788 43
Artc 1249307788 43Artc 1249307788 43
Artc 1249307788 43
 

DW Resíduos Pentaho

  • 1. ______________________________ 1 Discente do Curso de Ciência da Computação da Universidade Federal de Rondônia 2 Professora Orientadora do Curso de Ciência da Computação da Universidade Federal de Rondônia DATA WAREHOUSE: DESENVOLVIMENTO UTILIZANDO O SOFTWARE PENTAHO Darlene Figueiredo Borges Coelho1 darlene@unir.br Rodrigo da Silveira2 rodrigosilveirax@gmail.com Resumo Este trabalho apresenta o desenvolvimento e a implementação de um Data Warehouse, utilizando técnicas de ETL e o software PENTAHO. Consiste ainda na elaboração de uma maneira mais eficiente para gerenciar as informações a cerca dos dados necessários para o controle de resíduos da cidade de Porto Velho. Palavras-chave: Data Warehouse, ETL, PENTAHO 1 INTRODUÇÃO As organizações possuem um vasto volume de dados importantes armazenados de diversas formas e, geralmente, é muito difícil reuni-los de maneira integrada. Assim, nesse cenário torna-se complexo realizar análise das informações das organizações e consequentemente chegam a ser pouco aproveitadas para dar suporte à decisões. Com a finalidade de minimizar essas dificuldades, no centro desse ambiente, está o conceito de Data Warehouse. A idéia do Data Warehouse é reunir em um único local, somente os dados considerados úteis no processo decisório. Este trabalho tem como objetivo principal o desenvolvimento e a implementação de um Data Warehouse para armazenar as informações sobre os resíduos sólidos do município de Porto Velho-RO., utilizando para isso o software Pentaho. As informações sobre resíduos sólidos são procedentes da Secretaria Municipal de Serviços Básicos de Porto Velho-RO (SEMUSB). Dentre as inúmeras atividades, a SEMUSB é responsável pela coleta de resíduos sólidos (cimento, madeira, pedra, restos de construção civil, etc.) no município de Porto Velho/RO. A criação do Data Warehouse irá possibilitar que a SEMUSB tenha controle sobre resíduos sólidos coletados. Todo a modelagem e implementação do Data Warehouse está baseada em exemplos de dados coletados da SEMUSB para fins de aprendizado exclusivamente acadêmico. As técnicas e softwares que cobrem todas as etapas do desenvolvimento e implementação do Data Warehouse foram realizadas através da utilização de ETL e do software PENTAHO. 1.1 PRINCIPAIS CONCEITOS a) Data Warehouse
  • 2. Segundo Date (2004) “Data Warehouse é um deposito de dados orientado por assunto, integrado, não volátil, variável com o tempo, para apoiar as decisões gerenciais”. b) ETL, segundo De Paula: O processo de ETL (Extract, Transform and Load) é um processo que exige esforço e a maior parte do tempo de construção de um Data warehouse, este processo vai extrair dados de fontes de dados heterogêneas e tem que alimentar o Data Warehouse de forma homogênea e concisa, pois vai servir de base para gerar relatórios e gráficos de apoio à decisão para a gerencia da corporação e não pode trazer resultados errôneos. c) Software Pentaho. Segundo a Pentaho: “Pentaho é uma abrangente plataforma para integração de dados e Business Analytics (Inteligência Empresarial)”. É um software desenvolvido em Java, que funciona como uma plataforma completa para solução de Business Inteligence (Inteligência Empresarial). Que envolve no seu desenvolvimento e execução as seguintes áreas: ETL (Extraction, Transformation and Load), OLAP, Reporting, Dashboard, e Data-Mining (Mineração de Dados) Possui os seguintes componentes: - Pentaho Data Integration (também conhecido como PDI ou Kettle) Ferramenta de ETL. - Pentaho Workbench Schema (também conhecido como PSW) Ferramenta para criação e publicação de Cubos OLAP no Sevidor OLAP. - Pentaho BI Server/Pentaho Analysis Services (também conhecido como Mondrian) Ferramenta utilizada como Servidor OLAP. - Pentaho Report Design (também conhecido como PRD) Ferramenta para criação de relatórios e consultas. - Pentaho BI Server/Ctools Ferramenta para criação de dashboards. - Pentaho Data Mining (também conhecido como Weka) Ferramenta para Data Mining (Mineração de Dados). Pentaho possui duas versões, que são: a Pentaho Enterprise Edition (versão licenciada, paga) e a Pentaho Comunity Edition (versão livre, open source, não paga). Neste trabalho utilizou-se a Pentaho Comunity Edition. d) MySQL, segundo a ORACLE BRASIL: MySQL é o banco de dados de código aberto mais popular do mundo e possibilita a entrega econômica de aplicativos de banco de dados confiáveis, de alto desempenho e redimensionáveis, com base na Web. e) OLAP, segundo De Campos: OLAP é um conceito de interface com o usuário que proporciona a capacidade de ter idéias sobre os dados, permitindo analisá-los profundamente em diversos ângulos. As funções básicas do OLAP são: • Visualização multidimensional dos dados; • Exploração; • Rotação; • Vários modos de visualização. O OLAP e o Data Warehouse são destinados a trabalharem juntos, enquanto o DW armazena as informações de forma eficiente, o OLAP deve recuperá-
  • 3. las com a mesma eficiência, porém com muita rapidez. As duas tecnologias se complementam, ao ponto de que um Data Warehouse para ser bem sucedido, já na sua concepção, deve levar em consideração o que se deseja apresentar na interface OLAP. 2 DESENVOLVIMENTO DE UM DATA WAREHOUSE COM DADOS DE RESÍDUOS SÓLIDOS 2.1 LEVANTAMENTOS DOS DADOS Os dados de resíduos sólidos são provenientes da Secretaria Municipal de Serviços Básicos de Porto Velho-RO (SEMUSB), que estão registrados em um formulário de papel de forma manual. Isto é, o usuário utiliza uma caneta para registrar os dados em um formulário de papel. Como não possuem uma fonte de dados digitais, então todos os dados coletados foram digitados em uma única planilha eletrônica do padrão Microsoft Excel. Posteriormente, essa planilha eletrônica foi convertida para um arquivo padrão CSV Text como mostra a figura 1. Figura 1 - Arquivo padrão CSV Text dos dados da SEMUSB Fonte: elaborada pelo autor 2.2 ANÁLISES DOS DADOS Após o procedimento de criação do arquivo padrão CSV Text, foi feita a análise dos dados e o desenvolvimento do dicionário de dados. Para o dicionário de dados (figura 2) foi criado um arquivo (dicionario_de_dados-semusb_residuos.xlsx) que contempla as definições e representações de elementos de dados obtidos a partir da coleta e levantamento das informações sobre os dados de resíduos sólidos da SEMUSB.
  • 4. Figura 2 - Dicionário de Dados: Fonte: elaborada pelo autor 2.3 MODELAGEM A seguir foi elaborado o Modelo Dimensional do Data Warehouse (Figura 3), sendo para isso utilizado o software denominado Power Architect (SQL Power Software), que é uma ferramenta utilizada para projetar o Modelo Dimensional do Data Warehouse. Figura 3: Modelo Dimensional Fonte: elaborada pelo autor
  • 5. 2.4 IMPLEMENTAÇÃO DO DATA WAREHOUSE dados do Data Warehouse são armazenados no Sistema Gerenciador de Banco de Dados (SGBD) chamado de MySQL. Primeiramente foi criado no MySQL um banco de dados com o nome de SEMUSBDW. Através do software Power Architect, de forma automática, é possível criar o script SQL para a geração de todas as tabelas previamente modeladas. Assim, a partir da console do MySQL, foi executado o script do SQL para criação dessas tabelas. De forma conclusiva, tem-se o Script SQL (Figura 4) para criação do banco de dados do Data Warehouse [semusbdw]:semusbdw_cria-db.sql. Figura 4: Criação do banco de dados [semusbdw] no MySQL Fonte: elaborada pelo autor Em seguida, foi utilizado o software Power Architect para criar automaticamente o script SQL (Figura 5), envolvendo todas as definição das tabelas para posteriormente os dados serem armazenados no Data Warehouse. Figura 5: Criação das tabelas do banco de dados [semusbdw] no MySQL Fonte: elaborada pelo autor 2.5 PROCESSO ETL Nesta fase do desenvolvimento é necessário criar e executar o processo de ETL para ler toda a fonte de dados; tratar os dados lidos (limpa, calcula, seleciona, trata) e posteriormente, gravar os dados no Banco de Dados do Data Warehouse [semusbdw]. O processo de ETL foi criado e executado utilizando o software denominado Pentaho Data Integration (Kettle). Tem-se um processo de ETL para carregar cada tabela do Modelo Dimensional, conforme a seguir apresentado:  Processo de ETL para carregar a tabela [d_data]: t_d_data.ktr  Processo de ETL para carregar a tabela [d_placa]: t_d_placa.ktr  Processo de ETL para carregar a tabela [d_setor]: t_d_setor.ktr  Processo de ETL para carregar a tabela [d_enc_aterro_sanit] : t_d_enc_aterro_sanit.ktr  Processo de ETL para carregar a tabela [d_balanc_semusp]: t_d_balanc_semusp.ktr mysql> create database semusbdw; Query OK, 1 row affected (0.03 sec) mysql> use semusbdw; Database changed mysql> . Semusbdw_cria-db.sql
  • 6.  Processo de ETL para carregar a tabela [d_responsavel_destinacao_final]: t_d_responsavel_destinacao_final.ktr  Processo de ETL para carregar a tabela [d_tipo_residuo]: t_d_tipo_residuo.ktr  Processo de ETL para carregar a tabela [d_origem]: t_d_origem.ktr  Processo de ETL para carregar a tabela [f_volume]: t_f_volume.ktr Exemplos: Descrição de processos de ETL " +-> [t_d_data.ktr] Efetua a carga da tabela [d_data]. Efetua a carga da [Dimensão Data]. Descrição do processo de ETL [t_d_data.ktr]: 1) [10000 dias: 25 anos] O tipo do Step é [Generate Rows]. Gera 10000 valores. O tipo do valor gerado é [date]. O formato do valor é [aaaammdd]. Cada valor gerado representará uma data ou um dia. Os 10000 dias representarão 25 anos. O primeiro dia gerado será o dia [20100101]. O último dia gerado será o dia [20370518]. Portanto, a dimensão [d_data] estará apta a tratar dados movimentados entre 01/01/2010 a 18/05/2037. 2) Days_since O tipo do Step é [Obtêm o valor da sequecia do banco de dados]. Controla a sequência do banco de dados. 3) [Calc Date] O tipo do Step é [Calculadora]. Calcula: - O [ano] da [Data]. - O [mês] da [Data]. - O [dia do ano] da data. - O [dia do mês] da data. - O [dia da semana] da data. - A [semana do ano] da data. 4) [Quarter] O tipo do Step é [Value Mapper]. Calcula a que [trimestre] a data pertence. 5) [DayOfWeekDesc] O tipo do Step é [Stream Value Lookup]. Define a [descrição do dia da semana] da data.
  • 7. 6) [MonthDesc] O tipo do Step é [Stream Value Lookup]. Define a [descrição do mês] da data. 7) [Select/Rename values] O tipo do Step é [Select values]. Renomeia os nomes das variáveis para os respectivos nomes da tabela [d_data]. 8) [d_data] O tipo do Step é [Saída a Tabela]. Grava os dados na tabela [d_data]. Isto é, gera a dimensão [d_data]. +-> [t_d_placa.ktr] Efetua a carga da tabela [d_placa]. Efetua a carga da [Dimensão Placa]. Descrição do processo de ETL [t_d_placa.ktr]: 1) [CSV file Input] O tipo do Step é [CSV Input]. Lê os dados da fonte de dados. 2) [Select values] O tipo do Step é [Select/Rename values]. Remove os dados que não serão utilizados. 3) [Uppercase] O tipo do Step é [Calculadora]. Caso a [placa] possua letras em minúscula, converte as letras para maiúsculo. 4) [Carrega Dimensão Placa] O tipo do Step é [Dimension Lookup/Update]. Grava os dados na tabela [d_placa]. Isto é, gera a dimensão [d_placa]. +-> [t_d_setor.ktr], [t_d_enc_aterro_sanit.ktr], [t_d_balanc_semusp.ktr], [t_d_responsavel_destinacao_final.ktr], [t_d_tipo_residuo.ktr] e [t_d_origem.ktr] Os processo de ETL [t_d_setor.ktr], [t_d_enc_aterro_sanit.ktr], [t_d_balanc_semusp.ktr], [t_d_responsavel_destinacao_final.ktr], [t_d_tipo_residuo.ktr] e [t_d_origem.ktr] seguem a mesma lógica do processo de ETL [t_d_placa.ktr ]. +-> [t_f_volume.ktr] Efetua a carga da tabela [f_volume]. Efetua a carga da [Fato Volume]. Descrição do processo de ETL [t_f_volume.ktr]: 1) [CSV file Input] O tipo do Step é [CSV Input]. Lê os dados da fonte de dados. 2) [Data yyyy/mm/dd] O tipo do Step é [Calculadora]. Converte a data do formato dd/mm/aaaa para o formato aaaa/mm/dd.
  • 8. 3) [Uppercase] O tipo do Step é [Calculadora]. Caso os campos possuam letras minúsculas, converte as letras para maiúsculo. 4) [Dimensiona Placa] O tipo do Step é [Dimension Lookup/Update]. Localiza a [placa] na tabela [d_placa] e descobre o respectivo SK. 5) [Dimensiona Setor] O tipo do Step é [Dimension Lookup/Update]. Localiza o [setor] na tabela [d_setor] e descobre o respectivo SK. 6) [Dimensiona Enc_aterro_sanit] O tipo do Step é [Dimension Lookup/Update]. Localiza o [enc_aterro_sanit] na tabela [d_enc_aterro_sanit] e descobre o respectivo SK. 7) [Dimensiona Balanc_semusp] O tipo do Step é [Dimension Lookup/Update]. Localiza o [balanc_semusp] na tabela [d_balanc_semusp] e descobre o respectivo SK. 8) [Dimensiona Responsavel_destinacao_final] O tipo do Step é [Dimension Lookup/Update]. Localiza o [responsavel_destinacao_final] na tabela [d_responsavel_destinacao_final] e descobre o respectivo SK. 9) [Dimensiona Tipo_residuo] O tipo do Step é [Dimension Lookup/Update]. Localiza o [tipo_residuo] na tabela [d_tipo_residuo] e descobre o respectivo SK. 10) [Dimensiona Origem] O tipo do Step é [Dimension Lookup/Update]. Localiza o [origem] na tabela [d_origem] e descobre o respectivo SK. 11) [Dimensiona Data] O tipo do Step é [Lookup de valor do banco de dados]. Localiza a [data] na tabela [d_data] e descobre o respectivo SK. 12) [Grava Fato] O tipo do Step é [Insert/Update]. Grava dados na tabela fato [f_volume]. o Fato Volume é relacionado com as respectivas Dimensões em função das SK's. " A figura 6 exemplifica um processo de Processo de ETL para carregar a tabela [d_data]: t_d_data.ktr.
  • 9. Figura 6 - t_d_data.ktr Fonte: elaborada pelo autor Depois que todo processo de ETL foi realizado sobre os dados, então faz-se a criação do Cubo OLAP, tendo como idéia principal disponibilizar o acesso ao Data Warehouse aos usuários via Cubo OLAP. Para a criação d o Cubo OLAP utilizou-se o software denominado Pentaho Schema Workbench., conforme Figura 7 Figura 7 - OLAP Schema Fonte: elaborada pelo autor
  • 10. 3. RESULTADOS O Data Warehouse está criado e pronto para que os usuários possam usá-lo. O usuário poderá consultar o Data Warehouse utilizando as seguintes ferramentas encontradas no software Pentaho:  Pentaho BI Server/Pentaho User Console (PUC):  Ferramentas OLAP (OLAP Analysis )  Ferramentas de consulta (Dashboard)  Ferramentas de emissão de relatórios (Report) A Figura 8 exemplifica um Navegador OLAP (denominado Saiku) analisando dados do Cubo OLAP Figura 8 - OLAP Navegador Fonte: elaborada pelo autor REFERÊNCIAS DATE, C. J. Introdução a Sistemas de Bancos de Dados. 8ª Ed., Rio de Janeiro: Campus, 2004. DE CAMPOS, Wylton Luis Moura, “Conceitos Básicos Sobre OLAP”. Disponível em http://www.devmedia.com.br/conceitos-basicos-sobre-olap/12523#ixzz3lLUghe8S. Acessado em 25 de agosto de 2015, às 20:05hs. DE PAULA, Welington Lourenco Melo De Paula. “Extract, Transformation and Load (ETL) - Ferramentas BI”. Disponível em http://www.devmedia.com.br/extract- transformation-and-load-etl-ferramentas-bi/24408#ixzz3lLRUg7Ro. Acessado em 10 de julho de 2015, às 15:00hs. ORACLE BRASIL. Disponível Em http://www.oracle.com/br/products/mysql/overview/index.html. Acessado em 08 de maio de 2015, às 21:00hs.
  • 11. PENTAHO, “A Hitachi Data Systems Company”, Disponível em: < http://www.pentaho.com/>, acesso em: 05 mai. 2015 às 10hs. SQL Power Software, “Data Modeling & Profiling Tool: SQL Power Architect”. Disponível em (http://www.sqlpower.ca/page/architect). Acessado em 03 de abril de 2015 às 10:32hs.