Anda di halaman 1dari 652

Roland Bouman

Jos van Dongen


Pentaho
Solues

Business Intelligence e Data
Armazenamento com Pentaho e MySQL

Pentaho Solutions

Pentaho Solutions
Business Intelligence e Data
Armazenamento com Pentaho
e MySQL

Roland Bouman
Jos van Dongen
Wiley Publishing, Inc.
Pentaho Solues: Business Intelligence e Data Warehousing com Pentaho e MySQL
Publicado por
Wiley Publishing, Inc.
10475 Boulevard Crosspoint
Indianapolis, IN 46256
www.wiley.com
Copyright 2009 pela Wiley Publishing, Inc., Indianapolis, Indiana
Publicado simultaneamente no Canad
ISBN: 978-0-470-48432-6
Fabricados nos Estados Unidos da Amrica
10 9 8 7 6 5 4 3 2 1
Nenhuma parte desta publicao pode ser reproduzida, armazenada em um sistema de recuperao ou transmitida de qualquer forma ou por
qualquer meio,
eletrnico, mecnico, fotocpia, gravao, digitalizao ou de outra forma, exceto conforme permitido nos termos dos artigos 107 ou 108
de 1976 dos Estados Unidos Copyright Act, sem qualquer autorizao prvia por escrito do editor, ou autorizao
atravs do pagamento da taxa por cpia adequadas ao Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. Pedidos Editora para a permisso deve ser endereada ao
Permisses Departamento John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008,
ou online em http://www.wiley.com/go/permissions.
Limite de responsabilidade / Renncia de Garantia: O editor eo autor no faz representaes ou garantias com
relao exatido ou completude do contedo deste trabalho e especificamente rejeitam todas as garantias, incluindo
sem limitao, garantias de adequao a um propsito particular. Nenhuma garantia pode ser criado ou estendido por vendas ou
materiais promocionais. Os conselhos e as estratgias aqui contidas podem no ser adequados para cada situao. Este trabalho
vendido com o entendimento de que a editora no est envolvida na prestao de servios jurdicos, contabilsticos ou de outros profissionais
servios. Se a assistncia de profissional exigido, os servios de uma pessoa competente profissional deve ser procurado. Nem
a editora nem o autor ser responsvel pelos danos dele decorrentes. O facto de uma organizao ou site da Web
referidos neste trabalho como uma citao e / ou uma fonte potencial de informaes no significa que o autor ou o
editor, endossam as informaes do site da Web ou organizao pode fornecer ou recomendaes que podem fazer. Alm disso,
os leitores devem estar cientes de que sites da internet listados neste trabalho pode ter mudado ou desaparecido entre o momento presente
obra foi escrita e quando ele lido.
Para informaes gerais sobre nossos outros produtos e servios, por favor contacte o nosso Departamento de Atendimento ao Cliente no
Estados Unidos em (877) 762-2974, fora dos Estados Unidos em (317) 572-3993 ou fax (317) 572-4002.
Biblioteca do Congresso Nmero de Controle: 2009930282
Marcas: Wiley eo logotipo da Wiley so marcas comerciais ou marcas registradas da John Wiley & Sons, Inc. e / ou
suas afiliadas, nos Estados Unidos e outros pases, e no podem ser utilizadas sem permisso por escrito. Pentaho uma
marca registrada da Pentaho, Inc. Todas as outras marcas so propriedade dos seus respectivos proprietrios. Wiley Publishing,
Inc. no est associada a nenhum produto ou fornecedor mencionado neste livro.
Wiley tambm publica seus livros em uma variedade de formatos eletrnicos. Alguns tipos de contedo que aparece na impresso pode no
estar disponvel
em livros eletrnicos.
Com amor, de Annemarie, David, Roos e Anne.
-Roland
Para Yvonne, Thomas e Lisa, de muitas noites e fins de semana
Passei a trabalhar neste livro. Desculpe ter perdido quase seis meses de
suas vidas, mas prometo fazer isso!
-Jos
Sobre os autores
Roland Bouman tem vindo a trabalhar na indstria de TI desde 1998, principalmente como um
desenvolvedor de aplicaes web e banco de dados. Ao longo dos anos, ele se concentrou
em
tecnologia de cdigo aberto na Web, bases de dados e Business Intelligence. Ele um
membro ativo do MySQL e comunidades Pentaho, e foi premiado com o
MySQL Frum Lder do Ano em 2006. Roland orador regular
em conferncias. Ele tambm co-autor do MySQL 5.1 Cluster Certificao
Guia e revisor tcnico de vrios ttulos relacionados ao MySQL. Voc pode
siga seu blog em http://rpbouman.blogspot.com/.
Jos van Dongen um experiente profissional de Business Intelligence e bem-
conhecido autor e apresentador. Ele esteve envolvido no desenvolvimento de software,
Business Intelligence e Data Warehousing, desde 1991. Antes de iniciar sua
prpria prtica de consultoria, Tholis Consulting, em 1998, ele trabalhou por um alto nvel
integrador de sistemas e uma empresa lder em consultoria de gesto. Ao longo dos
ltimos anos, tem implementado com sucesso vrios armazns de dados para
uma variedade de organizaes, sem fins lucrativos e sem fins lucrativos. Jos abrange novas
desenvolvimentos de BI para os holandeses Banco de Dados Revista e fala regularmente em
conferncias nacionais e internacionais. Alm deste livro, ele foi o autor
um outro livro sobre open source de BI. Voc pode encontrar mais informaes sobre a Jos
http://www.tholis.com.
vii
Crditos
Editor Executivo
Robert Elliott
Projeto Editor
Sara Shlaer
Tcnico Editores
Tom Barber
Jens Bleuel
Jeroen Kuiper
Thomas Morgner
Editor de Produo Snior
Debra Bnninger
Copy Editor
Nancy Rapoport
Gerente Editorial
Mary Beth Wakefield
Gerente de Produo
Tim Tate
Vice-Presidente e Diretor Executivo
Grupo Publisher
Richard Swadley
Vice-Presidente e Diretor Executivo
Publisher
Barry Pruett
Editor Associado
Jim Minatel
Coordenador do Projeto, Capa
Lynsey Stanford
Revisor
Josh Chase, uma palavra
Scott Klemp, uma palavra
Indexador
J & J Indexao
Imagem da capa
Ryan Sneed
Cover Designer
Maciej Frolow / Brand X
Fotos / Jupiterimages
ix
Agradecimentos
Este livro o resultado do trabalho e as ideias de muitas pessoas diferentes. Ns, os
autores, acontecer a ser os nicos que conseguem colocar nossos nomes na capa, mas ns
no poderia ter feito isso sem a ajuda dessas pessoas. Portanto, gostaramos de
aproveitar esta oportunidade para prestar nossos respeitos.
Uma coisa que caracteriza saudvel projetos de cdigo aberto a paixo
eo nvel de envolvimento dos desenvolvedores e engenheiros de software que criam
o projeto. Apesar de suas agendas lotadas, descobrimos os desenvolvedores da
Pentaho Corporation sempre dispostos a fazer um esforo para explicar um determinado
detalhes de seus softwares. Isto faz-lhes no s os desenvolvedores de software grande,
mas tambm valiosos e respeitados membros da comunidade. Em particular,
gostaramos de agradecer Doug Moran, Moran Gretchen, Jens Bleuel, Julian Hyde,
Matt Casters, e Morgner Thomas.
Um bom software nunca deixa de criar uma comunidade vibrante e intensa. Esta
ainda mais verdadeiro para o software de fonte aberta. Em uma quantidade relativamente
pequena de tempo, o
comunidade Pentaho amadureceu consideravelmente, dando origem a um grupo de Pentaho
especialistas que no s escrevem blogs de alta qualidade e ajudar uns aos outros no site
oficial
Fruns Pentaho ea (no oficial) # canal de IRC sobre Pentaho freenode.net,
mas tambm participar ativamente e contribuir para o desenvolvimento do
produto Pentaho. Gostaramos de agradecer a todos que nos ajudaram na
nos fruns e no canal de IRC. Em particular, gostaramos de agradecer a Daniel
Einspanjer, Ward Harris, Goodman Nicholas, Raju Prashant Barbeiro Tom, e
Yassine Elassad pelo seu papel na formao desta comunidade. Como de se esperar
com um projeto de cdigo aberto como o Pentaho, alguns membros da comunidade de casal
como os desenvolvedores de produtos. Um agradecimento especial para Ingo Klose, e mais
do que especial
agradecimentos a Pedro Alves. Juntos, eles criaram o Painel da Comunidade
Quadro, e Pedro foi muito til para ns, explicando a sua arquitetura e
design. Outras pessoas que merecem um agradecimento especial nota so Mark Hall, o
xi
xii Agradecimentos
principal desenvolvedor do projeto Weka, Kasper Srensen, o arquiteto da eobjects
DataCleaner, e Ronald Damhof, por seus insights valiosos no cofre de Dados
modelagem tcnica.
Finalmente, gostaramos de agradecer a Sara Shlaer e Bob Elliott, para gerir essa
projeto, e observe o grande trabalho que tanto Sara e Nancy fez Rapoport
com os documentos que entregamos. Percebemos que levou um esforo extra para
transformar os escritos destes dois caps Holands Ingls em texto legvel.
A colaborao com todos os envolvidos em Wiley sempre foi muito
eficiente e agradvel, talvez seremos capazes de trabalhar juntos novamente em
outro projeto.
Roland-Bouman e Jos van Dongen
Primeiro, eu gostaria de agradecer a Jos, meu co-autor. Sem ele, escrever este livro
teria sido to demorado que eu duvido que ele teria sido praticamente
vivel. E, claro, eu gostaria de agradecer os leitores da http://rpbouman
. Blogspot.com /. A idia de escrever este livro ao longo do tempo e foi
alimentados principalmente pelos comentrios que recebi em resposta a uma srie de posts
que eu
dedicado a Pentaho. Alm disso, eu recebi muitos comentrios encorajadores
e e-mails de leitores do meu blog durante o processo de escrita, que no poderia
ter sido melhor incentivo para continuar trabalhando para terminar esse livro.
Roland-Bouman
Minha viagem de BI open source comeou h quase trs anos atrs, quando eu publiquei
um dos meus artigos de primeira no Holands Banco de Dados Revista, intitulada''Pentaho,
Prometendo Open Source BI Suite''. Eu no poderia imaginar naquela poca que isso
levar a escrever um livro completo sobre o assunto, mas de alguma forma
fiz! Ento deixe-me agradecer aos meus co-autor de Roland por seus esforos incansveis no
sentido de obter
este projecto fora do cho. Francamente, eu no tenho idia de como ele conseguiu
ficar todo esse trabalho feito com um emprego a tempo inteiro e trs filhos pequenos em casa
para
cuidar. Um agradecimento especial tambm para Jeroen Kuiper, meu bom amigo e ex-
colega, para formatar as seces de armazm de dados deste livro, e para
sendo um crtico muito crtica do material.
-Jos van Dongen
Contedo at a Glance
Introduo
Parte I
Captulo 1
Captulo 2
Captulo 3
Captulo 4
Parte II
Captulo 5
Captulo 6
Captulo 7
Captulo 8
Parte III
Captulo 9
Comeando com Pentaho
Quick Start: Exemplos Pentaho
Pr-requisitos
Instalao e Configurao do Servidor
O BI Pentaho Stack
Dimensional e Modelagem de Data Warehouse
Design
Exemplo de caso de negcio: Filmes de Classe Mundial
Data Warehouse Primer
Modelagem de Negcios Usando esquemas Star
O Data Mart Processo de Projeto
Integrao de dados e ETL
Primer Pentaho Data Integration
xxxiii
1
3
21
37
63
91
93
111
147
191
221
223
261
309
xiii
Captulo 10 Criando Solues Pentaho Data Integration
Captulo 11 Implementando Solues Pentaho Data Integration
xiv Contedo at a Glance
Parte IV Inteligncia Aplicaes de Negcio 345
347
371
411
441
503
529
571
Captulo 12 A camada de metadados
Captulo 13 Usando as ferramentas de relatrios Pentaho
Captulo Programao 14 de Assinatura e de ruptura
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services
Captulo 16 Minerao de Dados com Weka
Captulo 17 Painis de Construo
ndice
Contedo
Introduo
Parte I
Captulo 1
Comeando com Pentaho
Quick Start: Exemplos Pentaho
Comeando com Pentaho
Baixar e instalar o software
Executando o Software
Iniciando o Servidor Pentaho BI
Registro em
Manto, o usurio Pentaho Console
Trabalhando com o contexto
Usando o Browser de Repositrio
Compreender o contexto
Executar os exemplos
Exemplos de relatrios
Exemplos BI Developer: Vendas Regional - HTML
Rodas de Ao: Demonstrao de Resultados
Rodas de Ao: Top 10 clientes
Exemplos BI Developer:
boto nico-parameter.prpt
Traando Exemplos
Rodas de Ao: Lista de Escolha Grfico
xxxiii
1
3
3
4
5
5
6
7
8
9
9
11
11
11
12
13
13
14
15
xv
xvi Contedo
Rodas de Ao: Lista Grfico Flash
Exemplos BI Developer: Vendas Regional -
Grfico de Linhas Bar /
Exemplos de Anlises
Exemplos Desenvolvedor BI: Slice and Dice
Rodas de Ao Exemplos de Anlises
Exemplos Dashboarding
Outros exemplos
Resumo
Captulo 2 Pr-requisitos
Configurao Bsica do Sistema
Instalar Ubuntu
Usando o Ubuntu no modo nativo
Usando uma mquina virtual
Trabalhando com o Terminal
Lista de Navegao
Histria de comando
Utilizando Links Simblicos
Criar links simblicos no Ubuntu
Criando Symlinks no Windows Vista
Java Instalao e Configurao
Instalando o Java no Linux Ubuntu
Instalando o Java no Windows
Instalao do MySQL
Instalando o servidor e cliente MySQL em Ubuntu
Instalando o servidor MySQL eo cliente no Windows
Ferramentas GUI MySQL
Instalar Ubuntu
Instalar o Windows
Database Tools
Power * Architect e outras ferramentas de design
Squirrel SQL Client
Instalar Ubuntu
Instalar o Windows
SQLeonardo
Resumo
15
16
16
17
18
19
20
20
21
22
22
23
23
24
24
25
25
26
26
27
27
28
29
29
30
31
31
31
31
31
32
32
33
33
34
Contedo xvii
Captulo 3 Instalao e Configurao do Servidor
Configurao do Servidor
Instalao
Directrio de Instalao
Conta de Usurio
Configurando o Tomcat
Arranque automtico
Gerenciando Drivers de Banco de Dados
Localizao Driver para o servidor
Localizao Driver para o console de administrao
Gerenciando drivers JDBC em UNIX-Based
Sistemas
Sistema de Bases de Dados
Configurando o MySQL esquemas
Configurando quartzo e Hibernate
Configurando a segurana JDBC
Dados da Amostra
Modificar o Pentaho Scripts de inicializao
E-mail
Configurao bsica de SMTP
Secure Configuration SMTP
Teste de E-mail Configurao
Editora Senha
Tarefas administrativas
A Administrao Pentaho Console
Configurao bsica do PAC
Iniciando e parando PAC
O Front End PAC
Configurando a segurana do PAC e Poderes
Gerenciamento de Usurio
As fontes de dados
Outras tarefas administrativas
Resumo
O BI Pentaho Stack
Pentaho BI Stack Perspectivas
Funcionalidade
Programas de servidor, o Web Client e Desktop
37
37
38
38
38
39
40
44
44
44
44
45
46
46
50
51
51
52
52
54
54
54
55
55
55
56
56
57
58
60
61
61
63
65
65
65
Captulo 4
xviii Sumrio
Front-ends e back-ends
Subjacente Tecnologia
O servidor Pentaho Business Intelligence
A Plataforma
A soluo de repositrio e do Mecanismo de Soluo
Database Management pool de conexo
User Authentication and Authorization
Agendamento de tarefas
Servios de e-mail
BI Componentes
A camada de metadados
Ad hoc Reporting Service
O Mecanismo de ETL
Reportagem Motores
O mecanismo de OLAP
O Mecanismo de Minerao de Dados
A camada de apresentao
Subjacente a tecnologia Java Servlet
Programas Desktop
Pentaho Enterprise Edition eo Community Edition
A criao de seqncias de ao com Pentaho Design
Studio
Pentaho Design Studio (Eclipse) Primer
O Editor de Seqncia de Ao
Anatomia de uma seqncia de ao
Entradas
Sadas
Aes
Resumo
Parte II
Captulo 5
Dimensional e Modelagem de Data Warehouse
Design
Exemplo de caso de negcio: Filmes de Classe Mundial
Filmes Classe Mundial: O Bsico
Os dados WCM
Obter e gerar dados
WCM Database: The Big Picture
66
66
67
67
68
69
69
69
70
70
70
72
72
72
72
72
73
74
74
76
77
78
80
83
83
85
85
89
91
93
94
95
97
97
Contedo xix
Catlogo de DVD
Clientes
Empregados
As ordens de compra
Pedidos de clientes e Promoes
Gesto de Stocks
Gesto do Negcio: A finalidade do negcio
Inteligncia
Perguntas Business Intelligence tpica para WCM
Dados fundamental
Resumo
Captulo 6 Data Warehouse Primer
Por que Voc Precisa de um Data Warehouse?
O grande debate: Inmon Versus Kimball
Arquitetura de Dados do Armazm
A rea de preparo
O Armazm de Dados Central
Data Marts
Cubos OLAP
Formatos de armazenamento e MDX
Desafios do Armazm de Dados
Qualidade dos dados
Dados Vault e Qualidade de Dados
Usando dados de referncia e Master
Volume de dados e desempenho
Open Source Apoio janela banco de dados
Captura de dados alterados
Fonte de Dados Baseado em CDC
Trigger Baseado CDC
Instantneo baseado CDC
Log-base CDC
Qual alternativa CDC deve voc escolher?
Requisitos Variveis de usurio
Tendncias do Armazm de Dados
Data Warehousing Virtual
Real-Time Data Warehousing
Bancos de dados analticos
99
101
101
101
102
104
105
108
109
110
111
112
114
116
118
119
121
121
122
123
124
125
127
128
132
133
133
134
135
136
137
137
139
139
140
142
xx Contedo
Armazm de Dados Eletrodomsticos
Em Data Warehousing Demand
Resumo
Captulo 7 Modelagem de Negcios Usando esquemas Star
O que um esquema em estrela?
As tabelas de dimenso e tabelas de fato
Tabela de tipos de Fato
Consultando esquemas Star
Junte-se a tipos de
Restries aplicveis em uma consulta
Combinando mltiplas restries
Restringir resultados agregados
Ordenao de Dados
A arquitetura de barramento
Princpios de Design
Usando chaves substitutas
Naming e Convenes Tipo
Granularidade e Agregao
Auditoria Colunas
Modelagem de Data e Hora
Tempo de granularidade da dimenso
Hora local Versus UTC
Data Smart Keys
Handling Time Relativa
Desconhecido chaves de dimenso
Tratando alteraes Dimenso
SCD Tipo 1: Substituir
SCD Tipo 2: Adicionar linha
SCD Tipo 3: Adicionar Coluna
SCD Tipo 4: Mini-Dimenses
SCD Tipo 5: Tabela de histrico separada
SCD Tipo 6: Estratgias Hbridas
Advanced Concepts Modelo Dimensional
Dimenses Monster
Lixo, heterogneo e Degenerada
Dimenses
Dimenses de Interpretao de Papis
143
144
144
147
147
148
149
150
153
156
157
157
158
158
160
160
162
163
164
165
165
165
166
166
169
169
171
171
174
174
176
178
179
179
180
181
Contedo xxi
Multi-valued dimenses e tabelas de Ponte
Criao de hierarquias
Flocos de neve e dimenses de agrupamento
Estabilizadores
Tabelas Consolidao multi-gro
Resumo
Captulo 8 O Data Mart Processo de Projeto
Anlise de Requisitos
Obtendo o direito de usurio Envolvidos
Coleta de Requisitos
Anlise de Dados
Data Profiling
Usando DataCleaner eobjects.org
Adicionando tarefas perfil
Adicionando conexes de banco de dados
Fazer um perfil inicial
Trabalhando com Expresses Regulares
A caracterizao e explorao de resultados
Validao e comparao de dados
Usando um dicionrio para Dependncia Coluna
Cheques
Solues Alternativas
Desenvolvimento do Modelo
Modelagem de dados com Power * Architect
Construindo o Data Marts WCM
Gerando o banco de dados
Dimenses gerar esttica
Especial campos de data e Clculos
Fonte para Alvo Mapeamento
Resumo
Integrao de dados e ETL
Primer Pentaho Data Integration
Viso geral de integrao de dados
Atividades de Integrao de Dados
Extrao
182
184
186
188
188
189
191
191
192
193
195
197
198
200
201
202
202
204
205
205
205
206
208
210
212
213
216
218
220
221
223
223
224
226
Parte III
Captulo 9
xxii Contedo
Change Data Capture
Data Staging
Validao de dados
De limpeza de dados
Decodificao e Renomeando
Key Management
Agregao
Dimenso e Manuteno de Tabelas Ponte
Carregando Tabelas de fatos
Pentaho Data Integration e Conceitos
Componentes
Ferramentas e Utilitrios
O Mecanismo de Integrao de Dados
Repositrio
Empregos e Transformaes
Plug-Arquitetura na
Comeando com uma colher
Iniciando o aplicativo Spoon
Um mundo simples''Ol,!''Exemplo
Construindo a Transformao
Executando a Transformao
A Execuo Painel de Resultados
A sada de
Verificao de consistncia e Dependncias
Consistncia lgica
Dependncias de recursos
Verificando a Transformao
Trabalho com o Banco de Dados
JDBC ODBC e conectividade
Criando uma conexo de banco de dados
Testando conexes de banco de dados
Como as conexes de banco de dados so usados
Um banco de dados habilitado''Ol, Mundo!''Exemplo
Banco de dados de configurao de conexo
Gesto
Conexes de banco de dados genricos
Resumo
226
226
227
228
228
229
229
229
230
230
230
232
232
232
235
236
236
237
237
244
245
246
247
247
247
247
248
248
249
252
252
253
256
257
258
Contedo xxiii
Captulo 10 Criando Pentaho Data Integration Solutions261
Gerando Tabela de dimenso Data262
Usando Stored Procedures262
Carregando uma data simples Dimension263
CREATE TABLE dim_date: usando o Executar
SQL Script Step265
Falta de data e gerar linhas com inicial
Data: gerar linhas Step267
Dias Seqncia: A Seqncia Adicionar Step268
Calcular e formatar datas: a Etapa calculadora 269
O mapeador Valor Step273
dim_date carga: O Step275 Output Table
Mais avanada Dimension Data Features276
ISO Week e Year276
Ano passado e atual Indicators276
Internacionalizao e Idiomas Support277
Carregando um tempo simples Dimension277
Combine: A associao de linhas (produto cartesiano)
Step279
Calcular Tempo: Mais uma vez, a calculadora Step281
Carregando a Demografia Dimension281
Compreender o stage_demography e
Tables283 dim_demography
Gerao de idade e renda Groups284
Vrias entrada e sada Streams285
Carregamento de dados de fonte Systems286
Encenao Pesquisa Values286
O Job287 stage_lookup_data
O incio do trabalho Entry288
Transformao do emprego Entries288
Correio xito e-mail Failure289
O extract_lookup_type e
extract_lookup_value Transformations292
O Transformation293 stage_lookup_data
Verificar se existe tabela de preparao: a tabela existe
Step294
As linhas de filtro Step294
Criar Staging Tabela: Execuo SQL295 Dynamic
O Step296 Dummy
xxiv Contedo
A Corrente Pesquisa Etapa
Classificar em Lookup Type: o tipo Etapa Linhas
Guarde o estadiamento da tabela: usando uma sada de mesa
Passo para carregar vrias tabelas
A Dimenso Promoo
Promoo de mapeamentos
Dados Alteraes Promoo
Sincronizao de Freqncia
O load_dim_promotion Trabalho
A Transformao extract_promotion
Determinar as alteraes nos dados de Promoo
Salvando o extrato e passando sobre o nome do arquivo
Levantando o arquivo e carregar o Extrato
Resumo
Captulo 11 Implementando Solues Pentaho Data Integration
Configuration Management
Usando variveis
Variveis em propriedades de configurao
Variveis de Usurio
Variveis internas
Variveis Exemplo: Base de dados dinmicos
Conexes
Mais sobre a etapa Definir Variveis
Defina variveis Gotchas Etapa
Usando conexes JNDI
O que o JNDI?
Criando uma conexo JNDI
Conexes JNDI e Implantao
Trabalho com o Repositrio PDI
Criando um Repositrio PDI
Conectando-se ao repositrio
Automaticamente conectando a um padro
Repositrio
O Explorer Repositrio
Administrando Contas de Usurio do Repositrio
Como PDI se mantm informado dos Repositrios
Atualizando um repositrio existente
Em execuo no ambiente de implantao
297
299
300
300
301
301
302
302
303
304
306
306
308
309
310
310
311
312
314
314
318
319
319
319
320
321
322
322
323
324
325
327
328
329
330
Contedo xxv
Correndo na linha de comando
Parmetros de linha de comando
Executar trabalhos com Cozinha
Correndo com Transformaes Pan
Usando parmetros personalizados de linha de comando
Usando senhas de banco de dados Obfuscated
Rodando dentro do Pentaho BI Server
Transformaes em seqncias de ao
Empregos em seqncias de ao
O servidor Pentaho BI e do PDI Repositrio
Execuo remota com Carte
Por execuo remota?
Correndo Carte
Criando Servidor Slave
Remotamente Executando uma transformao ou de
trabalho
Clustering
Resumo
330
330
332
332
333
334
334
334
335
336
337
338
339
340
341
341
343
Parte IV Inteligncia Aplicaes de Negcio 345
347
347
347
348
348
348
349
349
350
350
352
352
352
353
355
Captulo 12 A camada de metadados
Metadados Resumo
O que so metadados?
As vantagens da Camada de Metadados
Utilizando Metadados para fazer um mais user-friendly
Interface
Adicionando Independncia Flexibilidade e esquema
Privilgios de acesso do Refino
Manipulao de localizao
Cumprimento de formatao consistente e Comportamento
mbito de aplicao e uso da Camada de Metadados
Metadados Caractersticas Pentaho
Banco de Dados e Abstrao de consulta
Relatrio de Definio: Ponto do usurio de negcios de
Ver
Relatrio de Execuo: A SQL Developer's
Ponto de Vista
Mecnicos de Abstrao: A camada de metadados
xxvi Contedo
Propriedades, Conceitos e herana no
Metadados Layer
Propriedades
Conceitos
Herana
Localizao de Imveis
Criao e manuteno de metadados
O editor de metadados em Pentaho
O Repositrio de Metadados
Metadados Domnios
As subcamadas da Camada de Metadados
A Camada Fsica
A camada lgica
A camada de entrega
Implantao e uso de metadados
Exportao e importao de arquivos XMI
Publicao de metadados para o servidor
Atualizando os Metadados
Resumo
Captulo 13 Usando as ferramentas de relatrios Pentaho
Reporting Arquitetura
Relatrios baseados na Web
Usos Prticos da WAQR
Pentaho Report Designer
A tela do PRD
Estrutura do relatrio
Relatrio Elementos
Criando Conjuntos de dados
Criando consultas SQL usando JDBC
Criando consultas de metadados
Exemplo de dados Set
Adicionando e Usando Parmetros
Layout e Formatao
Cores de linha alternadas: Bandas da Linha
Agrupando e resumindo dados
Adicionando e modificando grupos
Usando funes
Usando frmulas
355
355
356
356
357
357
357
358
359
359
359
362
365
366
366
367
367
368
371
371
373
375
376
377
378
380
381
382
385
386
386
389
390
391
391
393
395
Contedo xxvii
Adicionando grficos e elementos grficos
Adicionando um grfico de barras
Grficos de pizza
Trabalhando com imagens
Trabalhando com sub-relatrios
Passando valores de parmetros para sub-relatrios
Publicando e Exportando relatrios
Atualizando os Metadados
Exportando relatrios
Resumo
Captulo Programao 14 de Assinatura e de ruptura
Agendamento
Conceitos do Scheduler
Pblico e Agendas Privada
Repositrio de contedo
Criao e manuteno de agendas com o
Pentaho Console de Administrao
Criar uma Nova Agenda
Correndo Horrios
Suspenso e retomada de Horrios
Excluindo agendas
Programao com o Agendador de Aco
Seqncias
Adicionar tarefa
Trabalho suspender, reiniciar Trabalho, Emprego e Excluir
Aes Outros Processo Scheduler
Programador Alternativas
Sistemas baseados em Unix: Cron
Windows: o de utilidade pblica e do Agendador de Tarefas
Contexto de execuo e assinatura
Como funciona a execuo em segundo plano
Assinatura Como funciona
Permitir que usurios se inscrevam
Concesso de execuo e cronograma Privilgios
A subscrio efectiva
Espao de Trabalho do Usurio
Visualizando o Contedo da rea de Trabalho
397
400
400
401
404
405
406
407
408
408
411
411
412
412
412
413
414
416
416
417
417
418
420
420
420
421
421
422
422
423
423
424
425
426
426
xxviii Contedo
A espera, completa e agendamentos dos meus
Panes
O Painel de Agendas Pblicas
rea de trabalho do administrador do servidor
Limpando a rea de trabalho
Ruptura
Implementao de ruptura em Pentaho
Exemplo de ruptura: Aluguel lembrete E-mails
Passo 1: encontrar clientes com DVDs que so
Prevista para esta semana
Passo 2: looping atravs dos clientes
Passo 3: Primeiros DVDs que devero ser
Obtivemos
Passo 4: Executando o relatrio lembrete
Passo 5: o envio do relatrio via e-mail
Outras implementaes de ruptura
Resumo
427
427
428
429
430
430
430
431
432
434
434
436
438
439
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 441
Resumo da Anlise Pentaho Services442
Architecture442
Schema444
Esquema Design Tools444
Agregado Tables445
MDX Primer445
Cubos, dimenses e Measures446
O Cubo Concept446
Esquema Estrela Analogy447
Cubo Visualization447
Hierarquias, nveis e Members448
Hierarchies448
Nveis e Members449
O nvel de todos, todos os Estados e os Estados-padro 450
Membro Sets451
Vrias Hierarchies451
Cube Famlia Relationships451
Horrio relativo Relationships452
Consultas MDX Syntax453
Basic MDX Query453
Contedo xxix
Eixos: em linhas e ON COLUNAS
Olhando para uma parte dos dados
Dimenso em apenas um eixo
Mais exemplos MDX: um simples cubo
A funo FILTER
A funo ORDEM
Usando TopCount e BOTTOMCOUNT
Combinando Dimenses: A Crossjoin
Funo
Usando no vazia
Trabalhando com conjuntos e a clusula WITH
Usando membros calculados
Criando esquemas Mondrian
Comeando com Pentaho esquema Workbench
Baixando Mondrian
Esquema de Instalao do Pentaho Workbench
A partir do esquema Pentaho Workbench
Estabelecendo uma conexo
JDBC Explorer
Usando o editor de esquema
Criando um novo esquema
Salvando o esquema em disco
Edio de objeto Atributos
Alterar Edit Mode
Criao e edio de um esquema bsico
Esquema Bsico tarefas de edio
Criando um Cubo
Escolher uma Mesa de Fato
Adicionando Medidas
Adicionando dimenses
Adicionando e hierarquias Editar e escolha
Tabelas de dimenso
Adio de nveis de hierarquia
Associando Cubos com Dimenses compartilhadas
Adicionando as Dimenses e DVD ao Cliente
XML Listagem
Testes e Implantao
Usando a ferramenta de consulta MDX
Publicando o Cubo de
453
454
455
455
455
456
457
457
457
458
459
460
460
460
461
461
462
463
463
463
464
465
465
466
466
466
468
469
470
471
474
476
478
480
481
481
482
xxx Contedo
Tpicos Design esquema ns no cobrimos
Visualizando Cubos Mondrian com JPivot
Introduo vista da anlise
Usando a Barra de Ferramentas JPivot
Perfurao
Perfurao Sabores
Broca-Membros e posio da broca
Substituir Drill
Perfurar
O Navigator OLAP
Controlando a veiculao de dimenses em eixos
Fatias com o Navigator OLAP
Especificando Estados jogos com o OLAP
Navigator
Resultados de vrias medidas
Diversos recursos
Painel de Consulta MDX
PDF e Excel Exportar
Grfico
Melhorando o desempenho usando o Pentaho
Designer Aggregate
Agregao de Benefcios
Estendendo Mondrian com tabelas agregadas
Pentaho Designer Aggregate
Solues Alternativas
Resumo
Captulo 16 Minerao de Dados com Weka
Data Mining Primer
Processo de Data Mining
Data Mining Toolset
Classificao
Clustering
Associao
Numricos de previso (Regresso)
Algoritmos de minerao de dados
Treinamento e teste
Estratificada de validao cruzada
O Weka Workbench
483
484
484
485
486
486
487
488
488
488
489
490
492
493
493
493
494
494
496
496
497
500
502
502
503
504
504
506
506
507
507
508
508
509
509
510
Contedo xxxi
Formatos de entrada Weka
Configurando conexes de banco de dados Weka
Comeando Weka
O Weka Explorer
O experimentador Weka
Weka KnowledgeFlow
Usando Weka com Pentaho
Adicionando Plugins Weka PDI
Comeando com Weka e PDI
Aquisio de Dados e Preparao
Como criar e salvar o modelo
Utilizando o Weka Scoring Plugin
Leitura
Resumo
Captulo 17 Painis de Construo
O Dashboard Framework Comunidade
CDF, a Comunidade eo Pentaho
Corporation
CDF Projeto Histria e Quem Quem
Emisso de Administrao, Documentao e
Suporte
Competncias e Tecnologias de Dashboards CDF
Conceitos CDF e Arquitetura
O CDF Plugin
O Diretrio Home CDF
O arquivo plugin.xml
CDF JavaScript e CSS Recursos
O xcdf. Arquivo
Modelos
Modelo de Documento (a.k.a. exterior Modelo)
Modelo de Contedo
Exemplo: Clientes e Dashboard Sites
Instalao
Criando o. Xcdf Arquivo
Criando o arquivo HTML Dashboard
Cdigo clich: Como a soluo e caminho
Cdigo clich: Parmetros Dashboard
Cdigo clich: Componentes Dashboard
511
512
514
516
517
518
519
520
520
521
523
525
527
527
529
529
529
530
531
531
532
534
534
535
536
537
538
538
541
542
544
544
545
545
546
546
xxxii Contedo
Teste
Clientes por grfico de pizza Website
Clientes / Website: Recurso grfico de pizza
Seqncia
Clientes / Website: XactionComponent
Alterar dinamicamente o ttulo Dashboard
Adicionando o Dashboard website_name
Parmetro
Reagindo aos cliques do mouse sobre o grfico de pizza
Adicionando um TextComponent
Mostrando a localizao do cliente
MapComponent CDF formato de dados
Acrescentando uma dimenso Geografia
Localizao Seqncia de Ao de Dados
Colocando no Mapa
Usando marcadores diferentes dependendo dos dados
Styling e Personalizao
Denominando o Dashboard
Criando um modelo de documento personalizado
Resumo
ndice
547
548
548
551
553
553
554
555
557
557
558
559
561
562
565
566
568
569
571
Introduo
Em 1958 a IBM Research Fellow Hans Peter Luhn escreveu um artigo seminal para o
Jornal Sistemas IBM ''Uma chamada de Business Intelligence System''. Neste trabalho
o termo inteligncia foi definido como''a capacidade de apreender as inter-
RELACIONAMENTO dos fatos apresentados de forma a orientar a aco para uma desejada
objetivo.''Hoje em dia este papel geralmente considerada como a fasca que iniciou
o desenvolvimento de Business Intelligence (BI), sistemas como os conhecemos hoje.
Por um longo tempo o mercado de software para apoiar BI tem sido o domnio
de um punhado de fornecedores proprietrios que poderia carregar grandes somas de
dinheiro
para suas solues especializadas. O final dos anos noventa marcou uma importante viragem
ponto para o mercado mundial de software de solues open source, quando comeou
para se tornarem alternativas viveis para o apoio aos sistemas de misso crtica. Primeira
os vrios sabores de Linux veio da idade, e em 2001 e 2002, vrios novos
projetos foram iniciados, todos nas reas de integrao de dados, relatrios, anlise
e minerao de dados, os pilares de uma soluo de BI moderna. Em 2004,
JasperSoft e Pentaho foi fundada para oferecer sutes completas de BI que alavancou
o actual stand-alone solues de BI. Desde ento, essas empresas viram
forte crescimento e adoo do mercado, tornando as solues de BI de fonte aberta uma
grave
alternativa para os fornecedores estabelecidos proprietrios.
Voc pode se perguntar agora, o que Business Intelligence e por que
assunto? Na verdade, a definio dada por Luhn ainda vlido, mas em 1993,
Analista do Gartner Howard Dresner reintroduziu o termo Business Intelligence
e definiu-o como segue:
Conceitos e mtodos para melhorar a tomada de decises comerciais usando baseadas
em fatos
sistemas de apoio.
Esta uma definio um pouco menos abstrata em comparao com Luhn, e um
que ainda usado pela maioria das pessoas para explicar o que BI. A definio
xxxiii
Introduo xxxiv
no essencialmente focado em tecnologia (''conceitos e mtodos''), mas o ltimo
systems'' apoio parcial''fact baseado que o tema deste livro. Este livro
tudo sobre como criar um sistema de apoio baseado em factos usando as ferramentas
entregues
pela Pentaho. Para ser capaz de tomar melhores decises baseadas em fatos, voc vai
precisar
obter essa informao factual de um ou mais sistemas de informao, integrao
esses dados em uma forma til, e os usurios apresentam relatrios e anlises que
ajud-los a compreender o passado eo presente do desempenho organizacional.
O valor real dos sistemas de BI est na sua utilizao para apoiar as organizaes
para tomar decises bem informadas que levar a uma maior rentabilidade,
custos reduzidos, eficincia, crescimento da quota de mercado, maior colaborador
satisfao, ou o que quer os objectivos da sua organizao pode ser. O acrescentado
benefcio do uso do open source Pentaho para fazer isso o grande
valor para o dinheiro ea flexibilidade do software. Isso permite que qualquer organizao,
com fins lucrativos ou sem fins lucrativos, grandes ou pequenas, para implementar e utilizar
este software para
tomar melhores decises.
Sobre este livro
Os primrdios da Pentaho Solutions voltar para mais de um ano atrs, quando ns,
os autores, observamos um interesse crescente em cdigo aberto e software livre
solues, combinado com uma conscincia crescente de que ainda software de BI essencial
em medir e melhorar o desempenho de uma organizao.
Durante a dcada passada, as variantes de cdigo aberto mais e mais tipos de
software tornaram-se alternativas comumente aceita e respeitada a sua
mais caro e menos flexvel homlogos proprietrios. O facto de software
open source muitas vezes confundido por ser livre de custos, e embora isso possa
ser verdade, se voc olhar apenas o custo de licena, uma soluo de BI no pode (e nunca
vai) ser livre de custos. Existem custos associados a hardware, implementao,
formao, manuteno e migrao, e se tudo isso resumido despeja
que os certificados representam apenas uma pequena parte do custo do ciclo de vida total de
qualquer
soluo de software. Open source, porm muito mais do que uma maneira mais barata de
aquisio de software. O fato de que o cdigo fonte est disponvel livremente para qualquer
um
garante melhor qualidade de cdigo, uma vez que mais provvel que os problemas so
encontrados quando mais
as pessoas tm acesso fonte do que apenas os desenvolvedores do ncleo. O fato de que
software de fonte aberta construdo sobre padres abertos usando a programao normal
lnguas (principalmente Java) torna-o extremamente flexvel e extensvel. E o
fato de que software de cdigo aberto no mais vinculado a um determinado sistema
operacional
estende essa flexibilidade e liberdade ainda mais.
O que normalmente insuficiente, porm, um bom conjunto de documentao e manuais.
A maioria dos projetos de cdigo aberto oferecem software de excelente qualidade, mas os
desenvolvedores
geralmente se preocupam mais com sair um grande programa de entrega adequada
documentao. E, embora voc pode encontrar muitas boas fontes de informao
sobre cada pedao de solues de BI Pentaho, sentimos que existia a necessidade de
xxxv Introduo
uma nica fonte de informao para ajudar o usurio iniciante em sua forma
descobrir o conjunto de ferramentas Pentaho e implementar a primeira soluo. Isso
exatamente o que este livro para a ajudar a construir sua primeiras solues de BI
Pentaho usando, desde o incio (descobrindo Pentaho) at o fim
(Painis de construo para os usurios finais).
Quem deve ler este livro
Este livro destinado para quem quer saber como oferecer solues de BI
usando Pentaho. Talvez voc seja um gerente de TI procura um custo eficiente de BI
soluo, um profissional de TI que desejam ampliar seu conjunto de habilidades, ou de um BI
ou dados
consultor de armazm responsvel pelo desenvolvimento de solues de BI em sua organi-
zao. Talvez voc seja um desenvolvedor de software com um monte de construo de
experincia
solues de open source, mas ainda novo no mundo de Business Intelligence. E
Talvez voc j experimentou um BI ou dados desenvolvedor armazm com
profundo conhecimento de uma ou mais das ferramentas existentes de propriedade. Em
qualquer caso,
Vamos assumir que tem um hands-on mentalidade j que este um hands-on do livro.
Ns esperamos alguma familiaridade com o uso de computadores para fornecer informaes,
instalao de software, e trabalhar com bases de dados, mas a maioria dos tpicos que sero
explicado desde o incio. Ento, se voc no um especialista em SQL experiente, no
se preocupe: ns vamos cobrir o bsico dessa linguagem de consulta para que voc obtenha
em seu caminho.
claro que os conceitos de BI e data warehouse so explicados como bem, mas o
foco principal sobre como transformar estes conceitos em uma soluo de trabalho.
Isso exatamente por isso que o livro chamado Solues Pentaho.
O que voc vai precisar usar este livro
Para poder utilizar este livro, voc s precisa de duas coisas: um computador e uma
Ligao Internet. Todos os softwares e discutimos o uso deste livro livremente
disponveis na Internet para download e uso. Os requisitos de sistema
para o computador que voc precisa bastante moderado, de fato, qualquer computador que
inferior a quatro anos vai fazer o trabalho muito bem, contanto que voc tenha pelo menos
1 Gigabyte de memria RAM instalada e 2 GB de espao livre em disco disponvel para
baixar e instalar o software.
Os diversos captulos contm URLs onde voc pode encontrar e baixar o
software que est sendo utilizado e as instrues de instalao. Quanto
Pentaho, existem, para alm do cdigo fonte real do curso, trs verses
do software que voc pode usar:
Estes lanamentos GA- so estveis verses do software, no geralmente o
Os mais recentes, mas certamente o mais confivel.
Release Candidates-A ''verses''quase pronto seguinte do software,
possivelmente com alguns pequenos bugs ainda neles.
Introduo xxxvi
Milestone libera-Estes so criadas com mais freqncia e permite que voc
para trabalhar com verses recentes introduzindo novas caractersticas.
Nightly constri-A verses mais atualizadas do software, mas tambm
os menos estveis.
Ao escrever este livro, que trabalhou principalmente com a nightly builds que
geralmente precedem os lanamentos GA por trs meses ou mais. Isso significa que
que quando voc ler este livro, o software usado neste livro , no mnimo, um
milestone ou j GA. Isto permite-lhe trabalhar com o material
usando um produto estvel, livre de bugs e voc pode se concentrar em solues de
construo,
No correo de bugs.
NOTA Como este livro vai para a imprensa, o prximo grande lanamento do Pentaho esperado
no outono de 2009. O nmero da verso final para esta verso ainda no do conhecimento pblico,
mas a verso de trabalho actualmente designada como Citrus''.''
A lista completa com as opes de download est disponvel online em
http://wiki.pentaho.com/display/COM/Community+Edition+Downloads.
O que voc vai aprender com este livro
Este livro vai ensinar-lhe:
O Business Intelligence , e porque voc precisa dele
Os componentes e produtos que formam a Pentaho Business Intelligence
suite, e como estes produtos e componentes de BI cumprir necessidades especficas
Como instalar e configurar o Pentaho e como conect-lo a uma base de dados
armazm
Como projetar um data warehouse utilizando ferramentas de cdigo
aberto
Como criar e carregar um armazm de dados com Pentaho Data Integration
(Kettle)
Como configurar uma camada de metadados para permitir relatrios ad-hoc e de auto-
atendimento
sem o uso de consultas diretas SQL
Como criar relatrios utilizando as ferramentas Pentaho Reporting
Como criar Pentaho Analysis Services (Mondrian), cubos, e visualizar
los usando o navegador cubo JPivot
Como configurar o agendamento, assinatura e distribuio automtica de BI
contedo
Como comear com o Pentaho Data Mining (Weka)
Como construir painis usando a Comunidade Dashboard Framework
para Pentaho
xxxvii Introduo
Como este livro est organizado
Este livro explica os conceitos de BI, tecnologias e solues. Ns usamos uma fico
vendas on-line de vdeo e empresas de aluguel (acho Netflix), que aparece em toda
o livro. Para cada parte distinta, as implementaes de exemplo so criados usando
Pentaho. Quando o exemplo se baseia em um banco de dados, ns temos tido o cuidado de
assegurar
o cdigo da amostra compatvel com o MySQL popular e ubqua
banco de dados (verso 5.1).
Estas amostras de fornecer os detalhes tcnicos necessrios para entender como
voc pode construir solues de BI para as situaes do mundo real. O mbito destas BI
solues principalmente sobre o nvel de data mart departamentais, que
acredito ser o caso de negcio mais comuns para o BI / data warehousing.
Parte I: Introduo ao Pentaho
Parte I est focado em obter um entendimento rpido e de alto nvel do
Pentaho software, sua arquitetura e suas capacidades. Alm disso, essa parte
apresenta-lhe uma srie de ferramentas de suporte de cdigo aberto que pode ajudar na
desenvolvimento armazns do mundo real de dados e aplicaes de BI.
Captulo 1: Exemplos Pentaho: Quick Start
Business Intelligence um assunto vasto e Pentaho uma pea complexa de
software. Ao mesmo tempo, fcil de entender porque voc precisa dele, e como
poderia se aplicar a voc se voc seguir junto com alguns exemplos. Este captulo
faz exatamente isso: ele oferece um prtico e eficiente na demonstrao de que voc
pode fazer com BI Pentaho e como ajuda a faz-lo.
Captulo 2: Pr-requisitos
A fim de desenvolver aplicaes de BI e arquitetura de apoio como um
data warehouse, voc precisa de diversos produtos de software, tais como modelagem de
dados
ferramentas e um servidor de banco de dados. Este captulo apresenta uma srie de
produtos que so essenciais para os exemplos desenvolvidos neste livro, bem como um
nmero de ferramentas de apoio para aumentar a produtividade. Como Pentaho, todos os
produtos
aqui mencionadas so de cdigo aberto / software livre. Estamos confiantes que voc vai
encontrar um
nmero de adies valiosas para o seu conjunto de ferramentas profissionais aqui.
Captulo 3: Instalao e Configurao do Servidor
Embora este livro no fornece uma referncia completa para administrao de Pentaho
e as tarefas de configurao, o mais importante e instalao so
descrito neste captulo. Como tal, este captulo no tanto sobre a explicao
conceitos, mas sim, saber o que editar arquivos de configurao para ajustar as coisas
Introduo xxxviii
at ao seu gosto. Voc deve pelo menos ler todo este captulo uma vez antes
construo de aplicaes Pentaho. Muitas das informaes aqui tem o carter
de uma referncia. medida que abrange os aspectos mais Pentaho todo o livro,
voc pode querer revisitar este captulo para procurar determinados elementos da
Pentaho configurao.
Captulo 4: O Pentaho BI Stack
Este captulo fornece uma viso geral do Pentaho, seus componentes, as suas capacidades,
e sua arquitetura. Ele apresenta a voc os conceitos importantes Pentaho, como
seqncias de ao e soluo de repositrio. Embora exista uma quantidade razovel
da teoria neste captulo, tambm fornece explicaes prticas, unindo
uma grande quantidade de material coberto nos captulos anteriores.
Parte II: modelagem dimensional e dados
Armazm Design
Parte II apresenta-lhe os principais conceitos e tcnicas relativas dimenso
modelagem e armazenamento de dados. Estes conceitos so feitos tangveis usando
um estudo de caso nico exemplo com base em um aluguel de DVD (fictcio) em linha
negcios, de Classe Mundial Filmes. Atravs da teoria constantemente e conscientemente a
mistura
e prticos, exemplos prticos, esperamos estabelecer uma fundao slida para
desenvolvimento de aplicaes de BI no restante do livro.
Captulo 5: Caso de Negcio Exemplo: Filmes de Classe Mundial
Neste captulo, ns introduzimos o World Class aluguer de DVD de filmes online
negcios. Ns fornecemos uma explicao detalhada dos seus negcios e subjacentes
esquema de banco de dados OLTP.
Captulo 6: Primer Data Warehouse
Este captulo apresenta e explica os conceitos fundamentais da dimenso
modelagem e armazenamento de dados. Ele explica os benefcios do uso de dados
warehouse e como um data warehouse difere de outros tipos de bancos de dados.
O captulo aborda a histria, estado atual e perspectivas futuras de dados
tecnologia de armazm e arquitetura.
Captulo 7: Modelagem de Negcios Usando esquemas Star
Este captulo leva a modelagem dimensional e conceitos de data warehouse
do captulo anterior e aplica-los para a Classe Mundial Filmes
business case para desenvolver as vrias partes do modelo de data mart.
Este modelo serve como base para as aplicaes de BI (que so desenvolvidos
na prxima parte do livro).
xxxix Introduo
Captulo 8: os dados do processo de Design Mart
Neste captulo, o projeto lgico do captulo anterior mais desenvol-
desenvolvidos, culminando em uma srie de esquemas em estrela, que servem para alcanar
o desenvolvimento fsico
execuo dos Filmes Classe Mundial de data warehouse, que a base
de praticamente todos os exemplos prticos no restante do livro.
Parte III: Integrao de dados e ETL
A Parte III dedicada ao processo de enchimento do depsito de dados usando o Pentaho
ferramentas de integrao de dados e funcionalidades.
Captulo 9: Pentaho Data Integration Primer
Este captulo fornece uma viso geral de todas as ferramentas que compem o Pentaho
Data Integration (PDI) toolkit. Ele explica a arquitetura e apresenta
a uma srie de conceitos que so fundamentais para a concepo de ETL dentro do Pentaho
plataforma. Ao mesmo tempo, fornece-lhe com as mos bsicas sobre as habilidades que
ir ajud-lo a usar ferramentas Pentaho Data Integration efetivamente para construir ETL
aplicaes.
Captulo 10: Criando Solues Pentaho Data Integration
Usando os conceitos e competncias bsicas adquiridas a partir do captulo anterior, este
captulo se concentra na concepo e construo de um hands-on soluo prtica
para carregar as Ordens mart de dados do data warehouse de Classe Mundial Filmes.
As transformaes exemplo, so acompanhados por uma descrio detalhada de
comumente usado etapas de transformao.
Captulo 11: Pentaho Data Integration Implantar solues
Este captulo se concentra na gesto e implantao de Pentaho Data Integration
solues. Alm disso, explica como as transformaes individuais podem ser
combinados para criar empregos. Vrias tcnicas para a gesto dos recursos estticos,
como conexes de banco de dados e arquivos so discutidas, junto com alguns dos mais
recursos avanados de PDI, como a execuo remota e clustering.
Parte IV: Aplicaes de Inteligncia de Negcios
Parte IV explica como usar o data warehouse para criar contedo de BI no final
usurios se preocupam.
Captulo 12: A camada de metadados
Este captulo apresenta Pentaho metadados e do editor de metadados. Alm
para explicar conceitos de metadados e da finalidade dos metadados em solues de BI,
Introduo xl
Este captulo fornece instrues detalhadas para criar um domnio de metadados que
podem ser usados para criar relatrios de auto-atendimento.
Captulo 13: Usando as ferramentas Pentaho Reporting
Este captulo fornece um tutorial em profundidade sobre o projeto e implantao
relatrios usando o Pentaho Report Designer. Voc vai aprender como criar
consultas usando o designer visual SQL ea ferramenta de consulta de metadados, adicione
parmetros para o relatrio para anlise interativa, e construir uma grande procura e
relatrios perspicazes usando tabelas, grficos e tabelas.
Captulo 14: Assinatura, agendamento e de ruptura
Este captulo sobre toda a produo automtica e entrega de contedo de BI. Voc
vai aprender a usar o Pentaho's built-in scheduler e como ela se liga em recursos
tais como inscrio e agendamento.
Captulo 15: Solues OLAP Utilizando Pentaho Analysis Services
Este captulo explica os componentes Pentaho OLAP. Alm de explicar
OLAP e MDX em geral, este captulo ajuda voc a criar anlise Pentaho
cubos, pastilhas e pontos de vista. A ltima parte deste captulo apresenta o designer
agregado
que ajuda a melhorar o desempenho da ferramenta Pentaho Analysis.
Captulo 16: Minerao de Dados com Weka
Neste captulo, vamos introduzir os conceitos bsicos de minerao de dados e prticas como
agrupamento e classificao utilizando Weka, o Pentaho componente de minerao de dados.
Terminamos este captulo com um exemplo de como voc pode usar um modelo de
minerao de dados
criado com Weka em uma transformao Pentaho Data Integration.
Captulo 17: Construindo Painis
Este captulo explica os conceitos subjacentes ao Dashboard Comunidade
Quadro. Utilizando um mtodo passo-a passo, este captulo explica em detalhes como
combinar uma srie de itens de soluo Pentaho diferentes e lev-los
juntos em um painel.
Sobre o Website
Todo o material utilizado no exemplo do livro est disponvel para download a partir do
Web site do companheiro em Wiley (www.wiley.com / go / pentahosolutions) E na
www.worldclassmovies.com. O download inclui os seguintes itens:
Power * Architect modelos de dados para bases de dados no livro
Os arquivos de dados de clientes, produtos e funcionrios
xli Introduo
MySQL criar scripts para os bancos de dados
scripts MySQL para gerar transaes de vendas
Todos os trabalhos PDI e transformaes
modelos de metadados para criar relatrios
Exemplos de relatrios
esquemas Mondrian
definio de arquivos Dashboard
seqncia de exemplos de Aco
Recursos adicionais
Existem vrios livros disponveis sobre os temas especficos abordados neste livro.
Muitos captulos contm referncias para outras leituras e links para sites que
contm informaes adicionais. Se voc novo e Business Intelligence
armazenamento de dados em geral (ou quiser acompanhar os desenvolvimentos mais
recentes),
Aqui esto alguns bons lugares para comear:
inteligncia http://en.wikipedia.org/wiki/Business
http://www.kimballgroup.com
http://b-eye-network.com
http://www.tdwi.org
Ns tambm encorajamos voc a visitar o nosso site, http://rpbouman.blogspot.com
e www.tholis.com, Onde voc pode encontrar as nossas informaes de contato em caso de
quero entrar em contato conosco diretamente.
Pentaho Solutions

Parte
I
Comeando com Pentaho
Nesta parte
Captulo
Captulo
Captulo
Captulo
1: Quick Start: Exemplos Pentaho
2: Pr-requisitos
3: Instalao e Configurao do Servidor
4: O BI Pentaho Stack
CAPTULO
1
Quick Start: Exemplos Pentaho
Pentaho um poderoso Business Intelligence Suite oferece muitos recursos:
relatrios, tabelas dinmicas de OLAP, dashboards e muito mais. Neste livro voc vai
encontrar um monte de informaes detalhadas sobre os componentes Pentaho, como eles
funcionam
e interagir, os recursos que oferecem, e como usar o Pentaho BI Suite para
criar solues para os problemas do mundo real. No entanto, uma boa idia para tentar
compreender o quadro geral antes de mergulhar nos detalhes.
Este captulo ajuda voc a comear por mostrar-lhe onde conseguir o software
e como instalar e execut-lo. O Pentaho BI Suite inclui muitos exemplos
demonstrando suas caractersticas para dar aos usurios uma nova idia de que tipo de
solues
voc pode construir com ela. A maioria destes trabalhos exemplos''fora do''caixa e so
portanto, ideal para uma introduo ao produto. Ao ler este captulo, voc
se familiarizar com a Pentaho, olhando para alguns exemplos.
Comeando com Pentaho
Nesta seo, descrevemos como obter o software, instal-lo e execut-lo.
Para executar o software, voc precisa de um desktop ou laptop regular execuo
qualquer sistema operacional popular, como o Ubuntu Linux, Mac OS X ou Microsoft
Windows 7, XP ou Vista. Para baixar o software necessrio, voc vai precisar de um
conexo Internet com banda suficiente para fazer o download de dezenas a centenas
de megabytes.
3
4 Parte I Comeando com Pentaho
Baixar e instalar o software
O Pentaho BI Suite um software de fonte aberta, voc livre para usar e distribuir
seus programas, e se voc quiser, voc pode estudar e at mesmo modificar seu cdigo fonte.
Voc pode fazer tudo isso gratuitamente.
Pentaho programado em linguagem de programao Java. Antes que voc possa
executar programas Java, voc precisa instalar o Java. Para Pentaho, voc precisar de pelo
menos
Java verso 1.5. Voc tambm deve ser capaz de usar o Java 1.6. Vamos supor que voc
j tem uma verso recente do Java instalado em seu sistema. Voc pode encontrar
mais detalhes sobre como baixar e instalar o Java no Captulo 2.
Voc pode baixar todo o software lanado Pentaho da Fonte
Forge site. A maneira mais fcil de encontrar o software para navegar
http://sourceforge.net/projects/pentaho/ e clique no link Download.
Voc ver uma lista de produtos que voc pode baixar.
Por enquanto, voc no vai precisar de todos os programas-tudo o que voc est
interessado em nos
momento o Business Intelligence Server. Clique no link Download no extremo
coluna da direita. Isso leva voc para uma pgina contendo uma lista das diferentes verses
do software. Aqui voc deve tomar cuidado para encontrar a verso mais recente do
geralmente liberao (GA) disponveis, embalados em uma maneira que seja apropriada para
sua
plataforma. Por exemplo, usurios do Microsoft Windows deve baixar o Zip.
pacote compactado e usurios de sistemas baseados em UNIX deve baixar o
. Tar.gz compactado pacote.
NOTA Em pginas de download Pentaho no SourceForge, geralmente voc pode encontrar em
pelo menos as ltimas geralmente disponveis liberao (GA), bem como um marco chamados
lanamento da nova verso, programado. Se voc realmente quiser estar a sangrar
margem do desenvolvimento, voc pode baixar nightly builds do software de
http://ci.pentaho.com/. Para este livro, que trabalhou principalmente com a noite
compilaes da verso Citrus, que ainda estava sendo desenvolvido no momento da escrita,
mas que dever estar disponvel como um milestone GA ou pelo tempo de
publicao.
sempre uma boa idia tentar o marco lanamentos para acompanhar futuras
alteraes e aditamentos. Mas cuidado que libera marco ainda esto em
desenvolvimento, no so destinados produo, utilizao e voc pode descobrir bugs ou
questes de usabilidade experincia. No entanto, esta uma das melhores razes pelas quais voc
deve executar lanamentos marco por reportar qualquer problema que voc experimentar, voc pode
influenciam diretamente na melhoria do software para seu prprio benefcio (bem
como a de todos os outros usurios).
Depois de baixar o Zip. ou . Tar.gz pacote compactado, voc deve
extrair o software real do pacote compactado e copi-lo para alguns
lugar que voc achar conveniente. Usurios do Windows podem direito do mouse no Zip.
arquivo e
escolha Extrair Aqui (na nova pasta) no menu de contexto. Alternativamente, voc
pode usar um programa de terceiros, tais como PeaZip para extrair os programas do
Captulo 1 Quick Start: Exemplos Pentaho 5
o pacote compactado. Usurios de sistemas UNIX-like pode abrir um terminal e
extrair o pacote na linha de comando.
Extrao deve resultar em uma nica pasta que contm todos os BI Pentaho
Servidor de software. Usurios do Windows podem colocar essa pasta em qualquer lugar que
quiser, mas
faz mais sentido coloc-lo no diretrio Program Files. Para UNIX-like
sistemas, o local adequado depende do sabor de UNIX exata, mas para
verificar os exemplos, melhor mover o diretrio do servidor Pentaho
para seu diretrio home. No restante deste captulo, referimo-nos para o diretrio
contendo o software do Servidor Pentaho como o diretrio home ou Pentaho
simplesmente casa Pentaho.
Executando o Software
Agora que voc tenha baixado e instalado o software, voc pode comear
us-lo.
Iniciando o Servidor Pentaho BI
No diretrio home Pentaho, voc vai encontrar alguns scripts que podem ser usados para
iniciar o servidor. Os usurios do Microsoft Windows pode dar um duplo clique no script
chamado
start-pentaho.bat.
Para sistemas baseados em UNIX, o script chamado start-pentaho.sh. Voc pode
primeiro necessrio para permitir que este script para ser executado. Modern ambiente
desktop Linux
mentos como o GNOME e KDE vai deixar voc fazer isso nas propriedades do arquivo
dilogo, que voc pode invocar a partir do navegador de arquivos. Por exemplo, no Ubuntu
Linux, voc pode boto direito do mouse no arquivo e escolha Propriedades no menu de
contexto
para invocar a caixa de dilogo. Na guia Permisses no dilogo, voc pode selecionar um
caixa de seleo para permitir que o arquivo a ser executado, conforme ilustrado na Figura 1-
1.
Figura 1-1: Tornar o script start-pentaho.sh executvel
6 Parte I Comeando com Pentaho
Alternativamente, voc pode abrir um terminal e alterar diretrio (usando o cd
comando) para o diretrio home Pentaho. De l, voc pode usar o acompanhamento
comando contribuem para fazer todos os Sh. scripts executveis:
Shell> chmod ug + x *. sh
Agora voc pode simplesmente iniciar o script clicando duas vezes (voc pode precisar
confirmar em uma caixa de dilogo) ou digitando-o no terminal:
Shell>. / Start-pentaho.sh
Depois de iniciar o script, voc ver alguns bastante sada constante do
console. Voc deve deixar aberta a janela de terminal em que voc comeou
o script.
NOTA A start-pentaho script faz duas coisas.
Primeiro, ele inicia um servidor de banco de dados HSQLDB, que usado pelo servidor para Pentaho
armazenar os dados do sistema, bem como um banco de dados da amostra, que usado pela maioria dos
exemplos.
Por padro, o banco de dados HSQLDB rodando na porta 9001. Voc deve ter certeza de que
outro servidor est em execuo no porto.
Em segundo lugar, ela comea um servidor Tomcat. Por padro, o servidor Tomcat escuta na porta
8080 para solicitaes da Web. Voc deve fazer o servidor sem a certeza de outros est sendo
executado no
porto, ou o Pentaho BI Server no ser iniciado com xito.
Registro em
Depois de iniciar o servidor, voc pode iniciar o seu navegador de Internet para se conectar ao
servidor. Voc deve ser capaz de usar qualquer um dos principais navegadores (como Mozilla
Firefox, Microsoft Internet Explorer, Safari, Opera ou Google Chrome)
para fazer isso. Navegue seu navegador para o seguinte endereo:
http://localhost:8080
Voc ser automaticamente redirecionado para o seguinte:
http://localhost:8080/pentaho/Login
Logo, voc deve ver uma pgina de boas-vindas para o usurio Pentaho console. De
l, voc pode fazer logon no servidor pressionando o grande boto laranja Login.
Se voc pressionar o boto, uma caixa de login exibida. De l, voc pode selecionar um
nome da lista drop-down. Por agora, faa o login como o usurio Joe, como mostrado
na Figura 1-2.
Depois de selecionar o nome de usurio, voc pode pressionar o boto Login para
realmente Entrar!
Captulo 1 Quick Start: Exemplos Pentaho 7
Figura 1-2: A tela de boas-vindas e Pentaho de dilogo de login
Manto, o usurio Pentaho Console
Aps a confirmao do login, voc ver que o usurio Pentaho console, como mostrado
na Figura 1-3.
No console do usurio, voc encontrar alguns elementos para controlar o BI Pentaho
Servidor:
Uma barra de menu, que est localizado na parte superior da pgina e se estende da
pgina
horizontalmente. Aqui voc pode encontrar alguns itens de menu padro: Arquivo, Exibir,
Ferramentas e Ajuda.
Uma barra de ferramentas que contm vrios botes, localizados imediatamente abaixo
no menu.
Um painel lateral, localizado esquerda da pgina, podem ser redimensionados
dinamicamente
usando a barra cinza vertical na extremidade direita do painel. O painel tambm pode ser
oculto / apresentado em sua totalidade utilizando o boto Toggle Browser, que
o boto mais direita da barra de ferramentas.
8 Parte I Comeando com Pentaho
A exibio em rvore que visvel na metade superior do painel lateral chamado
o Browser de Repositrio. Na Figura 1-3, este rotulado Procurar. Voc pode
usar esse recurso para navegar por todo o contedo de BI disponveis no BI Pentaho
Server.
Uma pasta painel de contedo est localizado no painel lateral, logo abaixo do
soluo navegador repositrio. Na Figura 1-3, esta rotulado arquivos. Ela mostra
qualquer contedo da pasta selecionada na soluo de repositrio (como
relatrios, dashboards e tabelas dinmicas de OLAP) como uma lista de itens. Voc
pode
abrir um item com um duplo clique sobre ele.
Um espao de trabalho. Este o maior painel do lado direito. Quando voc clicar duas
vezes
um item no painel de contedo da pasta, ele ser exibido aqui, usando um guia
interface.
Figura 1-3: O usurio Pentaho console, tambm conhecido como Manto
Trabalhando com o contexto
A edio da comunidade do Pentaho BI Server vem com dois conjuntos de
exemplos:
Exemplos BI Developer
Steel Wheels
Cada conjunto de exemplos reside na sua prpria soluo Pentaho e visvel na
browser soluo de repositrio (veja a Figura 1-4).
Captulo 1 Quick Start: Exemplos Pentaho 9
Figura 1-4: Duas solues de exemplo includos no Pentaho BI Server
Ambas as solues Pentaho contm bons exemplos para demonstrar a
tipos de relatrios que voc pode criar com o Pentaho. Ambas as solues de usar o mesmo
dados de amostra. Os exemplos BI Developer concentrar mais nas tcnicas
aspecto de realizar uma tarefa especfica, enquanto que os exemplos Steel Wheels
ilustrar como combinar tcnicas para construir uma aplicao para suportar um
negcios de automveis clssicos. Os exemplos Steel Wheels tambm dar mais ateno
personalizar olhar e sentir.
Usando o Browser de Repositrio
Voc pode acessar todos os exemplos usando o navegador de repositrio. (Este o topo
painel da barra lateral esquerda, em que o usurio do console, chamado Browse). O
repositrio
browser oferece uma exibio de rvore que pode ser usado para abrir e fechar as pastas
o repositrio. Para abrir uma pasta e revelar suas subpastas, basta clicar uma vez
sobre o cone, mais imediatamente no lado esquerdo do cone da pasta. A pasta
subpastas se tornar visvel direita abaixo da pasta-me, eo cone da esquerda
do cone da pasta para exibir um sinal de menos, indicando que a pasta est
expandida. Para fechar uma pasta e esconder as subpastas, clique no cone de subtrao.
Para visualizar o contedo de uma pasta, clique no cone da pasta ou o nome da pasta que
aparece diretamente direita do cone de pasta. O ttulo da pasta ir mostrar uma
cinza destacando e seu contedo ficar visvel no contedo da pasta
painel diretamente abaixo do navegador repositrio (na figura 1-3, este rotulado
Files).
Para abrir um item que aparece no painel Arquivos, clique duas vezes nele. Isto ir abrir
uma nova pgina no espao de trabalho, mostrando o resultado gerado pelo item.
Compreender o contexto
Embora voc possa aprender muito com os exemplos, basta execut-los, voc
pode aprender ainda mais se voc pode ver como elas foram construdas. Especialmente se
voc um
10 Parte I Comeando com Pentaho
Business Intelligence desenvolvedor, voc deve considerar a anlise de exemplos
mais estreitamente com Pentaho Design Studio.
Voc vai aprender os detalhes sobre Pentaho Design Studio no captulo 4, mas voc
pode seguir estes passos para comear rapidamente:
1. Download Pentaho Design Studio a partir da pgina de downloads em Pentaho
SourceForge.net.
2. Descompacte o download para algum local que voc achar conveniente.
3. Iniciar Pentaho Design Studio. Os usurios do Microsoft Windows pode dar um duplo
clique
PentahoDesignStudio.exe, Usurios de sistemas baseados em UNIX pode executar o
PentahoDesignStudio arquivo binrio.
4. Utilize o menu principal (Arquivo Switch Workspace) para alterar o espao de trabalho
para o diretrio onde voc instalou o Pentaho BI Server. O programa
ser reiniciado. Na tela de abertura, escolha Workbench.
5. Crie um novo projeto escolhendo novo arquivo de projeto. Na caixa de dilogo,
expandir a pasta Geral e escolha do projeto para criar um projeto simples.
Clique em Avanar.
6. Na caixa de dilogo seguinte, introduza pentaho solues para o nome do projeto. Faa
certeza de que quer que escreva aqui corresponde exatamente ao nome do
pentaho solues diretrio localizado no diretrio home do Pentaho
BI Server. A caixa de seleo Use Default Local deve ser selecionada, e
o local deve apontar automaticamente para a casa Pentaho BI Server
diretrio.
7. Confirme o dilogo.
Na pgina da guia Navegador no painel do lado esquerdo em Pentaho Design Studio,
voc deve ver agora o pentaho solues pasta do projeto (o que corresponde
exatamente com o real pentaho solues pasta). Voc pode expandir esta pasta
e navegar atravs da soluo Pentaho repositrio.
Clicando duas vezes sobre os itens dentro das pastas normalmente carregar o arquivo
em uma nova pgina no Pentaho Design Studio Workspace. Voc pode aprender
muito, especialmente desde a abertura do . Xaction arquivos que esto presentes em todo o
repositrio. Consulte o Captulo 4 para obter mais detalhes sobre esses arquivos.
Tenha em ateno que os itens que aparecem no browser do repositrio do usurio
console do Pentaho BI Server, normalmente tm uma etiqueta que distinto do
nome do arquivo real. Isso complica um pouco as coisas no caso de voc est procurando
o item correspondente na Pentaho Design Studio, como o navegador no s
exibe nomes de arquivos. Para descobrir o nome do arquivo correspondente para cada item
mostradas no navegador de repositrio, clique no item e escolha Propriedades no
o menu de contexto. Isto ir mostrar uma janela com algumas abas. O arquivo real
nome indicado na guia Geral.
Captulo 1 Quick Start: Exemplos Pentaho 11
NOTA A . Xaction extenso indica uma seqncia de ao. Seqncias de ao
Pentaho so especficos processos leves de executar ou fornecer contedo de BI. Neste
caso particular, a seqncia de ao simplesmente chama um relatrio Pentaho. Ao
seqncias so codificadas em um formato XML especfico e normalmente armazenados in.xaction
arquivos. seqncias de ao so discutidos em mais detalhes no Captulo 4.
Executar os exemplos
No restante deste captulo, discutimos alguns itens a partir desses exemplos
para lhe dar uma sensao de que voc pode fazer com solues Pentaho. Para cada item,
que incluem referncias aos captulos deste livro que se relacionam com o exemplo.
Esperamos que esta ir permitir-lhe obter rapidamente uma viso geral dos recursos Pentaho
e ver como este livro pode ajud-lo a domin-los.
Exemplos de relatrios
Reportagem muitas vezes um dos primeiros requisitos de qualquer soluo de BI.
Reportagem
abordado em detalhes no Captulo 13. A maioria dos relatos aqui discutidos so invocados
a partir de uma seqncia de ao, voc pode encontrar mais detalhes sobre seqncias de
ao em
Captulo 4.
Os captulos seguintes analisam alguns dos exemplos de relatrios.
Exemplos BI Developer: Vendas Regional - HTML
A Regional de Vendas - HTML um exemplo a mais simples
exemplos de relatrios, como voc diria, ele mostra os nmeros de vendas de um
empresa exemplo discriminados por regio. Voc pode encontr-lo no Reporting
pasta no contexto BI Developer set. O nome do arquivo correspondente
JFree_Quad.xaction.
Quando voc executar o exemplo, a sada do relatrio imediatamente mostrado no
espao de trabalho (ver Figura 1-5).
Na sada do relatrio que voc v uma organizao detalhada por regio (Central),
departamento (Executivo de Administrao, Finanas) e ttulo de posio (SVP
Parcerias, CEO, e assim por diante). Para o nvel de ttulo da posio, voc v o real
de dados. Neste caso, os dados se refere s vendas e mostra as reais e previstos
(Orados) os nmeros de vendas nas duas primeiras colunas ea varincia na terceira
coluna. Voc tambm pode ver uma linha de totais que resume os dados para o departamento
nvel, e se voc pudesse rolar mais longe voc ver, tambm, os totais para o
nvel regional, seguido pelos nmeros de outra regio. Todo o caminho para baixo em
na parte inferior do relatrio que ver os totais para o negcio inteiro.
12 Parte I Comeando com Pentaho
Figura 1-5: A Regional de Vendas - HTML relatrio de exemplo
Rodas de Ao: Demonstrao de Resultados
O relatrio de exemplo Declarao de Renda a partir do conjunto exemplo Steel Wheels
outro relatrio tpico com um nome auto-explicativo. Voc pode encontr-lo no
Reportagem pasta abaixo a soluo rodas de ao, eo arquivo correspondente
nome Renda Statement.xaction. Figura 1-6 mostra o relatrio.
Figura 1-6: As rodas de ao de Renda Declarao relatrio
Algumas diferenas a partir do relatrio de vendas regional no exemplo anterior
so o estilo eo formato de sada. Embora ambos os relatrios foram criados
com o Pentaho Report Designer, e ambos so prestados pela Pentaho
relatrios do motor (que o componente responsvel por interpretar os relatrios
e sada de gerao de relatrios), eles parecem bem diferentes. Considerando que o Regional
Relatrio de vendas gera uma pgina HTML, este relatrio oferece um arquivo PDF como
sada.
Alm disso, este relatrio mostra adereos usando uma imagem de um logotipo e um
imagem de fundo da pgina.
Captulo 1 Quick Start: Exemplos Pentaho 13
Rodas de Ao: Top 10 clientes
Na seo anterior, mencionamos que o relatrio de Declarao de Renda
proporciona uma sada na forma de um arquivo PDF, enquanto o exemplo Regional de
Vendas
sadas de uma pgina web simples.
caractersticas importantes do formato de sada do relatrio. Voc pode encontrar este
relatrio tambm
na pasta de informao no conjunto de exemplo Steel Wheels, e seu nome do arquivo Incio
Dez Analysis.xaction ProductLine Cliente. Executando esse exemplo no
no mostrar imediatamente a sada do relatrio, mas exibe o dilogo mostrado na
Figura 1-7 vez.
Figura 1-7: O Top 10 clientes relatrio
Como indicado pelo dilogo, voc pode escolher at cinco diferentes
formatos de sada. Nos exemplos de relatrios anteriores, o formato de sada desejado
foi armazenado como parte do relatrio, mas no h nada no relatrio que o motor
foras presente. Isso permite aos usurios escolher o formato mais adequado
para o efeito na mo.
O dilogo mostrado na Figura 1-7 ilustra uma outra caracterstica importante da
Pentaho relatrio. O usurio pode optar por aguardar a sada do relatrio agora, ou
ter o Pentaho BI Server executar o relatrio em background. O ltimo
opo ir executar o relatrio, mas no espera para a sada a ser retornado.
Pelo contrrio, a sada ser armazenado no espao de armazenamento do usurio pessoal
sobre o
servidor. Esse recurso especialmente til para os relatrios de execuo longa.
Voc pode encontrar mais informaes sobre a execuo de fundo e funes relacionadas,
como
programao e inscrio no Captulo 14.
Exemplos BI Developer: boto nico parameter.prpt
Os relatrios de exemplo anterior foram todos chamados a partir de seqncias de ao. Em
a verso Citrus programados, relatrios podem tambm ser chamado diretamente. Exemplos
14 Parte I Comeando com Pentaho
usar este recurso esto todos localizados na pasta Relatrios do BI Developer
Exemplos set.
Este exemplo tem um olhar mais atento boto nico-parameter.prpt
exemplo. Quando voc inici-lo, carrega o relatrio imediatamente no espao de trabalho.
No entanto, a sada real do relatrio no ser exibido at que voc pressione uma da Regio
botes que aparecem na seo de parmetros de relatrio na parte superior da pgina.
Figura 1-8 ilustra o que voc pode ver depois que voc pressiona o boto Central.
Figura 1-8: O exemplo de boto nico parameter.prpt
Este exemplo mostra ainda uma outra caracterstica da Pentaho, nomeadamente o relatrio-
param
tros. Atravs de parmetros, o usurio pode interagir com o relatrio e especificar
valores para influenciar o comportamento do relatrio. Geralmente, esse recurso usado para
permitir que o
usurio selecionar apenas uma parte de todos os dados do relatrio possvel.
Neste exemplo, existem dois parmetros. A param Ttulo Texto Adicional-
eter permite ao usurio especificar um ttulo que aparece acima de todas as restantes relatrio
sada. H um outro parmetro para a Regio, o que permite que o relatrio
processar a sada referentes a apenas a regio especificada.
H muitas mais coisas que voc pode fazer com os parmetros do relatrio, e estes
exemplos, bem como o captulo 13 deste livro, deve oferecer orientao suficiente
para que voc possa usar este recurso de forma significativa.
Traando Exemplos
Considerando que os relatrios so timos para comunicar informaes detalhadas, esto
menos
apropriado para obter uma viso geral dos dados como um todo. Para este efeito,
Captulo 1 Quick Start: Exemplos Pentaho 15
tabelas e grficos geralmente funcionam melhor. Grficos tambm so mais adequadas do
que
relatrios para mostrar tendncias ao longo do tempo.
O Pentaho BI Server vem com dois tipos diferentes de solues de grficos:
JFreeChart-A 100% biblioteca de grficos em Java.
Pentaho Flash grficos, uma soluo de grficos com base em cartas abertas flash
(Que requer Adobe Flash).
relatrios Pentaho oferece integrao completa com JFreeChart, e voc vai encontrar
informaes detalhadas sobre a integrao das paradas com seus relatrios no captulo 13.
Voc pode encontrar mais informaes sobre grficos JFreeChart e como integrar
los com painis no captulo 17.
Rodas de Ao: Lista de Escolha Grfico
O Grfico exemplo Lista de Escolha est localizado na pasta Grficos em as rodas de ao
exemplo dado. O nome do arquivo correspondente ChartComponent_ChartTypes
. Xaction. Executando as cargas item uma caixa de dilogo na rea de trabalho que permite que
voc
escolher um tipo de grfico especfico. Depois de escolher o tipo de grfico, voc pode
pressionar
o boto Executar para realmente mostrar a carta. Figura 1-9 mostra como isso funciona
para uma grade de pizza.
Figura 1-9: Pentaho grficos usando o JFreeChart Grfico Lista de Escolha
Rodas de Ao: Lista Grfico Flash
Funcionalmente, o Flash exemplo Lista de grfico semelhante Lista de Escolha Grfico
exemplo (que baseado no JFreeChart). A diferena que o JFreeChart
16 Parte I Comeando com Pentaho
Pick List exemplo baseado no projeto Open Flash Chart. Voc pode encontrar o
Flash Lista grfico tambm na pasta de grficos no exemplo Rodas de Ao definido.
O nome do arquivo correspondente pentahoxml_picker.xaction.
Exemplos BI Developer: Vendas Regional - Linha de grfico de barras /
A Regional de Vendas - Linha / Bar exemplo Grfico est localizado no Reporting
pasta na soluo de BI Developer exemplos. O arquivo correspondente JFree_
SQLQuery_ComboChart.xaction.
Este relatrio apresenta um exemplo grfico na parte superior da pgina, e abaixo
que, um relatrio mais detalhado mostra os nmeros reais. Neste caso, o grfico
incorporado ao relatrio. O relatrio de exemplo mostrado se a Figura 1-10.
Figura 1-10: Vendas Regional - Linha / Bar exemplo Grfico
Exemplos de Anlises
Como informao, a anlise outra caracterstica essencial de todas as solues de BI.
Relatrios
so tipicamente estticos (excepto para os parmetros) e usado principalmente para apoiar as
decises
que afetam os negcios a nvel operacional. Anlise tende a ser muito mais
dinmica, e normalmente utilizada pelos gestores para a tomada de decises na ttica
e nvel estratgico.
Captulo 1 Quick Start: Exemplos Pentaho 17
Um dos elementos tpicos em solues analticas que eles permitem a
usurio para explorar a dinmica de dados em um modo ad hoc. Normalmente, os dados
apresentado pela primeira vez em um nvel muito agregado, por exemplo, as vendas totais
por ano, e
ento o usurio pode navegar para um nvel mais detalhado, por exemplo, vendas por ms
por regio. Quaisquer diferenas interessantes entre as regies e / ou meses, pode
ento ser utilizada para perfurar em uma nova direo at que uma nova percepo ou
compreenso
do negcio obtida, o que poderia ento ser usada para afetar os planos para os novos
promoes, catlogo de produtos da prxima temporada, ou o desenvolvimento de novos
produtos.
Esta, em resumo, o que a anlise se destina.
Intimamente relacionado com questes tpicas de anlise e solues, a dimen-
modelo profissional. Em ltima anlise, isso que permite a visualizao de dados de forma
agregada
e recursos como drill up / down. Voc encontrar informaes detalhadas sobre
o modelo dimensional nos captulos 6, 7 e 8 deste livro. No captulo 15,
discute a aplicao prtica das aplicaes analticas usando Mon-
drian e JPivot. Todos os exemplos analtico apresentado neste captulo baseiam-se
em Mondrian / JPivot.
Exemplos Desenvolvedor BI: Slice and Dice
O exemplo de Slice and Dice est localizado na pasta de anlise no BI Developer
Exemplos. Seu arquivo correspondente chamada query1.xaction.
O Slice and Dice exemplo o exemplo mais bsico de anlise includo
Servidor Pentaho BI. Execut-lo produz uma tabela de referncia cruzada dinmica, tambm
conhecida
como um tabela dinmica. A tabela dinmica mostra os valores atuais e oramentados
vendas, como
bem como a variao real versus oramento. No contexto do Analytics, figuras como
estes so chamados medidas ou mtricas. As medidas podem ser divididas de acordo com
Regio, Departamento e Cargo. Estes ttulos so mostrados no lado esquerdo
da tabela dinmica e representam dimenses, que so aspectos que descrevem o
contexto das mtricas.
Uma caracterstica tpica que a tabela dinmica no apenas mostra as prprias figuras
mas tambm os totais, e que o total pode ser calculada em vrios nveis da
dimenses (ver Figura 1-11).
Na Figura 1-11, voc pode ver as colunas para a Regio, Departamento e
Posies. A primeira linha na tabela dinmica mostra os resultados de todas as regies,
Departamentos, e posies, e os valores so agregados ou''enrolada''
ao longo dessas dimenses. Isto representa o maior nvel de agregao. Abaixo
que, voc ver que os dados so divididos, na primeira coluna, todas as regies dividido em
Europa Central, Oriental, Austral e Ocidental, formando o segundo nvel mais alto de
agregao para a dimenso Regio. Na primeira linha para cada indivduo
regio, voc ver os dados acumulados somente atravs do Departamento e de posies.
Para
na regio Central, os dados so novamente dividida, desta vez mostrando todos os indivduos
departamentos. Finalmente, para o departamento de Gesto Executiva, os dados so
novamente
dividido de acordo com a posio.
18 Parte I Comeando com Pentaho
Figura 1-11: O Slice and Dice exemplo de tabela dinmica
A diviso e rolando " obtida dinamicamente, clicando no sinal de mais
e os cones menos que aparecem ao lado das etiquetas de identificao Regio,
Departamento
e posies. Por exemplo, clicando no cone de adio ao lado de qualquer um dos All
Departamentos rtulos que na segunda coluna, voc pode navegar e
ver como o valor enrolado total para qualquer uma das mtricas de vendas pode ser dividido.
Ao clicar em um cone menos vai rolar os valores de volta em conjunto para o total de novo,
assim drill up.
Rodas de Ao Exemplos de Anlises
Alm da fatia de base e exemplo dado, voc pode encontrar outros interessantes
exemplos Analytics na pasta Anlise no exemplo Rodas de Ao definido.
L voc vai encontrar dois exemplos:
Anlise de Mercado por Ano
Anlise de Linha de Produtos
Como a fatia de base e exemplo Dice, esses exemplos mostram uma tabela dinmica,
mostrando nmeros agregados de vendas. Nesses exemplos, os nmeros de vendas pode ser
cortado
ao longo do produto, do mercado (regio), e Tempo.
Considerando o exemplo Slice and Dice exibido somente as medidas relativas
eixo horizontal, esses exemplos mostram um pouco mais de variedade, colocando no
mercado
no eixo horizontal. A Linha de Produtos exemplo de anlise tambm coloca o tempo no
o eixo horizontal, sob a Mercados.
Se voc gosta, voc pode usar caminhos alternativos para configurar os eixos usando o
OLAP
Navigator. Voc pode chamar o Navigator OLAP, pressionando o boto com
o cone do cubo na barra de ferramentas que aparece no topo das pginas mostrando
Captulo 1 Quick Start: Exemplos Pentaho 19
os exemplos de anlise. O Navigator OLAP e uma parte dessa barra de ferramentas so
mostrado na Figura 1-12.
Figura 1-12: O Navigator OLAP
O Navigator OLAP mostrado na Figura 1-12 foi tirada da linha de produtos
Anlise exemplo. Na parte superior do Navegador OLAP, voc pode ver a legenda
Colunas e abaixo que so duas linhas, Mercado e Tempo. Isso corresponde
diretamente com o Mercado e Tempo mostrado ao longo do eixo horizontal do
tabela dinmica. Na seo abaixo, voc ver uma legenda linhas, com uma linha
abaixo dele, Produto. Isso corresponde com os produtos que esto listados ao longo do
eixo vertical da tabela dinmica. Voc pode mover os itens na seo Colunas
para a seo de linhas e vice-versa, clicando no pequeno quadrado na frente dele.
H uma terceira parte no navegador OLAP rotulados Filter. Nesta seo,
encontrar clientes, Medidas, e status do pedido. Esses itens no so actualmente
aparecem junto a um dos eixos da tabela dinmica. Voc pode mover os itens da
Linhas e colunas sees para o filtro, clicando no cone de filtro. Que se deslocam
itens do filtro a qualquer um dos eixos feito clicando no pequeno quadrado
cone que corresponde ao eixo ao qual voc deseja mover o item.
Ns discutimos o Navigator OLAP em detalhes no Captulo 15.
Exemplos Dashboarding
Os painis so discutidos em detalhe no Captulo 17. Se voc est interessado no tablier
placas, que so fortemente encorajados a verificar o Dashboard Comunidade
exemplos Framework (CDF) painis includos no Pentaho BI Server.
Voc pode encontr-los na pasta CDF na soluo de BI Developer exemplos.
Uma boa maneira de comear com Pentaho Dashboards est navegando para o
Amostras subpasta da pasta CDF na soluo de BI Developer exemplos.
Aqui voc vai encontrar exemplos para usar grficos, relatrios, tabelas analticas do piv, e
Mapas em um painel, e veja como voc pode amarrar estes elementos juntos.
Uma vez que voc tem um gosto para o que voc pode fazer com painis, voc pode ler
Captulo 17 e siga as etapas detalhadas descritas l para construir o seu prprio
painel de instrumentos. Quando voc est no processo de construo de seus painis
prprios, voc
20 Parte I Comeando com Pentaho
vai encontrar a documentao includa com os exemplos CDF indispensvel.
Voc pode encontrar documentao detalhada na subpasta de Documentao da
CDF pasta. A documentao encontrada na pasta de Referncia do Componente
ser um companheiro em especial inestimvel.
Outros exemplos
Muitos outros exemplos esto includos no Pentaho BI Server. Estes incluem
exemplos para iniciar processos de ETL, para chamar servios web, para enviar a sada de
relatrio para
uma impressora ou por e-mail, e muito mais. No entanto, no vamos discutir esses
exemplos aqui. Muitos desses exemplos exigir configurao adicional, e outros
no so particularmente instrutivo menos que voc tenha necessidade de que o recurso
especial.
No entanto, os leitores so encorajados a experimentar com os restantes exemplos.
Resumo
Este captulo apresentou uma introduo ao software Pentaho e caminhou
lo atravs de alguns dos exemplos que vm com ele. Depois de instalar o
software e explorando os exemplos, voc deve ter uma boa idia do que
voc pode fazer com Pentaho. O restante deste livro vai lhe ensinar como trabalhar
com cada parte do Pentaho para criar suas prprias solues Pentaho.
CAPTULO
2
Pr-requisitos
A inteno deste livro permitir que voc, leitor, desenvolver um Intel Negcios
ligence soluo do incio ao fim (e alm porque as solues de BI
necessidade de manuteno, bem). Para fazer isso, voc vai precisar de algum suple-
ferramentas adicionais que no fazem parte da plataforma de BI Pentaho. Trata-se
essencialmente
ferramentas de bancos de dados utilizados para conceber e criar um banco de dados,
validao da qua-
dade dos dados nos sistemas de origem, e executar tarefas de manuteno, tais como
fazer backups, criao de usurios ea configurao de restries de acesso a dados. Como
para utilizar os diferentes instrumentos descrito nos respectivos captulos, por exemplo,
objecto de dados de perfil abordada no captulo 8 e um hands-on do tutorial
a ferramenta que usamos para essa tarefa est includo ali tambm. Este captulo explica
onde obter o software e como ele pode ser configurado em um sistema de desenvolvimento.
NOTA Se voc j tem um sistema rodando com Java habilitado e MySQL
instalado, voc pode pular a maior parte deste captulo. Seu objetivo fazer com que o novato
usurio a funcionar com as ferramentas necessrias para projetar, construir e gerir
bases de dados em uma instalao Pentaho / MySQL.
ciclos de lanamento de software, especialmente no mundo do cdigo aberto, so
relativamente
curto. Desde o tempo este livro foi finalizado em julho de 2009, novas verses do
o software que usamos pode j se tornaram disponveis. A fim de evitar
possvel confuso que lista os nmeros de verso do software de pacotes que
utilizados no livro:
Ubuntu 9.04 (64 e 32 bits)
Windows XP Pro SP3
Sun Java 6.0.13
21
22 Parte I Comeando com Pentaho
MySQL Server 5.1.34
Ferramentas GUI MySQL 5.0.12
Power * Architect 0.9.13
Squirrel 3.0.1
eobjects DataCleaner 1.5.1
Configurao Bsica do
Sistema
Antes que voc pode configurar qualquer coisa, h algumas coisas muito bsicas para
cuidar, como se certificar de que voc tenha configurado corretamente no seu Java
mquina. Para algumas tarefas, voc precisar trabalhar com o terminal. Se voc est
que no esto familiarizados com isso, no se preocupe, vamos explicar o bsico para voc ir.
Ns
supor que a maioria dos nossos leitores estaro familiarizados com o uso de um baseado no
Windows
computador, mas espero que voc aproveite esta oportunidade para explorar a opo de
Pentaho usando em uma instalao Linux. Todos os exemplos Linux oferecemos aqui
ser baseado no Ubuntu Linux com desktop GNOME, mas usando outro Linux
distribuies no deve ser muito diferente na maioria dos casos.
Instalar Ubuntu
Se voc est entre os leitores de que ler este livro como uma boa oportunidade para iniciar
experincias com o Linux, bem como o Pentaho BI Suite, voc pode apreciar
algumas notas quickstart sobre como ir sobre fazer isto. Existem vrios
opes para obter um sistema Ubuntu instalado e funcionando, dependendo de qual sistema
pretende instalar-lo e se voc quer substituir ou aumentar uma corrida
Sistema Windows. Esta seo no um guia completo de instalao passo-a-passo,
mas salienta as diferentes opes e por onde comear.
Primeiro, voc precisa obter o software. Ele pode ser baixado gratuitamente
http://www.ubuntu.com, Onde voc vai encontrar diferentes verses para diferentes
arquiteturas de hardware. O site exibe tanto um desktop e um servidor
edio, mas se voc quiser dar um mergulho muito profundo em Linux, no comece
com a edio do servidor. Isto s tem uma interface de terminal baseado em caracteres (sem
GUI) e no todos os sinos e assobios que voc poderia esperar. A prxima escolha
aquela entre 32 e 64 bits. A maioria dos computadores modernos ser capaz de
executar a verso de 64 bits do Ubuntu, e se voc quiser usar o Ubuntu como o seu
principal sistema operacional que provavelmente sua melhor escolha. Todas as outras
opes,
por exemplo, que lngua voc quer usar, so parte da instalao em si.
O arquivo baixado uma imagem ISO e voc vai precisar de um gravador de imagem
criar um CD a partir do arquivo baixado. A maioria dos programas de gravao de CD
so capazes de fazer isso, mas se voc usa o Windows e no tem como um
programa, voc pode baixar e instalar gratuitamente o Active @ ISO Burner da
free.htm queimador http://www.ntfs.com/iso.
Captulo 2 Pr-requisitos 23
Usando o Ubuntu no modo nativo
Por nativo queremos dizer que voc vai instalar o software em um computador para o
mquina pode inicializar e executar o Ubuntu directamente a partir do disco rgido. Se voc
no est
certeza ainda sobre se ou no o Ubuntu o caminho a percorrer, basta inserir o disco e
aguarde a tela de boas-vindas. A primeira opo executar o Ubuntu em modo Live,
o que significa que voc no instalar nada, mas executar o software a partir do CD. Se
voc gosta, clique no boto Instalar para iniciar o processo de instalao, se voc no
como ele, apenas ejete o CD e continuar usando o Windows.
O processo de instalao ir perguntar-lhe algumas perguntas. A maioria bastante
fcil de responder, tal como a lngua, fuso horrio e local, enquanto para outros
pode precisar de uma ajudinha. O mais importante sobre a configurao do disco.
Ubuntu ter todo o prazer que voc mantenha seu sistema operacional existente, resultando
em
uma configurao dual-boot. Nesse caso, cada vez que voc ligar o seu computador
voc pode escolher para executar o Windows ou Ubuntu.
DICA Se voc tiver um computador novo e gostaria de criar um sistema dual-boot,
primeiro instalar o Windows e, em seguida o Ubuntu. Se voc instala o Ubuntu, o instalador do Windows
ir substituir a partio de boot do disco rgido.
Um passo-a-passo conjunto de instrues sobre como instalar o Ubuntu pode ser encontrada
em
a ajuda on-line https: / / help.ubuntu.com / comunidade / GraphicalInstall.
Usando uma mquina virtual
A maioria dos computadores modernos tm amplo poder de processamento e memria, por
isso
pode ser uma opo para usar uma mquina virtual para rodar o Ubuntu. Nesse caso,
Ubuntu funciona como um convidado sistema, enquanto que seu sistema de operao regular
atua como o host. Existem muitas solues disponveis para o funcionamento do Ubuntu
como uma mquina virtual, a maioria deles pode ser encontrada na ajuda on-line em
https: / / help.ubuntu.com / comunidade / VirtualMachines. Ns trabalhamos muito com
VirtualBox da Sun (http://www.virtualbox.org), Na verdade, metade deste livro
foi escrito em uma mquina virtual com Windows XP usando o VirtualBox em um Ubuntu
De 64 bits do sistema host. A parte interessante do uso de software de virtualizao que
h tambm uma grande coleo de ready-to-run imagens de mquinas virtuais disponveis
para download, o que significa que no h quase nenhuma instalao necessria para obter
um novo sistema instalado e funcionando. Em caso de Pentaho, a melhor opo disponvel
criado por Infobright, um fornecedor de banco de dados analticos. Voc pode baixar uma
com-
imagem completo a partir de http://www.infobright.org/Downloads/Pentaho ICE VM
que contm o seguinte:
Ubuntu 8.04 do sistema operacional de servidor
Infobright Community Edition
Pentaho BI Suite Community Edition
24 Parte I Comeando com Pentaho
A imagem uma . Vmdk arquivo, o formato de arquivo nativo VMware, o VirtualBox, mas pode
abrir esse tipo de arquivo, bem sem quaisquer problemas.
Trabalhando com o Terminal
Um terminal do Linux basicamente o equivalente a tela de comando do Windows
e pode ser usado como tal. H um par de pequenas diferenas a ter em
considerao, tais como o fato de que no Linux no h letras de unidade e
nomes de caminho contm barras. Existem tambm diferenas maiores, como
o fato de que a maioria dos comandos Linux so totalmente diferentes do seu Windows
homlogos, e que, em Linux, tudo case-sensitive. Passando para um
Diretrio com cd / opt / Pentaho pode retornar uma mensagem de erro informando que
no h nenhum arquivo ou diretrio, enquanto cd / opt / pentaho vai funcionar muito bem.
Lembre-se que no Linux, pentaho e Pentaho so duas totalmente diferentes
palavras!
H duas maneiras para iniciar uma tela do terminal ou para coloc-lo mais precisamente,
Existem dois tipos de telas de terminal: o terminal X bsicos e do GNOME
terminal. O terminal X muito parecido com uma tela de comando do Windows, que
tem um fundo preto com caracteres em branco e no h opes de menu.
Voc pode iniciar um terminal X pressionando Alt + F2 e digitando o comando
xterm. O dilogo Executar Aplicativo aparece, exibindo a linha de comando
pronto para aceitar o seu comando. Diferentemente de um terminal Windows, no entanto, o
dilogo no pode retornar nada, ele s executa o comando quando voc pressiona
Enter.
A tela do terminal o segundo terminal do GNOME, que tem um menu
e um fundo branco com caracteres pretos. Isso o que chamaremos
a partir daqui. Voc pode iniciar o terminal do GNOME, selecionando Applica-
es Acessrios Terminal ou pressione Alt + F2 e usando o comando
gnome-terminal.
No podemos cobrir o conjunto completo de comandos, mas o que voc vai precisar
a maioria so fornecidos nas sees seguintes.
NOTA Para uma referncia til sobre a utilizao da linha de comando em um sistema Linux,
experimente
Ubuntu Linux Toolbox, por Christopher Negus e Caen Francois, Edies Wiley,
2008.
Lista de Navegao
Voc pode usar os seguintes comandos para navegar pelo directrio
estrutura:
cd -Mude o diretrio, mesmo que no Windows.
cd .. -Move um nvel acima (cd ../.. move-se dois nveis para cima, e assim por diante).
Captulo 2
cd ~ -V para seu diretrio home.
cd / -V para o diretrio raiz (sistema).
Pr-requisitos 25
O sistema operacional''''sabe os caminhos para que quando voc entra no primeiro
caracteres de um diretrio e pressione a tecla Tab, o nome completo concludo
automaticamente. Por exemplo, digite CD / o, Pressione a tecla Tab, eo caminho
completada automaticamente para cd / opt /. Adicionar pe pressionar Tab novamente para obter
o cd
/ Opt / pentaho / comando. Claro que estas listas tm de existir, portanto, se houver
no / Opt / pentaho diretrio, bvio que o sistema operacional no pode
encontr-lo.
Quando voc quiser limpar a tela e ter o prompt exibido na
superior da janela novamente, basta digitar o comando claro e pressione Enter.
Histria de comando
Usando a cima e para baixo, voc pode navegar atravs anteriormente emitido
comandos. Todos os comandos so armazenados em um comando arquivo histrico, que
pode ser
visto digitando histria na linha de comando. Se a lista longa, voc pode
uso history | more e na pgina a lista com a barra (CTRL + C para
final). Se voc quiser reutilizar um comando especfico da histria, voc pode digitar uma
ponto de exclamao seguido do nmero da linha histrico de arquivo (por exemplo,! 174)
e que o comando ser executado novamente. Uma opo mais flexvel a utilizao do
CTRL + R combinao chave, que inicia um reverse-i pesquisa de texto na histria
arquivo, o que significa que o comando mais recentemente emitidos contendo a seqncia
ser encontrado em primeiro lugar. Observe que voc pode continuar a digitar a seqncia de
pesquisa, que
dinamicamente alterar o argumento para a pesquisa. Por exemplo, pressionar
CTRL + R e digitando eexibe o seguinte:
(Reverse-i-search) `e ': claro
Adicionar cexibe o seguinte:
(Reverse-i-search) `ec": echo $ JAVA_HOME
O comando pode ser simplesmente aceite (e executadas) pressionando a tecla Enter, mas
se voc quiser modificar o primeiro comando, pressione a seta para a esquerda ou direita, que
vai abrir o comando na linha de comando para edio.
Utilizando Links Simblicos
A maioria dos programas ir diretamente para o diretrio home quando voc deseja abrir
ou salvar um arquivo. s vezes no possvel alterar o caminho padro onde
o aplicativo deve procurar pastas e arquivos. O Pentaho ferramentas de projeto como
26 Parte I Comeando com Pentaho
Designer de Relatrios ou do Mondrian esquema Workbench principalmente trabalhar a partir
de
o diretrio home do usurio que iniciou o programa. Isso nem sempre
uma localizao conveniente para comear, especialmente quando o ltimo local utilizado no

lembrado pelo programa quer. Abrindo um caminho diferente a cada vez que voc
deseja abrir ou salvar um arquivo leva tempo, ento a capacidade de abrir a pasta certa
diretamente do seu diretrio home seria uma comodidade bem-vinda. Esta
onde links simblicos vm a calhar.
Criar links simblicos no Ubuntu
Um link simblico no Linux se parece com um atalho no Windows, mas cri-los
um pouco diferente.
NOTA atalhos no Windows so arquivos comuns que podem ser resolvidos apenas pelo Windows
eo Windows Explorer. O Windows Vista suporta ligaes''verdadeiro''simblico.
H duas maneiras de criar links simblicos (ou symlinks como eles so normalmente
chamado): usando o navegador de arquivos Nautilus do GNOME, ou digitando os comandos
na linha de comando. Ao usar o Nautilus, clique com o boto direito do mouse no arquivo ou
pasta
para o qual voc quer criar uma ligao, selecione Criar link do drop-down
menu e copie o link resultante para o local desejado, aps o que pode ser
renomeado. Usando a linha de comando exige conhecimento da sintaxe, que
bastante simples. O comando um simples ln, Seguido pelo de opes,
o local para a ligao, eo nome do link. Para criar um link simblico em sua
diretrio home que aponta para o diretrio solues Pentaho, a seguinte
comandos podem ser inseridos:
ln-s / opt / pentaho / biserver-ce / pentaho solues ~ pentaho /
A -S denota opo que voc est criando um link para um diretrio, no um nico
arquivo. Agora, qualquer referncia a ~ Pentaho / (Subdiretrio pentaho na atual
pasta home do usurio) traduzido automaticamente para a pasta de destino.
Criando Symlinks no Windows Vista
Criar links simblicos em Vista funciona de maneira semelhante como em Linux quando o
linha de comando usado, mas o comando e os parmetros so diferentes. Para fazer
as coisas mais confusas, a ordem invertida argumento: no Windows link
especificado antes do alvo. A ligao simblica mesmo que no exemplo anterior
podem ser criadas com o seguinte comando:
mklink / DC: \ Documents and Settings \ Administrador \ Meus Documentos \ pentaho
C: \ Program Files \ pentaho \ ce-biserver \ pentaho solues
Captulo 2 Pr-requisitos 27
Java Instalao e Configurao
Todos os programas Pentaho so desenvolvidos em Java e exigem uma Mquina Virtual Java
a estar presente no computador que ir executar Pentaho. Instalando o Java foi
facilitou muito tanto em Linux e Windows, graas a Sun Microsystems.
Alm de instalar o Java, um passo importante a configurao da esquerda para definir o
varivel de ambiente JAVA_HOME. Sem isso, os programas Java no sei
onde procurar as bibliotecas Java e seu software de Java ainda no ser executado. (Voc
pode ignorar esta seo se voc j instalou o Java e configurar seu ambiente
varivel).
Instalando o Java no Linux Ubuntu
Voc pode instalar o Java em uma mquina Linux de duas maneiras. A primeira opo faz-
lo
manualmente, indo ao www.java.com, Baixar o instalador, e funcionando
em seu sistema. A segunda opo ea melhor usar o Synaptic Package
Manager. Os pacotes Java fazem parte dos repositrios do Ubuntu regular, de modo
Abra o menu Sistema-Administrao e selecione Gerenciador de Pacotes Synaptic.
Digite o su (Superusurio) senha para iniciar o Synaptic. Na caixa de pesquisa rpida,
tipo java6, Que ir exibir todos os pacotes disponveis a partir de Java dom. Selecione
o pacote sun-java6-jdk (Java Development Kit), que tem um casal de
pacotes necessrios, que sero selecionados automaticamente pelo Synaptic. Clique em
Aplicar
para baixar e instalar o software. Isto ir instalar o Java no subdiretrio
/ Usr / jvm / lib /.
Alternativamente, voc pode usar a linha de comando para instalar o Java SDK. Abrir
uma tela de terminal e digite os seguintes comandos:
sudo shell> apt-get update
sudo shell> apt-get install sun-java6-jdk
O primeiro comando garante que todas as informaes do repositrio atualizado;
o segundo comando ir instalar os pacotes Java depois de ter confirmado
a instalao digitando Y. Durante a instalao voc ter que concordar com o
termos do contrato de licena.
Quando voc abrir o diretrio de instalao / Usr / lib / jvm voc vai notar duas
entradas novas: o diretrio Java real com um nmero de verso do postfix, e um
link simblico que aponta para este diretrio primeiro. O link simblico o que
voc vai usar para a varivel de ambiente. Primeiro verifique se a instalao
conseguiu atravs da abertura de uma tela de terminal e entrar no java-version
comando. Isto deveria lhe dar uma sada semelhante ao listados a seguir:
java version "1.6.0_13"
Java (TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot (TM) Client VM (build 11.3 b02, de modo misto, a partilha)
28 Parte I Comeando com Pentaho
A varivel de ambiente pode ser definida por adicionar uma linha ao arquivo
/ Etc / environment, Mas voc precisa de privilgios de root para faz-lo. No mesmo terminal
tela, digite o comando sudo gedit / etc / environment. Isto ir iniciar o
editor com o arquivo aberto. Basta adicionar a seguinte linha a este arquivo:
JAVA_HOME = "usr/lib/jvm/java-6-sun /"
Salve o arquivo e feche o editor. Voc pode verificar se a varivel
definir corretamente emitindo o eco $ JAVA_HOME comando, mas voc vai perceber que
nada retornado ainda. Se voc quiser ativar a varivel no terminal
sesso, voc pode usar o comando source / etc / environment, Mas para ativar
a varivel para todas as sesses, s fazer logoff e logon novamente (no h necessidade de
reiniciar o sistema).
Instalando o Java no Windows
Para a instalao, basta abrir um navegador, v para www.java.com, E clique sobre o
Download gratuito do Java boto. Siga as instrues no site para instalar o Java.
O prximo passo definir a varivel de ambiente. As variveis de ambiente pode
ser adicionado ao abrir Propriedades do Sistema no painel de controle e escolher o
Clique na guia Avanado e selecione Configuraes do Sistema (ou do Sistema Avanado
As configuraes diretamente no Vista). Adicionar uma nova varivel do sistema chamada
JAVA_HOME que
aponta para o caminho de instalao do Java, como mostrado na Figura 2-1 (o caminho pode
ser diferente
em seu prprio sistema).
Figura 2-1: Definir a varivel JAVA_HOME
Captulo 2 Pr-requisitos 29
Reinicie sua mquina para ativar a configurao. Se voc no deseja reiniciar
sua mquina de imediato, possvel definir uma varivel do sistema temporrio
abertura de uma tela de comando e usando a SET comando para definir o meio ambiente
varivel:
SET JAVA_HOME = C: \ Arquivos de programas \ Java \ jre6
Voc pode verificar o ajuste com o ECHO comando, seguido pela varivel
cujo valor dever ser devolvido fechado em sinais de porcentagem. Isto ir mostrar
o caminho se ele tiver sido definido corretamente, ou o nome da varivel, se esta ainda no
especificados:
Shell> echo% FOO%
%% FOO
Shell> echo% JAVA_HOME%
C: \ Arquivos de programas \ Java \ jre6
Instalao do MySQL
Este livro vai fazer o uso extensivo do MySQL para que a prxima a ter Java habilitado,
Este o segundo pr-requisito importante para seguir junto com todos os
exemplos e tutoriais. Se voc usa Windows ou Linux, instalar o MySQL
bastante simples e, no caso do Ubuntu, quase automtico.
Instalando o servidor e cliente MySQL em Ubuntu
Voc pode instalar o MySQL no Linux de duas maneiras: manualmente, baixando
os arquivos de instalao e fazer toda a configurao do mesmo, ou usando o
Package Manager. Os pacotes de dados MySQL fazem parte do Ubuntu
repositrios, e desde o lanamento do Ubuntu verso 9.04, a verso 5.1 do MySQL
est disponvel no repositrio. Voc pode optar por fazer um manual
instalar, por exemplo, para tentar os mais recentes recursos ou ter total controle sobre o
instalao. Se voc precisar fazer uma instalao manual, veja o site do MySQL
para instrues de instalao.
Para instalar o MySQL usando o Synaptic, abra o Gerenciador de Pacotes Synaptic
a partir do menu Sistema-Administrao e busca de mysql. V para a
servidor msql 5.1 pacote e marc-lo para a instalao. Note que todos os necessrios
pacotes adicionais so automaticamente selecionados, basta confirmar selecionando Marcos
e selecione Aplicar para iniciar o download e instalar os pacotes.
DICA Voc pode, simultaneamente, selecione o pacote mysql-admin e ignorar a
passo instalao separada GUI.
O configurador do Debian ir pedir uma nova senha para o root do MySQL''''
usurio. Esta uma nova senha para um novo usurio que ser criada para o incio
30 Parte I Comeando com Pentaho
e gerenciar o MySQL exemplo. Infelizmente, a definio de uma senha no
obrigatrio, mas aconselhamos que voc defina um (e no se esquea disso!). Para o
configuraes do servidor de email, basta aceitar o padro determinado. Quando a instalao
estiver
terminado, voc ter uma Alteraes aplicadas''''mensagem. Fechar esta eo pacote
Manager como bem o servidor MySQL foi instalado.
Voc pode verificar a instalao, conectando-se instncia do MySQL
linha de comando. Abra uma tela do terminal e digite o mysql fol comando
seguida do -P-uroot <sua_senha>. Isto deve abrir o comando MySQL
prompt:
shell> mysql-uroot-ppassword
Bem-vindo ao MySQL monitor. Comandos com final; ou \ g.
Seu cdigo de conexo com o MySQL de 43
Server verso: 5.1.31-1ubuntu2 (Ubuntu)
'Help;' ou '\ h' para ajuda. 'C \' Tipo 'para limpar o buffer.
Mysql>
Saia do cliente com o parar comando seguido por um ponto e vrgula:
Mysql> quit;
Tchau
Parabns, o servidor est funcionando!
Instalando o servidor MySQL eo cliente no Windows
Os instaladores do Windows para o MySQL 5.1 pode ser encontrada em http://dev.mysql.com
/ Downloads/mysql/5.1.html. Selecione o instalador MSI e baixar este
seu computador. Depois de iniciar o instalador, voc apresentado com trs instalar
opes: Typical, completas ou personalizadas. A primeira opo vai fazer, mas
instalar seus arquivos de dados no diretrio C: \ Documents and Settings \ All
Usurios \ Dados de aplicativos \ servidor MySQL \ MySQL 5.1. Se voc preferir ter
os arquivos de dados localizados em outro lugar, selecione a instalao personalizada e
mudar o
Arquivos de Dados MySQL caminho. Depois de exibir alguns comerciais MySQL Enterprise
telas de informao, a configurao do MySQL iniciado, selecione a Norma
Configurao e aceitar todos os padres na prxima tela. Agora, a raiz passa-
tela aparece a palavra. Embora voc pode deixar a senha de root em branco, ns
recomendo fortemente contra ele. Se voc quiser ser capaz de gerir o banco de dados
outras mquinas que no localhost, voc tem que marcar a opo de acesso como root
tambm. A tela final permite que voc execute as definies de configurao e inicia o
MySQL servio em seu computador.
Captulo 2 Pr-requisitos 31
Ferramentas GUI MySQL
O cliente MySQL meramente um pedao de software para conectar a um MySQL
servidor. Para trabalhar com o banco de dados voc vai precisar adicionar mais duas
ferramentas, o
MySQL Administrator eo MySQL Query Browser. Ambos esto includos
nas ferramentas GUI, o que pode ser encontrada em http://dev.mysql.com/downloads
/ Gui-tools/5.0.html.
Instalar Ubuntu
A GUI site de download de ferramentas permite que voc baixar o binrio Linux
instaladores, mas as ferramentas tambm esto disponveis nos repositrios do Ubuntu.
Porque
esta uma maneira mais conveniente de instalar o software, abra o Synaptic
Package Manager novamente, procure por mysql-admin, e marc-lo para a instalao.
Note que os pacotes mysql-query-browser e mysql-gui-tools-comum
so includos automaticamente. Escolha Aplicar para instalar as ferramentas. Seu menu ser
agora ser enriquecido com uma nova entrada principal, chamada de programao, com dois
itens:
o administrador eo Query Browser.
Instalar o Windows
Basta baixar o instalador do Windows http://dev.mysql.com/downloads
/ Gui-tools/5.0.html. uma instalao simples do Windows, que no exige
quaisquer configuraes especiais. Aceitar os padres vai fazer tudo certo. O programa
atalhos podem ser encontrados no menu Iniciar do Windows sob a entrada MySQL.
Database Tools
Trabalhando em solues de BI geralmente significa trabalhar com dados e bases de dados.
Cada
banco de dados vem com seu prprio banco de dados e gerenciamento de ferramentas de
consulta, mas o que
Se voc precisar acessar vrios bancos de dados ou precisa de uma ferramenta para
desenvolver um novo
banco de dados em um modo visual? Esta seo apresenta trs das nossas ferramentas
favoritas para
projetar, desenvolver e consultar bancos de dados. Todas as ferramentas so escritos em
Java
ento eles vo rodar em qualquer plataforma, desde que a JVM est instalado.
Power * Architect e outras ferramentas de design
Pentaho no fornece as ferramentas necessrias para desenvolver projeto de um data
warehouse
porque h muitos bancos de dados l fora, e em muitos casos as organizaes
j tm uma ou mais ferramentas de projeto disponveis. Para apoiar o pleno
ciclo de vida do projeto, a partir de lgicas de negcios para a modelagem tcnica, incluindo
modelo de comparaes entre verses e gerenciamento de ciclo de vida, documentao
automvel
32 Parte I Comeando com Pentaho
recursos e apoio da equipe, h (tanto quanto ns estamos cientes) no open source
solues disponveis. Mas se houver, por favor, avise-nos! Para design de banco de dados
esquemas, voc tem duas opes, ambas fonte freeware e aberta. A
Segue-se uma pequena, mas longe da lista completa:
Power * Architect (http://www.sqlpower.ca/page/architect) - Nosso
ferramenta de escolha para este livro. Captulo 8 contm mais instrues sobre
instalao de energia * Arquiteto e como usar a ferramenta para criar banco de dados
diagramas e data marts.
MySQL Workbench (http://dev.mysql.com/downloads/workbench
/ 5.1.html) - Padro ferramenta de design de banco de dados MySQL eo
sucessor do DBDesigner popular.
ERDesigner Mogwai (http://mogwai.sourceforge.net) - Eclipse
base, mas h tambm um esquilo plugin disponvel (ver prxima seo).
ERMaster (http://ermaster.sourceforge.net) - Ainda com alguns Japa-
nese textos de ajuda aqui e ali.
Azzurri Clay (www.azzurri.jp) - Amplamente utilizado plugin do Eclipse. O ncleo
edio gratuita.
Squirrel SQL Client
Esquilo uma ferramenta open source consulta SQL que lhe permite abrir e consultar
praticamente qualquer banco de dados que j foram desenvolvidos, desde que um driver
JDBC
disponveis. Instalando o esquilo fcil: v para www.squirrelsql.org/ e siga
as instrues na seo de Download e instalao para baixar o
arquivo.
Instalar Ubuntu
Vamos modificar as instrues de instalao a partir do site um pouco, embora o
padro ir funcionar to bem. Se voc seguir os padres, a ferramenta ser instalada
no diretrio / Usr / local / esquilo SQL Client. Porque ns no gostamos
instalar nada no / Usr / local, Muito menos usando um nome de pasta misturada caso
com espaos, recomendamos a instalao da seguinte forma:
1. Abra um terminal e navegue at a pasta onde voc baixou a
arquivo do instalador. Use o seguinte comando para iniciar o instalador:
sudo java-jar squirrel-sql-<verso> install.jar
No comando anterior, <verso> deve ser substitudo pelo
nmero da verso atual.
2. A terceira tela do instalador pede um caminho de instalao. Alterar esta
em / Opt / tools / esquilo, Prima Seguinte e clique em OK para aceitar as
criao da nova pasta.
Captulo 2 Pr-requisitos 33
3. A tela seguinte mostra uma longa lista de plugins que podem ser instalados.
Dependendo do banco de dados e linguagens que voc gostaria de usar, voc pode
fazer a sua seleco. Apenas certifique-se de selecionar a opo MySQL e
deixar o checkbox selecionado plugins padro porque contm uma
o recurso de Concluso de cdigo. Para obter uma descrio de todos os plugins
disponveis,
ir para http://www.squirrelsql.org/index.php?page=plugins.
4. A ltima tela do instalador pede um local para o atalho. Isso
para Windows e no vai ajudar muito em uma mquina Linux, ento basta pressionar
Avanar para concluir a instalao.
Esquilo agora pode ser iniciado executando o esquilo sql.sh script de um
linha de comando, mas para maior comodidade, vamos criar um lanador para adicion-lo
no menu. Abra o editor de menu clicando com o lado esquerdo da norma
painel e selecione Editar Menus. Uma nova entrada pode ser adicionado a qualquer padro
principais opes do menu ou voc pode criar um novo. Clique em Novo Item para adicionar
um
item de menu e preencha os campos disponveis, como mostrado na Figura 2-2.
Figura 2-2: lanador Esquilo
O campo de comentrio opcional, e os cones podem ser alterados clicando nele
e navegando para o / Opt / ferramentas esquilo / cones pasta.
Instalar o Windows
Instalando o esquilo no Windows requer um esforo ainda menos do que no Linux, basta
clique duas vezes no jar de instalao baixado e comea o instalador. A ferramenta
ser instalado na C: \ Arquivos de programas \ Client SQL SQuirreL. Se voc prefere um
local diferente que voc pode, naturalmente, alter-lo aqui. Agora, as selees para
atalhos na ltima tela ir criar a entrada de menu adicionais automaticamente.
SQLeonardo
A ltima ferramenta que voc pode querer considerar SQLeonardo, uma consulta SQL
ferramenta que pode fazer algo que ainda no est disponvel no Squirrel: grfica
34 Parte I Comeando com Pentaho
design da consulta. O software pode ser baixado http://sourceforge.net
/ Projects / sqleonardo em um arquivo zip com apenas um Jar. arquivo dentro. Extraia o
zip para o local desejado (no nosso caso, / Opt / ferramentas sqleonardo /) E
criar um lanador (Linux) ou o atalho do menu (Windows). No se esquea de definir
a permisso para o arquivo''Permitir execuo do arquivo como programa.''Caso contrrio,
ele no ser iniciado. Figura 2-3 mostra a interface para a concepo de consultas com o
Pentaho banco de dados exemplo aberto.
Figura 2-3: SQLeonardo interface de consulta
Cobrimos SQLeonardo com maior profundidade no Captulo 13, porque tambm a
ferramenta de consulta grfico no Report Designer Pentaho.
Resumo
Este captulo apresenta as ferramentas complementares necessrios para desenvolver e
gerenciar
uma soluo de BI. Na verdade, dificilmente voc pode ligar o MySQL uma ferramenta
adicional porque
constitui a base da soluo iremos desenvolver durante o curso da presente
livro. Cobrimos a seguir neste captulo:
Trabalhando com a linha de comando no Ubuntu ou outras distribuies Linux
Configurando Java e JAVA_HOME varivel de ambiente
A instalao do MySQL e as ferramentas GUI MySQL
Captulo 2 Pr-requisitos 35
Introduo s ferramentas de design de banco de
dados
Instalao de esquilo, uma ferramenta de consulta de banco de
dados universal
Instalao de SQLeonardo, um construtor de consulta grfica conveniente
Instalao das ferramentas descritas neste captulo apenas um pr-requisito
para a criao de bancos de dados de exemplo e exemplos, vamos utilizar todo
o livro. Todos os scripts de criao de banco de dados, arquivos de dados e instrues de
instalao-
es que utilizamos nos exemplos podem ser encontrados no site do livro na
www.wiley.com / go / pentahosolutions.
CAPTULO
3
Instalao de Servidor
e Configurao
Neste captulo voc ir aprender as tarefas bsicas envolvidas na configurao do Pentaho
BI Server. Alm disso, podemos apresent-lo a configurar e trabalhar com o
Administrao Pentaho Console (PAC).
Configurao do Servidor
Como se ilustrou no captulo 1, voc pode executar o Pentaho BI Server imediatamente
Depois de baixar e descompactar o software. No entanto, a configurao padro-
rao normalmente no suficiente para fins de produo para o seguinte
razes:
O BI Server no est configurado para iniciar automaticamente quando o sistema
operacional
reinicializao do sistema.
Inicialmente, o BI Server ser acessvel apenas a partir da porta 8080, o que pode
conflito com outro servio executado em sua mquina.
Algumas caractersticas, tais como mensagens de email e publicao de contedo de BI,
requerem configurao extra para que eles trabalhem em tudo.
Por padro, um em memria de banco de dados HSQLDB usado para todo o sistema
bases de dados, e voc pode querer usar um RDBMS que voc mais
familiarizado com o lugar.
Voc pode precisar fornecer drivers JDBC extra para se conectar a um
RDBMS particular.
37
38 Parte I Comeando com Pentaho
Neste captulo, descrevemos como alterar a configurao padro do
Pentaho BI Server. Apesar de no fornecer um guia detalhado para Pentaho
administrao e configurao do servidor, este captulo mostra como alguns dos seus
principais componentes so controlados.
Instalao
J descrevemos como baixar e extrair o Pentaho BI Server.
Se necessrio, consulte o Captulo 1 para obter instrues detalhadas. O diretrio
descompactado
contm dois subdiretrios:
administrao console -Este um servio administrativo para gerir
e configurar o real Pentaho BI Server. Isso tambm conhecido como o PAC
(Para a Administrao Pentaho Console).
biserver-ce -Este o atual Pentaho BI Server (Community Edition).
Directrio de Instalao
No Captulo 1, que tambm mencionou que voc pode instalar o Pentaho Server em
qualquer local que voc deseja. No entanto, dependendo do seu sistema operacional, no
so alguns locais que (por conveno) fazem mais sentido do que outros. Para o
finalidade do restante do livro, vamos assumir os seguintes locais:
C: \ Program Files \ pentaho para sistemas Windows
/ Opt / pentaho para sistemas baseados em UNIX
Voc deve criar esse diretrio e mover-se tanto a administrao
-Console e biserver-ce diretrios (incluindo seu contedo) para este
diretrio. No restante deste livro, vamos nos referir ao biserver-ce
diretrio como o diretrio home Pentaho, e os administrao console
diretrio como o diretrio home do PAC.
NOTA Voc precisa de privilgios de root para criar um subdiretrio / Opt. Por exemplo,
no Linux Ubuntu, voc pode usar sudo temporariamente para obter estes privilgios:
shell> sudo mkdir / opt / pentaho
Conta de Usurio
Para consideraes de segurana, voc deve considerar a criao de um usurio separado
conta para executar aplicaes de servidor, como Pentaho. Normalmente, a conta de usurio
seria tambm dono do diretrio que contm o software. Alm disso,
essa conta de usurio ser bloqueado para fora do restante do sistema. Esta
uma questo de controle de danos: um bug no software ou um servidor hackeado
simplesmente
Captulo 3 Instalao e Configurao do Servidor 39
no pode fazer nenhum mal fora de seus diretrios prprio software, ou seja, desde
a conta de usurio reservado para Pentaho ainda no possui permisses fora
a rvore Pentaho. Listagem 3-1 mostra uma possvel forma de fazer essa configurao
em Linux:
Listagem 3-1: Configurando uma conta de usurio, grupo e diretrio para Pentaho em baseados em UNIX
sistemas
# Crie um grupo para o usurio pentaho
sudo shell> addgroup pentaho
Adicionando 'pentaho "grupo (GID 1001) ...
# Criar um usurio do sistema de Pentaho
sudo adduser shell> - sistema - ingroup Pentaho - Pentaho disabled-login
Adicionando 'pentaho "usurio do sistema (UID 115) ...
Adicionando 'pentaho' novo usurio (UID 115) com 'pentaho' grupo ...
Criar diretrio home "/ home / pentaho ...
# Criar diretrio de software, e descompactar o software no
shell> sudo mkdir / opt / pentaho
sudo shell> cd / opt / pentaho
shell> sudo tar zxvf ~ / downloads/biserver-ce-CITRUS-M2.tar.gz
# ... Muita sada ...
# Conceder a propriedade de diretrios de software para o usurio pentaho
sudo shell> chown-R pentaho: pentaho / opt / pentaho
Aps configurar a conta de usurio e concesso de propriedade do Pentaho
software, voc pode comear a Pentaho da linha de comando usando um comando
como este:
shell JAVA_HOME pentaho> sudo-u = usr/lib/jvm/java-6-sun. / start-pentaho.sh
Observe o -U pentaho no comando: isso garante que o comando ser
executado com as permisses do pentaho usurio. Se voc omitir que, o servidor
ser executado com a permisso de raiz, que exatamente o que voc quer evitar! Na
prxima seo, voc ver como voc pode definir as coisas para o Pentaho BI Server
iniciado
automaticamente durante a inicializao do sistema operacional.
Configurando o Tomcat
O Pentaho BI Server est pr-configurado com base no Apache Tomcat Servlet
recipiente. O software Tomcat reside no tomcat diretrio, que reside
dentro do diretrio home do servidor Pentaho. Por padro, o Tomcat atende na porta
8080. Isso significa que Pentaho , tambm, acessvel atravs deste porto. Por exemplo,
40 Parte I Comeando com Pentaho
se o servidor Pentaho iniciado em sua mquina local, o endereo web do
Pentaho home page http://localhost:8080/pentaho.
NOTA H produtos de servidores que usam a porta 8080 por padro, em particular
outros recipientes Java Servlet como o JBoss eo GlassFish, mas tambm o Oracle Application
Express (APEX), que instalado como parte do Oracle Database Server Express.
Vrios servidores no podem usar o mesmo nmero de porta em simultneo. Por esta razo,
voc pode precisar configurar o software do servidor para garantir que cada um deles atribudo um
porta exclusiva.
Coisas como a porta do servidor, bem como as caractersticas bsicas de acesso so
configurados
ao nvel do Tomcat. A maioria das configuraes do Tomcat controlado atravs de XML
arquivos que residem no tomcat / conf diretrio. Por exemplo, se voc quiser
alterar a porta usada pelo Tomcat, voc pode editar o seguinte trecho
a partir de conf / tomcat / server.xml:
<Connector port = "8080" maxHttpHeaderSize = "8192"
MaxThreads = "150" minSpareThreads = "25" maxSpareThreads = "75"
enableLookups redirectPort = "false" = "8443" acceptCount = "100"
connectionTimeout = "20000" disableUploadTimeout = "true" />
Assim, a alterao do porto atributo faz com que o Tomcat para escutar em outra porta. Se
voc
decidir alterar o nmero da porta aqui, voc tambm precisa mudar o nme-porto
ber na web.xml arquivo de configurao que est localizado na tomcat / webapps /
WEB-INF diretrio. Voc deve procurar um trecho parecido com este:
<context-param>
<param-name> base-url </ param-name>
<param-value> http://localhost:8080/pentaho/ </ param-value>
</ Context-param>
NOTA Uma discusso completa de configurao do Tomcat est fora do escopo deste livro.
No entanto, voc pode encontrar bons recursos online e livros sobre o assunto. A
ponto de partida bvio para saber mais sobre o Tomcat o manual, que pode ser
encontrar em http://tomcat.apache.org/tomcat-5.5-doc/.
Arranque automtico
O Pentaho BI Server, bem como o console de administrao, so servidores
aplicaes e, normalmente, voc gostaria que inicie automaticamente aps a inicializao
o sistema operacional.
Arranque automtico em sistemas Unix / Linux
Usurios de sistemas baseados em UNIX necessidade de criar um script de inicializao (s
vezes chamado de
RC), que comea do Servidor Pentaho. Listagem 3-2 mostra um muito bsico, mas totalmente
Captulo 3 Instalao e Configurao do Servidor 41
funcional, script de inicializao chamado pentaho-init.sh. Voc deve ser capaz de descobrir
o que ele faz lendo o cdigo e comentrios.
Listagem 3-2: Um script bsico pentaho-init.sh
#! / Bin / sh
# V para a casa pentaho
cd / opt / pentaho / biserver ce-
# Configurar o comando para o usurio Pentaho, o ambiente java conjunto
cmd = "JAVA_HOME pentaho sudo-u = usr/lib/jvm/java-6-sun
JAVA_OPTS =- Djava.awt.headless = true "
case "$ 1" em
incio)
# Executar o script de inicializao original pentaho
$ Cmd. / Start-pentaho.sh>> pentaho-demo.log &
;;
stop)
# Executar o script de inicializao original pentaho
$ Cmd. /> Stop-pentaho.sh> pentaho-demo.log &
;;
reiniciar)
$ 0 parar
$ 0 comear
;;
*)
echo "Uso: $ 0 {start | stop | restart}"
sada 1
esac
exit 0
NOTA Note que o script da Listagem 3-2 no se destina a ser um grande exemplo de
UNIX scripting. simplesmente uma abordagem mnima que comea o trabalho feito. Se voc est
interessado em escrever esses scripts voc mesmo, voc deve referir-se aos inmeros
recursos de scripting em UNIX / Linux e administrao do sistema.
A pentaho-init.sh script deve ser colocado no / Etc / init.d diretrio.
(Note que isso requer privilgios de root, e voc deve usar sudo copiar ou
mover o script para esse local.) Voc deve ento test-lo e verificar se voc
pode us-lo para iniciar e parar o servidor Pentaho BI, como mostrado aqui:
Shell>
Shell>
Shell>
Uso:
cp pentaho-init.sh / etc / init.d
cd / etc / init.d
sudo. / pentaho-init.sh
. / Pentaho-init.sh {start | stop | restart | status}
42 Parte I Comeando com Pentaho
shell> sudo. / start pentaho-init.sh
shell> sudo. / stop pentaho-init.sh
Para distribuies baseadas em Debian Linux, incluindo o Ubuntu, voc pode ento usar
o update-rc.d utilitrio, que estabelece uma srie de links simblicos, provocando
o script para ser usado em tempo de boot para iniciar Pentaho (e para par-lo no sistema
desligamento):
shell> sudo update-rc.d padro pentaho-init.sh
update-rc.d: warning: / etc / init.d / pentaho-init.sh cabealho estilo faltando LSB
Adicionando a inicializao do sistema para o / etc / init.d / init.sh-pentaho ...
/ Etc/rc0.d/K20pentaho-init.sh -> .. / init.d / pentaho-init.sh
/ Etc/rc1.d/K20pentaho-init.sh -> .. / init.d / pentaho-init.sh
/ Etc/rc6.d/K20pentaho-init.sh -> .. / init.d / pentaho-init.sh
/ Etc/rc2.d/S20pentaho-init.sh -> .. / init.d / pentaho-init.sh
/ Etc/rc3.d/S20pentaho-init.sh -> .. / init.d / pentaho-init.sh
/ Etc/rc4.d/S20pentaho-init.sh -> .. / init.d / pentaho-init.sh
/ Etc/rc5.d/S20pentaho-init.sh -> .. / init.d / pentaho-init.sh
Voc pode usar o mesmo update-rc.d utilitrio para remover um servio j existente
usando uma linha como esta:
sudo shell> update-rc.d-f pentaho-init.sh remover
Outra ferramenta que vem a calhar para gerenciar os scripts de inicializao do Linux o
gerenciador de boot-up grfica vagabundo. Voc pode instal-lo usando o Synaptic Package
gerente, ou usando o seguinte comando:
sudo shell> apt-get install bum
Aps a instalao do Ubuntu Linux, voc pode comear vagabundo do Sistema
Administrao Gerenciador de Boot-up. Isto proporciona-lhe uma interface grfica
interface para realizar tarefas como iniciar, parar, habilitao e desabilitao init
scripts.
NOTA Para Red Hat baseado em distribuies Linux, incluindo o Fedora, o chkconfig
utilitrio pode ser usado para conseguir algo semelhante. O trecho a seguir ir instalar
e permitir que o pentaho-init.sh script:
Shell> chkconfig init.sh-pentaho - Adicionar
Shell> chkconfig pentaho-init.sh em
Depois de configurar o script de inicializao, voc deve reiniciar o computador para verificar
que o Pentaho BI Server fato inicia-se como parte da seqncia de inicializao.
Captulo 3 Instalao e Configurao do Servidor 43
Arranque automtico em Sistemas Windows
Para o Windows, voc deve criar um servio para habilitar a inicializao automtica do
Pentaho Server. A maneira mais fcil de fazer isso usar o service.bat script. Este
distribuda junto com o servidor Tomcat, que usado para enviar o BI Pentaho
Servidor, por isso j est includo no seu download Pentaho. Para usar esse script,
abrir um shell de comando e cd para o diretrio home Pentaho, e de l
em tomcat \ bin. Depois, basta executar o seguinte:
C: \ Program Files \ pentaho \ ce-biserver \ bin do tomcat \ service.bat> instalar o Pentaho
Instalao 'Pentaho' o servio ...
Usando CATALINA_HOME: C: \ Program Files \ pentaho \ ce-biserver \ tomcat
Usando CATALINA_BASE: C: \ Program Files \ pentaho \ ce-biserver \ tomcat
Usando JAVA_HOME: D: \ Libraries \ Java \ jdk-1_5_0_15
Usando JVM: D: \ Libraries \ Java \ jdk-1_5_0_15 \ bin \ jre \ server \ jvm.dll
"Pentaho" O servio foi instalado.
NOTA No exemplo anterior, usamos Pentaho como o nome do servio.
Voc pode omitir o nome, caso em que o nome do padro Tomcat5 ser usado.
Agora voc pode navegar pelo seu servio usando o Service Manager (Start
Controle PanelAdministrative ToolsServices) e configur-lo para iniciar
automaticamente. Note-se que o novo servio est marcado''Apache Tomcat Pentaho''
. Ao invs de simplesmente''''Pentaho Desinstalando o servio igualmente fcil, basta
executar o seguinte comando:
C: \ Program Files \ pentaho \ ce-biserver \ bin do tomcat \ service.bat> desinstalar Pentaho
"Pentaho" O servio foi removido
NOTA A service.bat script realmente um invlucro em torno do Tomcat5.exe
programa, e voc pode exercer maior controle usando isso diretamente. Voc tambm pode usar esse
para modificar o servio do Tomcat j est instalado. Por exemplo, em vez de navegar
para o servio no gerenciador de servios voc tambm pode executar o seguinte:
tomcat5.exe shell> / / EUA / Pentaho - auto inicializao
para modificar o servio para iniciar automaticamente. O exemplo a seguir ilustra
como mudar o nome para exibio do servio a Pentaho BI Server:
tomcat5.exe shell> / / EUA / Pentaho - DisplayName = "Pentaho BI Server"
Este ltimo exemplo ilustra como configurar uso de memria do Java Virtual Machine
para o servio. Neste caso, a memria heap inicial definido como segue:
tomcat5.exe shell> / / EUA / tomcat5 - JvmMs = 256M - JvMx = 1024 - JvmSs = 64
Voc pode encontrar mais informaes sobre o service.bat roteiro e tomcat5.exe em
a documentao do Tomcat aqui na http://tomcat.apache.org/tomcat-5.5
-doc/windows-service-howto.html.
44 Parte I Comeando com Pentaho
Gerenciando Drivers de Banco de
Dados
Todos os pedidos Pentaho, incluindo o Servidor Pentaho, use Java Database
Connectivity (JDBC) para comunicao de dados. A fim de conectar-se a
um SGBD particular, Pentaho precisa carregar o driver Java apropriada.
Por padro, o Pentaho Server vem com drivers JDBC para o seguinte
bases de dados:
HSQLDB- hsqldb-x.x.x.jar
MySQL mysql-connector-java-x.x.x.jar
PostgreSQL postgresql-x.x-xxx.jdbc3.jar
NOTA As ocorrncias de x.x.x e x.x-xxxx na Jar. nomes de arquivo no
aparecem, mas indicam um nmero de verso especfico.
Ento, se voc quiser se conectar a qualquer outro RDBMS, voc precisar obter um
driver apropriado e assegurar que ele pode ser usado pelo servidor de BI Pentaho.
O restante desta seo descreve como fazer isso.
Localizao Driver para o servidor
Os drivers JDBC esto localizados na tomcat / common / lib sob o diretrio
diretrio do Servidor Pentaho. Se voc precisa se conectar a outro tipo de
RDBMS, voc deve copiar o adequado Jar. arquivos para este local. O servidor
precisa ser reiniciado para que os novos controladores a ser carregado.
Localizao Driver para o console de administrao
Copiar o motorista Jar. arquivos para o tomcat / common / lib diretrio somente permite
o servidor para se conectar ao sistema de banco de dados correspondente. No entanto, o
PAC normalmente usado para configurar novas conexes de banco de dados chamado.
Assim, em
Para configurar corretamente e testar as conexes de banco de dados, o PAC tambm deve
para carregar o driver JDBC novo.
O driver JDBC Jar. arquivos para o PAC so armazenados no jdbc diretrio.
Este diretrio reside imediatamente abaixo do diretrio de instalao do
Administrao do software do console.
Gerenciando drivers JDBC em sistemas baseados em Unix
Em sistemas baseados em UNIX, voc pode utilizar links simblicos para facilitar a
gerenciar drivers JDBC atravs de vrios programas. Com esse mtodo, voc pode
atualizar um driver com uma nica ao.
Captulo 3 Instalao e Configurao do Servidor 45
Para fazer isso, voc deve manter todos os seus driver JDBC Jar. arquivos em um nico
diretrio (digamos, / Lib / jdbc). Alm disso, este diretrio deve conter um
link simblico para cada RDBMS distintos, apontando para a verso preferencial de
o Jar. arquivo. Este link simblico serve para criar um nome de arquivo genrico que
ser usado para se referir ao driver Jar. arquivo para esse tipo de RDBMS, independentemente
da
verso. Por exemplo, um link simblico chamado mysql-connector-java.jar poderia
apontar para um mysql-connector-java-5.1.7.jar ou mysql-connector-java
-5.0.8.jar, Dependendo da verso que voc prefere para a maioria das aplicaes.
Em vez de copiar qualquer Jar. arquivos e diretrios do aplicativo (como / / Tomcat
common / lib), Voc pode colocar um link simblico l, apontando para o genrico
link simblico no / Lib / jdbc diretrio. Sempre que voc quiser atualizar (ou
downgrade) um driver, voc pode simplesmente colocar o novo Jar. arquivo na / Lib / jdbc
diretrio e recriar o link genrico simblico para apontar para o novo Jar. arquivo.
Uma abordagem um pouco mais simples diretamente renomear o Jar. arquivo para algo
mais genricos, mas isso torna mais difcil saber exatamente qual a verso
voc est usando.
Sistema de Bases de
Dados
A plataforma Pentaho depende de uma srie de bases de dados do sistema:
hibernar -Esse banco de dados usado para armazenar a autenticao do usurio e
dados de autorizao, contedos BI (soluo de repositrio) e de dados chamado
fontes.
quartzo -Esse banco de dados atua como o repositrio para o agendador de quartzo,
que um componente que faz com que o Servidor Pentaho.
SampleData -Esta a amostra de dados que usado principalmente pela exemplos
discutido no Captulo 1. Estritamente falando, este no um banco de dados do sistema
porque ela no afeta o funcionamento normal do BIServer Pentaho.
Por padro, os bancos de dados do sistema so todos administrados por um RDBMS
HSQLDB.
Nesta seo, descrevemos como migrar estes a um banco de dados MySQL. Ns
suponha que voc tenha configurado o software de banco de dados MySQL, e assumimos
isso usa a porta padro do MySQL (3306) e reside na mesma mquina host
como o Servidor Pentaho. Para esta configurao particular, todos os MySQL JDBC contato
seqncias devem ter esta forma:
jdbc: mysql: / / localhost: 3306 / <database-name>
Aqui, <database-name> representa um esquema especfico (banco de dados), gerido
pela instncia do MySQL. No restante deste captulo, iremos usar sempre
JDBC conectar strings como este. Voc est livre para usar outra mquina, ou outro
porto, ou ambos, mas voc vai precisar para mudar as seqncias de contato que aparecem
no
46 Parte I Comeando com Pentaho
as seguintes sees conformidade. Claro, o mesmo vale se voc quiser
implantar isso em outro RDBMS. Para mais detalhes sobre a configurao do MySQL,
consulte
no Captulo 2.
As etapas para a migrao do banco de dados HSQLDB so pr-configurados
basicamente o mesmo, independentemente do RDBMS especfico. Por padro, o Pentaho
BI Server j oferece alguns recursos (como o esquema de criao de scripts)
para configur-lo para o MySQL, Oracle e PostgreSQL. Isto significa que voc ter que
ajustar os scripts se no caso de pretender configurar o sistema Pentaho
bases de dados para qualquer outro RDBMS.
Configurando o MySQL esquemas
Antes que voc possa configurar nada sobre as bases de dados no BI Pentaho
final Server, voc deve primeiro criar um par de coisas sobre o servidor MySQL que
ir substituir o banco de dados HSQLDB. Voc pode encontrar os scripts SQL para faz-lo em
o data/mysql5 diretrio, que reside em baixo da casa Pentaho BI Server
diretrio. Os scripts a seguir devem ser executados na seguinte ordem:
create_repository_mysql.sql -Cria o hibernar banco de dados, que
usado para armazenar a soluo de repositrio, bem como as credenciais do usurio e
permisses.
create_sample_datasource.sql Adiciona-uma fonte de dados para a amostra
dados em que todos os exemplos que vm com o Pentaho se baseiam. Fonte dos dados
definies tambm so armazenadas no hibernar banco de dados. Por agora, este ser
ainda apontar para o banco de dados HSQLDB, mas vamos modific-lo mais tarde,
quando
tambm a migrao dos dados amostra a MySQL.
create_quartz_mysql.sql Cria-o repositrio para o quartzo
planejador.
Voc pode usar qualquer ferramenta que voc gostaria de executar esses scripts, como o
MySQL
linha de comando do cliente ou do esquilo. Ao usar a ferramenta de linha de comando
mysql, Voc pode usar o comando source para executar um script a partir do disco:
mysql> FONTE / opt/pentaho/biserver-ce/data/mysql5/create_repository.sql
Alternativamente, voc pode execut-lo directamente a partir do
shell:
localhost shell> mysql-h - u root-p \
> </ Opt/pentaho/biserver-ce/data/mysql5/create_repository.sql
NOTA Nota assinar o menos (<). Isso faz com que o contedo do arquivo de script para
ser executada pelo mysql linha de comando da ferramenta.
Configurando quartzo e Hibernate
Nesta seo, voc vai aprender a editar os arquivos de configurao Pentaho, a fim
para o quartzo e os componentes do Hibernate para se conectar ao banco de dados MySQL.
Captulo 3
Quartzo
Instalao e Configurao do Servidor 47
O quartzo um agendador de tarefas. Pentaho utiliza para automatizar tarefas e executar
assinatura de contedo. lojas de quartzo definies de trabalho em um banco de dados
relacional.
Para permitir quartzo para se conectar ao MySQL, voc precisa abrir / Tomcat / webapps /
pentaho / META-INF / context.xml, Que reside na casa do Servidor Pentaho
diretrio. Procure a seo onde se l:
<Nome do Recurso = "jdbc / Quartzo" auth = "Container"
type = "javax.sql.DataSource"
fbrica = "org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive = "20" maxidle = "5" maxWait = "10000"
username = "pentaho_user" password = "senha"
driverClassName = "org.hsqldb.jdbcDriver"
url = "jdbc: hsqldb: HSQL: / / localhost / quartzo"
validationQuery = "
select count (*)
de INFORMATION_SCHEMA.SYSTEM_SEQUENCES
"/>
Voc precisa alterar os valores das seguintes propriedades:
driverClassName -O valor dessa propriedade deve ser definida para a classe Java
nome do driver JDBC do MySQL, que com.mysql.jdbc.Driver.
url -Isso deve ser definido para a cadeia JDBC contato. Ele deve ser alterado
para o adequado contato string JDBC do MySQL, que MySQL:: jdbc / /
localhost: 3306/quartz.
ValidationQuery -Isto usado para verificar se a conexo pode ser
criado. Isso deve ser alterado para SELECT 1.
Aps a modificao, o trecho deve ficar assim:
<Nome do Recurso = "jdbc / Quartzo" auth = "Container"
type = "javax.sql.DataSource"
fbrica = "org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive = "20" maxidle = "5" maxWait = "10000"
username = "pentaho_user" password = "senha"
driverClassName = "com.mysql.jdbc.Driver"
url = "jdbc: mysql: / / localhost: 3306/quartz"
validationQuery = "SELECT 1 "/>
Hibernar
Hibernate uma camada de mapeamento objeto-relacional que utilizado por Pentaho para
acesso (e cache) o seguinte:
Objetos da soluo de repositrio
fontes de dados com o nome, que so usadas por elementos tais como relatrios de
recolher
dados de bancos de dados JDBC
A autenticao do usurio e dados de autorizao
48 Parte I Comeando com Pentaho
Voc deve modificar os arquivos de configurao Pentaho relevantes do ponto
los para o banco de dados MySQL em vez do banco de dados HSQLDB. Primeiro, mod-
rificar a seo correspondente ao Hibernate / Tomcat / webapps pentaho / /
META-INF/context.xml. Na subseo anterior, voc j mudou essa
arquivo para configurar a conexo para o Quartz. Desta vez, voc precisar executar o
mesma tarefa para o Hibernate, e alterar esse trecho:
<Nome do Recurso = "jdbc / Hibernate" auth = "Container"
type = "javax.sql.DataSource"
fbrica = "org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive = "20" maxidle = "5" maxWait = "10000"
username = "hibuser" password = "senha"
driverClassName = "org.hsqldb.jdbcDriver"
url = "jdbc: hsqldb: HSQL: / / localhost / hibernate"
validationQuery = "
SELECT COUNT (*)
DA INFORMATION_SCHEMA.SYSTEM_SEQUENCES "/>
para isso:
<Nome do Recurso = "jdbc / Hibernate" auth = "Container"
type = "javax.sql.DataSource"
fbrica = "org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive = "20" maxidle = "5" maxWait = "10000"
username = "hibuser" password = "senha"
driverClassName = "com.mysql.jdbc.Driver"
url = "jdbc: mysql: / / localhost / hibernate"
validationQuery = "SELECT 1 " />
Em seguida, cd no pentaho-solutions/system/hibernate diretrio no
Pentaho diretrio Home. Voc precisa modificar dois arquivos aqui:
hibernate-settings.xml
mysql5.hibernate.cfg.xml
Primeiro, edite hibernate-settings.xml. Neste arquivo, voc encontrar uma linha que
l-se:
sistema <arquivo-de-configurao> / hibernate / hsql.hibernate.cfg.xml </ config->
O valor no <arquivo-de-configurao> elemento o nome de um arquivo que tambm
reside nesse diretrio. Como voc pode ver, ele ainda se refere a um HSQLDB especficas
arquivo de configurao. Voc precisa mudar este mysql5.hibernate.cfg.xml,
que contm a configurao especfica do MySQL. Isso tudo que voc precisa
mudana na hibernate-settings.xml. H duas coisas que voc pode precisar
mudana na mysql5.hibernate.cfg.xml:
Este arquivo contm a string JDBC contato para se conectar ao hibernar
banco de dados, por isso, se voc estiver usando um outro host, porta, ou ambos voc
vai precisar
ajustar a seqncia de conexo JDBC aqui conformidade.
Captulo 3 Instalao e Configurao do Servidor 49
Voc pode querer adicionar uma ligao robusta pooling. Banco de dados de liga-
es no so criadas toa. Pelo contrrio, o servidor mantm um conjunto de
conexes, que permanecem abertas enquanto o servidor est executando.
A string JDBC de conexo configurada na linha que l:
<property name="connection.url"> jdbc: mysql: / / localhost: 3306/hibernate
</ Property>
(Como acabamos de mencionar, voc no precisa mudar isso se voc no sabe definir
o MySQL, diferentemente do que sugerimos).
Para adicionar um pool de conexo, adicione o seguinte trecho, logo abaixo do
<session-factory> tag de abertura:
propriedade <
propriedade <
propriedade <
propriedade <
propriedade <
propriedade <
propriedade <
propriedade <
name = "hibernate.c3p0.acquire_increment"> 3> </ property
name = "hibernate.c3p0.idle_test_period"> 14400 </> propriedade
name = "hibernate.c3p0.min_size"> 5> </ property
name = "hibernate.c3p0.max_size"> 75> </ property
name = "hibernate.c3p0.max_statements"> 0> </ property
name = "hibernate.c3p0.timeout"> 25200> </ property
name = "hibernate.c3p0.preferredTestQuery"> selecione um </> propriedade
name = "hibernate.c3p0.testConnectionOnCheckout" <>> true / propriedade
Este trecho faz com que o pool de conexo C3P0 para ser usado. Voc vai precisar
garantir que este carregado pelo servidor com antecedncia. Para fazer isso, voc precisa
colocar
o C3P0-x.x.x.x.jar arquivo na tomcat / common / lib diretrio. Alm disso,
tambm preciso coloc-lo no lib sob o diretrio home do PAC. (Nota
que x.x.x.x. representa o nmero da verso.) Voc pode obt-lo http://
sourceforge.net/projects/c3p0. Voc s precisa baixar o C3P0-bin
pacote. Os usurios do Windows devem obter o Zip. arquivo, e h uma . Tgz
Arquivo para sistemas operacionais baseados em UNIX.
NOTA C3P0 um pool de aplicao livre compatvel com JDBC de conexo. Se voc
gosta, voc pode usar um pool de aplicao alternativa de conexo, como o DBCP,
que fornecido pelo Apache (ver http://commons.apache.org/dbcp/). Para
mais informaes sobre como usar o DBCP para a configurao do Hibernate Pentaho, leia este
artigo no blog de Tom Barber: http://pentahomusings.blogspot.com/
2008/05/pentaho-server-fails-every-night-we.html.
Estritamente falando, voc no precisa configurar um pool de conexo como esta as coisas,
continuar a funcionar na maioria das vezes sem ele. No entanto, isso acontece para resolver
um
problema que frequentemente encontrados durante a execuo Pentaho em cima do
MySQL.
O problema que o Hibernate sempre tenta manter a conexo com o MySQL
aberto. No entanto, as conexes MySQL expiram automaticamente aps um determinado
perodo de inatividade. Isso pode ser configurado ao final do MySQL, definindo a
valor da wait_timeout servidor varivel. Por padro, conexes inativas
termina aps 8 horas. Se isto acontecer em um sistema de produo, o Hibernate pra
50 Parte I Comeando com Pentaho
funcionando corretamente, o que essencialmente requer que voc reiniciar o servidor Pentaho
antes, torna-se til novamente. Normalmente, voc comea a perceber esse problema em um
servidor de produo: durante a noite, possvel que o servidor ociosa,
e na manh seguinte voc ver as coisas no funcionam mais. Configurando o
pool de conexo como descrito resolve esse problema.
NOTA Para saber mais sobre os problemas especficos que podem surgir durante
execuo Pentaho em cima do MySQL, na ausncia de um pool de conexo, por favor leia
esta discusso nos fruns Pentaho: http://forums.pentaho.org/
t showthread.php? = 54939.
Para obter mais informaes sobre o MySQL wait_timeout variveis, consulte
http://dev.mysql.com/doc/refman/5.1/en/server-system
-Variables.html # sysvar tempo limite de espera e http://dev.mysql.com/doc/
refman/5.1/en/gone-away.html.
Configurando a segurana JDBC
Voc tambm vai precisar se adaptar a autenticao do usurio e configura-autorizao
o para o novo hibernar banco de dados. Para fazer isso, editar applicationContext-Acegi
-Segurana jdbc.xml. Este arquivo reside na pentaho-solutions/system dentro
do Pentaho BI Server diretrio home. Voc precisa olhar para o seguinte
trecho:
feijo <id = "dataSource"
class = "org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" "value="org.hsqldb.jdbcDriver" />
<Nome da propriedade = "url"
value = "jdbc: hsqldb: HSQL: / / localhost: 9001/hibernate" />
<property name="username" value="hibuser" />
<property name="password" value="password" />
</ Bean>
Modificar esta para coincidir com o banco de dados MySQL,
assim:
feijo <id = "dataSource"
class = "org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql//localhost:3306/hibernate" />
<property name="username" value="hibuser" />
<property name="password" value="password" />
</ Bean>
No mesmo diretrio um arquivo chamado applicationContext-segurana Acegi
-Hibernate.properties. Seus contedos so os seguintes:
org.hsqldb.jdbcDriver jdbc.driver =
jdbc.url = jdbc: hsqldb: HSQL: / / localhost: 9001/hibernate
hibuser jdbc.username =
password = jdbc.password
org.hibernate.dialect.HSQLDialect hibernate.dialect =
Captulo 3 Instalao e Configurao do Servidor 51
Voc precisar editar esta e ajustar as propriedades de banco de dados para coincidir com o
MySQL hibernar banco de dados, como segue:
com.mysql.jdbc.Driver jdbc.driver =
jdbc.url = jdbc: mysql: / / Localhost: 3306/hibernate
hibuser jdbc.username =
password = jdbc.password
org.hibernate.dialect.MySQLDialect hibernate.dialect =
Dados da Amostra
Se voc tambm gostaria de mover a amostra de dados de HSQLDB ao MySQL, voc
deve primeiro fazer o download de um script para carregar os dados de exemplo para MySQL.
Este script
gentilmente cedidas por Prashant Raju, e voc pode baix-lo www.
prashantraju.com/pentaho/downloads/sampledatamysql5.sql.
NOTA Prashant Raju tambm oferece bons guias para configurar Pentaho para o MySQL.
Voc pode encontr-los aqui:
http://www.prashantraju.com/pentaho/guides/biserver-2.0-final/.
Aps a configurao do banco de dados, voc ainda precisa de actualizar o SampleData
definio da fonte de dados que armazenado no hibernar banco de dados. Mais adiante neste
captulo, discutiremos como editar fontes de dados usando a Administrao Pentaho
Console. Por agora, vamos usar um mtodo um pouco mais direto, e atualizar diretamente
o registro do banco de dados que armazena a definio da fonte de dados:
UPDATE hibernate.DATASOURCE
SETDRIVERCLASS = "com.mysql.jdbc.Driver",
URL = "jdbc: mysql: / / localhost: 3306/sampledata,
Query = 'SELECT 1'
WHERE NAME = 'SampleData'
;
Modificar o Pentaho Scripts de inicializao
Se voc trabalhou com as subsees anteriores, voc pode descartar o HSQLDB
banco de dados completo. O Pentaho scripts de inicializao e desligamento conter uma linha
explicitamente iniciar e parar o banco de dados HSQLDB, respectivamente. Voc deve
remover essas linhas. Ele poupa alguma memria, e tambm oferece uma boa
teste para ver se voc mudou corretamente todos os bancos de dados MySQL.
Aqui est um resumo dos roteiros e as linhas a remover:
start-pentaho.bat:
incio start_.bat
parar pentaho.bat:
incio stop_.bat
52 Parte I Comeando com Pentaho
start-pentaho.sh:
start_.sh & sh
parar pentaho.sh:
incio stop_.bat
NOTA Ao invs de remover as linhas, voc pode ativ-los para comentar
linhas, o que torna mais fcil de desfazer a alterao mais tarde. Para o . Morcego scripts, voc
criar uma linha de comentrio, definindo a palavra-chave REM seguido por um caractere de espao
logo no incio da linha. Para o Sh. scripts, voc pode definir o cardinal
(#) Logo no incio da linha.
E-mail
O Pentaho BI Server tem SMTP (Simple Mail Transfer Protocol) e-mails
capacidades. E-mail pode ser usado para distribuir contedo de BI (tais como relatrios) para
os recipientes apropriados em cenrios de ruptura, ou para o envio de monitoramento
mensagens. Especificamente, Pentaho utiliza a API JavaMail para atuar como um cliente
SMTP
enviar e-mails atravs de um servidor SMTP existente. Observe que voc precisa ter um
executando o servidor STMP antes que voc possa usar este Pentaho, no implementa
um servidor de email em si.
E-mail no ir funcionar out-of-the-box na configurao padro. A fim
usar e-mail, voc precisa configurar algumas coisas. A configurao de e-mail
controlada atravs do arquivo email_config.xml, Que reside no smtp-mail
diretrio dentro do sistema Pentaho soluo.
Configurao bsica de SMTP
Listagem 3-3 mostra o contedo de uma base email_config.xml arquivo.
Listagem 3-3: O contedo do email_config.xml
<email-smtp>
<properties>
<mail.smtp.host> smtp.wcm.com </ mail.smtp.host>
<mail.smtp.port> 25 </ mail.smtp.port>
<mail.transport.protocol> smtp </ mail.transport.protocol>
<mail.smtp.starttls.enable> false </ mail.smtp.starttls.enable>
<mail.smtp.auth> true </ mail.smtp.auth>
<mail.smtp.ssl> false </ mail.smtp.ssl>
<mail.smtp.quitwait> false </ mail.smtp.quitwait>
</ Properties>
Captulo 3 Instalao e Configurao do Servidor 53
<mail.from.default> joe.pentaho @ pentaho.org </ mail.from.default>
joe.pentaho <mail.userid> @ gmail.com </ mail.userid>
<mail.password> senha </ mail.password>
</ Smtp-mail>
Como voc pode ver na Listagem 3-3, h uma propriedades seo que contm a
configurao para comunicao com o servidor SMTP. O mais importante
propriedades so as seguintes:
mail.smtp.host -O nome do host ou endereo IP onde o SMTP
servidor est executando.
mail.smtp.port -A porta onde o servidor SMTP est escutando. A
porta padro SMTP 25.
mail.transport.protocol -O protocolo usado para se comunicar com o
SMTP servidor. Por padro, esta smtp.
mail.smtp.starttls.enable -Por padro, false. Se verdadeiro, o STARTTLS
comando usado para mudar para uma conexo segura TLS protegido.
mail.smtp.auth -Por padro, false. Se for verdade, o comando AUTH ser
usado para autenticar o usurio. Muitos servidores SMTP exigem autenticao,
por isso deve ser normalmente configurado para true.
mail.smtp.ssl -Por padro, false. Se for verdade, uma tomada de seguro utilizado para
comunicar com o servidor.
mail.smtp.quitwait -Por padro, verdade, o que significa que o cliente ir esperar
para uma resposta QUIT comando. Se false, a conexo fechada
imediatamente aps o QUIT comando.
Fora da propriedades seo, h uma configurao de alguns parmetros
que so usados para autenticar o pedido de SMTP:
mail.from.default -Padro O e-mail do remetente. O SMTP
protocolo exige que o remetente deve ser especificado, e este endereo de e-mail
ser utilizado se nenhum endereo especificado explicitamente aquando do envio dos
e-mail.
mail.userid e mail.password -As credenciais do remetente. Esta
necessria quando o servidor SMTP requer autenticao (que o caso
quando o mail.smtp.auth propriedade verdadeira). Normalmente, o remetente do e-mail
e-mail e credenciais so associados e os servidores SMTP
requerer o endereo do remetente de e-mail para corresponder ao usurio identificado
54 Parte I Comeando com Pentaho
pelas credenciais. Embora por padro o protocolo SMTP no
exigir autenticao, na prtica, quase todos os servidores SMTP esto configurados para
us-lo.
NOTA Voc pode encontrar mais informaes sobre JavaMail e sua configurao
propriedades na documentao da API Java em http://java.sun.com/products/
javamail / javadoc / com / sun / mail / SMTP / pacote summary.html.
Secure Configuration SMTP
Mais e mais freqentemente, servidores de email exigem que voc use uma comunicao
segura
protocolo. Um exemplo bem conhecido o Google Gmail. Para enviar e-mail usando
como um servidor de email, voc vai precisar de uma configurao de e-mail um pouco
diferente: mail.smtp.port A porta-padro para SMTP seguro 465. s vezes
587 utilizado. Contacte o seu administrador para obter o nmero da porta apropriado.
mail.transport.protocol -Isso deve ser smtps ao invs de smtp.
mail.smtp.starttls.enable -Voc pode precisar definir este como verdadeiro, em vez
do que falsa.
Teste de E-mail Configurao
Para testar sua configurao de e-mail, voc pode usar o Burst Relatrio de Vendas, que
reside na seo Reportagem da soluo de BI Developer exemplos. Voc
pode encontrar indicaes sobre como trabalhar com os exemplos pr-definidos em Pentaho
Captulo 1.
Editora Senha
ferramentas de projeto Pentaho so usados para criar definies de contedo de BI, como
relatrios, cubos OLAP, e metadados. O BI arquivos de contedo que so criados por
essas ferramentas podem ser implantados manualmente, copiando os arquivos diretamente
para o
Diretrio soluo adequada no sistema de arquivos do host do Servidor Pentaho.
No entanto, a forma tpica e preferenciais para implantar contedo BI atravs de um
processo chamado publicao.
Para publicar, as ferramentas de design recorrer a um servio Web implementados pelo
Pentaho Server, que autentica o usurio, bem como verificar a sua
permisses. Quando isso for bem-sucedida, a ferramenta cliente envia os dados de contedo
para
o servidor, que armazena-la em uma posio desejada em algum local dentro do
soluo de repositrio.
Para habilitar a publicao, voc primeiro tem que definir explicitamente a senha do editor.
Esta senha deve ser fornecida para o web service, alm do usurio
credenciais ao publicar contedo de BI. H uma senha para o editor
Captulo 3 Instalao e Configurao do Servidor 55
todo o servidor, e configurado no publisher_config.xml arquivo, que
reside no pentaho-solutions/system sob o diretrio home Pentaho
diretrio. O contedo do arquivo de configurao so mostrados aqui:
<publisher-config>
<publisher-password> publicar </ senha editor->
</ Editor-config>
No exemplo anterior, a senha definida para publicar.
NOTA Por padro, nenhuma senha especificada, o que impede a concepo
ferramentas de publicar qualquer contedo para o servidor.
Tarefas administrativas
Nesta seo, descrevemos como executar tarefas administrativas comuns
utilizando o Pentaho Console Administrativo (PAC).
A Administrao Pentaho Console
O software PAC enviado no mesmo pacote como o Pentaho BI Server.
Mencionamos antes que ele reside no administrao console diretrio.
PAC implementado como um servidor Web leve baseado no Jetty. Tecnicamente,
no h razo para que PAC no poderia tambm funcionar dentro do servidor Tomcat na
qual o Pentaho BI Server baseado, s que agora possvel facilmente
separar os recursos administrativos a partir do aplicativo de BI. Por exemplo,
voc pode facilmente executar PAC em um servidor fisicamente distintos, o que pode torn-lo
mais fcil de gerenciar a segurana.
NOTA Jetty um servidor web e Java servlet container, assim como o Apache Tomcat.
A diferena importante que o Jetty fornece um mnimo muito leve
implementao que o torna especialmente adequado para inseri-la. Jetty tambm
utilizado por Pentaho Data Integration para implementar clustering.You pode encontrar mais
sobre o projeto no Jetty http://www.mortbay.org/jetty/.
Configurao bsica do PAC
Antes de usar o PAC, voc pode precisar configurar algumas coisas. Abra o
console.xml arquivo localizado na recurso / config diretrio abaixo do PAC
home. Seus contedos so os seguintes:
<? Xml version = "1.0" encoding = "UTF-8"?>
<console>
<solution-path> </ soluo de caminho>
56 Parte I Comeando com Pentaho
<war-path> </ guerra caminho>
<platform-username> joe </ username plataforma>
<biserver-status-check-period-millis>
30000
</ Biserver-status check-perodo millis>
<homepage-url> http://www.pentaho.com/console_home </ url-homepage>
<homepage-timeout-millis> 15000 </ homepage-timeout millis>
<! - Lista separada por vrgulas de papis (sem espaos) ->
<default-roles> autenticados </ default-papis>
</ Console>
Voc precisa modificar o <solution-path> e <war-path> elementos dentro
o <console> elemento a apontar para o local da soluo de repositrio
ea aplicao web Pentaho, respectivamente. Voc pode usar caminhos relativos,
assumindo assim uma posio padro como descrito na seco de instalao deste
captulo, esses elementos devem ler-se:
<solution-path> .. / biserver-ce / pentaho solues </ caminho-soluo>
<war-path> .. / biserver-ce / tomcat / webapps / pentaho </ caminho-guerra>
Iniciando e parando PAC
Iniciar e parar scripts esto localizados diretamente no interior do administrao console
diretrio. Os usurios do Windows podem comear pela execuo do PAC startup.bat; Usurios
de sistemas baseados em UNIX deve usar start.sh. Da mesma forma, os usurios do Windows
podem
uso stop.bat PAC para parar, enquanto stop.sh deve ser usado em UNIX
sistemas.
O Front End PAC
A extremidade dianteira do PAC uma pgina web. Voc pode acess-lo com qualquer
ambiente moderno
JavaScript habilitado para navegador. Por padro, o PAC atende a pedidos no porto 8099.
Por exemplo, durante a execuo do PAC na mquina local, voc pode acessar o
console, navegue at http://localhost:8099/.
Ao navegar na pgina, voc primeiro solicitado suas credenciais.
O nome de usurio padro adminEa senha padro senha. Depois
o login, voc ver uma pgina como a mostrada na Figura 3-1.
A home page do PAC oferece pouco mais do que alguns aparentemente esttico textual
informaes sobre o Pentaho Enterprise Edition. No entanto, as informaes
na home page transferido ao vivo pela internet, para que ele possa ser usado para
show up-to-date informaes.
Observe o grande boto verde na Administrao do lado esquerdo do PAC
home page. Clicando que lhe d acesso ao real console administrativo.
Captulo 3 Instalao e Configurao do Servidor 57
Figura 3-1: O Pentaho Administrao home page Console
Configurando a segurana do PAC e Poderes
Jetty apresenta sua prpria autenticao plugveis. Este separado do
Plataforma Pentaho sistema de segurana. PAC da segurana configurado atravs do
login.conf arquivo de configurao. Este arquivo define o tipo de segurana
especificando o chamado mdulo de login. Jetty navios com um nmero de padro
mdulos de login, como as propriedades de um arquivo do mdulo de login ou um login JDBC
mdulo.
O contedo padro do login.conf arquivo so os seguintes:
PropertiesFileLoginModule {
org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule necessria
debug = "true"
file = "recursos / config / login.properties";
};
Como voc pode ver, o PAC utiliza as propriedades do arquivo de mdulo de login padro
(que
implementado pelo org.mortbay.jetty.plus.jaas.spi.PropertyFile
LoginModule Java classe). Com este tipo de autenticao, os nomes de usurios e
as senhas so armazenadas em um arquivo de propriedades. Neste caso, o arquivo recurso /
58 Parte I Comeando com Pentaho
config / login.properties. O caminho relativo ao repouso e ao PAC
contedo desse arquivo mostrado aqui:
admin: 1v2j1uum1xtv1zej1zer1xtn1uvk1v1v, administrador do servidor,: OBF
administrador de contedo, admin
Se voc quiser adicionar novas entradas aqui, ou alterar a senha padro,
voc pode usar o org.mortbay.jetty.security.Password classe, que parte
do Jetty. Voc pode usar isso a partir da linha de comando, como segue:
Shell> cd / opt / pentaho / administrao console / lib /
shell jetty.jar java-cp>; org.mortbay.jetty.security.Password molhe-util.jar
java org.mortbay.jetty.security.Password [<user>] <senha> - Uso
Se a senha for?, O usurio ser solicitado a senha
NOTA Na realidade, o Jar. nomes de arquivos incluem um nmero de verso, por exemplo,
molhe-6.1.2.jar e molhe-util-6.1.9.jar. Por favor, olhe em sua recurso /
lib directrio para descobrir quais os nmeros de verso se aplicam sua distribuio.
Ento, se voc deseja alterar a senha para o usurio administrador do segredo'',''voc
pode fazer o seguinte:
Shell>
>
>
>
java \
Cp-molhe-6.1.2.jar: molhe-util-6.1.9.jar \
org.mortbay.jetty.security.Password \
segredo
Este comando gera o seguinte resultado:
segredo
OBF: 1yta1t331v8w1v9q1t331ytc
MD5: 5ebe2294ecd0e0f08eab7690d2a6ee69
Agora voc pode modificar o recurso / config / login.properties arquivo e
alterar a ocorrncia de OBF: 1v2j1uum1xtv1zej1zer1xtn1uvk1v1v para OBF: 1a
ta1t331v8w1v9q1t331ytc.
NOTA Para obter mais informaes sobre a APA de autenticao conectvel, por favor consulte o
Pentaho documentao. Voc pode encontr-lo em http://wiki.pentaho.com/
display/ServerDoc2x/Configuring + Segurana + com + Pentaho
+ Administrao + Console.
Gerenciamento de Usurio
Por padro, o Pentaho BI Server usa um sistema de autorizao simples, consistindo
de usurios, papis e permisses que so armazenados em um banco de dados relacional.
PAC
permite a criao de funes e usurios, e faa as associaes de utilizadores / papel. A
permisso real pode ser controlado a partir da utilizao Pentaho Console (isto ,
a partir do final do Pentaho BI Server). Aqui, o usurio atual pode conceder ou revogar
permisses para itens da soluo de repositrio para usurios individuais ou a
Captulo 3 Instalao e Configurao do Servidor 59
funes (conferindo, assim, a permisso para que todos os usurios que essa particular
papel atribudo).
O gerenciamento de usurios do console mostrado na Figura 3-2. Ele pode ser invocado
por
clicando na aba Usurios e Roles no topo do console de gerenciamento.
Figura 3-2: O gerenciamento de usurios do console
Se voc quiser adicionar um novo usurio, no se esquea de ativar o modo de usurio,
clicando em
o boto da barra de ferramentas do Usurio. No lado esquerdo do console, voc ver a lista
de
usurios existentes. Clique na +boto na parte superior direita da lista para abrir um dilogo
onde voc pode digitar os dados que descrevem o novo usurio (veja a Figura 3-2).
Voc pode clicar em qualquer entrada na lista de usurio para selecionar o usurio. Ao clicar
no
boto x pequeno na parte superior direita da lista de usurios ir remover o usurio
selecionado.
Alternativamente, voc pode atualizar os dados do usurio selecionado na forma a
lado esquerdo do console de gerenciamento de usurios. No fundo desta forma, h uma
lista que mostra os papis atribudos ao usurio.
Voc pode chamar o usurio atribuies / funo de dilogo clicando no +boto
na parte superior direita da lista de atribuies. Este dilogo mostrado na Figura 3-3. Voc
pode adicionar tarefas, selecionando um ou mais papis na lista Disponvel em
no lado esquerdo da janela, e clicando no >boto. Da mesma forma, voc pode
revogar papis, selecionando-os na lista e clicando no Assigned <boto.
Use o boto Atualizar na parte inferior do formulrio para confirmar quaisquer alteraes
voc fez com os dados do usurio ou as atribuies de funo.
Se voc quiser criar uma nova funo, clique no boto da barra de funes. Isso proporciona
uma interface semelhante ao mostrado na Figura 3-2, mas do outro lado: Em
Do lado esquerdo, este ecr oferece uma lista de funes em vez de uma lista de usurios e,
em vez
60 Parte I Comeando com Pentaho
de uma lista de funes atribudas, ele fornece uma lista de usurios que foram atribudos a
selecionados papel.
Figura 3-3: Atribuir funes ao usurio selecionado
NOTA A plataforma Pentaho no se limita autenticao padro e
sistema de autorizao armazenadas em um banco de dados relacional. A plataforma Pentaho torneiras
no sistema Spring Security (anteriormente conhecido como Acegi). Esta uma forma flexvel
sistema de segurana que fornece acesso a uma vasta gama de autenticao e
autorizao de back-ends, como o LDAP.
Para obter mais informaes sobre o Spring Security, veja: www.springsource.com/
produtos / springsecurity. Para obter mais informaes sobre como aplicar Primavera
conceitos de segurana a Pentaho, consulte a documentao do Pentaho em
http://wiki.pentaho.com/display/ServerDoc2x/Security.
As fontes de dados
PAC permite criar e editar fontes de dados chamado JDBC (dados JNDI
fontes). Voc pode acessar a fonte de dados clicando no console de fontes de dados
guia no topo do console de gerenciamento. A gesto de Fontes de Dados
console mostrado na Figura 3-4.
A lista de fontes de dados disponveis no lado esquerdo do console. Se voc selecionar um
item na lista, voc pode alterar suas propriedades no formulrio direita. Dados
fontes tm as seguintes propriedades:
Nome-O nome do JNDI para o fonte de dados. Isso pode ser usado na
relatrios e outros contedos de BI para se referir a este respeito.
Driver de classe-nome da classe Java que implementa o JDBC
motorista. Para o MySQL, voc pode usar com.mysql.jdbc.Driver.
Nome do utilizador-O nome do usurio do banco.
Senha de senha do usurio do banco de dados.
URL A seqncia de conexo. O formato da seqncia de conexo dependente
sobre o condutor, e voc deve consultar a documentao do condutor
descobrir qual o formato a utilizar. Para o MySQL, o formato :
jdbc: mysql: / / <hostname> [: <porta>] / <schema_name>
Captulo 3 Instalao e Configurao do Servidor 61
Figura 3-4: A gesto da fonte de dados do console
Ao usar um banco de dados local chamado wcm_dwh que escuta na porta padro,
a URL deve ser:
jdbc: mysql: / / localhost: 3306/wcm_dwh
Quando terminar de modificar as propriedades, voc pode usar o boto de teste para
confirmar a conexo est funcionando corretamente. Use o boto Update para armazenar
as modificaes.
Voc pode adicionar uma nova fonte de dados clicando no +boto que aparece na
superior direito da lista de fontes de dados. Isso abre uma janela onde voc pode editar o
fonte de dados de propriedades. Afirmar o dilogo ir adicionar a fonte de dados para o
lista do lado esquerdo do console.
NOTA Para obter mais informaes sobre como criar fontes de dados com o PAC, consulte o Pentaho
documentao em http://wiki.pentaho.com/display/ServerDoc2x/.04
Configurando + + + Data Sources.
Outras tarefas administrativas
PAC tambm permite que voc gerenciar agendas e assinaturas. Este tpico
explorados em detalhe no Captulo 14.
Resumo
Neste captulo, voc aprendeu algumas noes bsicas sobre a instalao do Servidor
Pentaho,
, configurao e administrao, incluindo as seguintes:
O diretrio de instalao preferida
Configurando uma conta de usurio separada para executar o servidor
Pentaho
62 Parte I Comeando com Pentaho
Habilitar incio automtico de e desligamento do Pentaho BI Server
Permitindo a conectividade de banco de dados de um RDBMS de escolha,
acrescentando novos
drivers JDBC
Gerenciando drivers JDBC em sistemas baseados em UNIX usando links simblicos
Configurando o sistema de bancos de dados MySQL em Pentaho
Configurando um pool de conexo C3P0 para o Hibernate
Habilitando a plataforma Pentaho para enviar e-mail com um existente SMTP
servidor.
Configurando a senha do Publisher
Configurando e iniciando o Pentaho Administration Console (PAC)
Gerenciando a autenticao bsica PAC
Gerenciando Pentaho BI Server usurios e os papis com o PAC
Gerenciando fontes de dados com o PAC
CAPTULO
4
O BI Pentaho Stack
Pentaho uma suite de business intelligence, em vez de um nico produto: ele feito
por um conjunto de programas de computador que trabalham juntos para criar e
oferecer solues de business intelligence. Alguns destes componentes fornecem
funcionalidades que so muito bsicos, como autenticao de usurio ou banco de dados
gerenciamento de conexo. Outros componentes fornecem funcionalidades que opera
a um nvel superior, como a visualizao de dados por meio de tabelas e grficos.
Frequentemente, mas nem sempre, os componentes que oferecem funcionalidades de alto
nvel confiar
em outros componentes que oferecem funcionalidade de baixo nvel. Como tal, a coleo
de programas que formam o pacote completo pode literalmente ser visto como um pilha
de componentes, cada nvel trazendo mais funcionalidade para o usurio final. A
Pentaho BI pilha mostrado na Figura 4-1, onde todos os componentes que fazem
at a soluo completa so mostrados.
Neste captulo, descrevemos os diferentes componentes, suas funes e,
se for caso disso, as relaes que existem entre eles. Na Figura 4-1, o
principais camadas da pilha esto claramente identificados, com a camada de apresentao
na
o topo ea camada de dados e integrao de aplicativos na parte inferior. A maioria das finais
os usurios iro interagir com a camada de apresentao, que pode assumir muitas formas.
Pentaho pode ser acessado por um navegador web simples, mas os componentes tambm
podem
ser incorporado em um portal existente, tais como o Liferay ou um gerenciamento de contedo
sistema, tais como Alfresco. Talvez a forma mais comum de apresentao
Pentaho envio de contedo como um arquivo PDF para Caixa de Entrada de um usurio via e-
mail.
As principais reas funcionais da pilha de relatrios de BI, anlise, dashboards
e gerenciamento de processos, constituem a camada do meio da pilha, enquanto
a plataforma de BI em si oferece recursos bsicos para a segurana e administrao.
A integrao de dados completa da pilha e necessrio para obter dados de vrias
sistemas de origem para um ambiente compartilhado de data warehouse.
63
64 Parte I Comeando com Pentaho
Pentaho Open BI Suite
Camada de Apresentao
Browser
Reportagem
Portal
Anlise
Office
Web Services
Dashboards
E-mail
Processo
Gesto
Produo
Operacional
Ad hoc
Minerao de Dados
OLAP
Broca & Explorar
Mtricas
KPIs
Alertas
Integrao
Definio
Execuo
Plataforma de Business Intelligence
Segurana
Administrao Business Logic
Repositrio
Dados e Integrao de Aplicaes
ETL Metadados EII
Aplicaes 3rd party
ERP / CRM Legado de Dados OLAP Outras Aplicaes Dados Local
Figura 4-1: Pentaho BI pilha
Em certo sentido, o diagrama no mostra apenas o BI Pentaho pilha a um nvel elevado,
mas a arquitetura de BI Pentaho tambm. Uma arquitetura define a estrutura
eo esboo de uma soluo, mas no exatamente prescrever como a estrutura
deve ser construda. No caso da Pentaho, a arquitetura define as camadas
e blocos de construo, mas no necessariamente fora a usar tudo, desde
a pilha, ou para dar um passo alm, de Pentaho. Apesar de existirem
vrias vantagens em usar software Pentaho para construir a pilha, voc est livre
para misturar em outros componentes tambm. Por exemplo, Pentaho possui duas formas de
criao de relatrios, o Ad Hoc web-based de Consulta e componente de relatrio e
o Pentaho Report Designer, mas a plataforma pode ser executado tanto Jasper e BIRT
relatrios. Mesmo no mundo Pentaho, uma infinidade de alternativas
disponveis, na maior parte iniciadas por projetos comunitrios e, posteriormente, aprovada
pelo
da empresa. Ns vamos cobrir todas as opes disponveis mas voc deve ser
ciente do fato de que novos projetos so iniciados regularmente, s vezes, cobrindo uma
Captulo 4 O BI Pentaho Stack 65
faltando parte da funcionalidade Pentaho, s vezes substituindo ou aumentando
uma parte existente da pilha. O Pentaho BI pilha , portanto, uma evoluo
entidade, como uma cidade onde os edifcios so criadas novas e as antigas so restauradas
expandida, ou substitudos em uma base contnua.
Pentaho BI Stack Perspectivas
Podemos classificar os programas que compem o Pentaho BI Suite de acordo com
uma srie de critrios. As sees seguintes oferecem diferentes lentes para a viso
os componentes da pilha.
Funcionalidade
Uma maneira de classificar os componentes do Pentaho pilha de funcionalidade.
Por funcionalidade entendemos a tarefa ou as tarefas que um determinado programa foi
projetado para executar. Do ponto de vista do usurio, a funcionalidade o que
define o objectivo do programa.
Alguns dos componentes do Pentaho BI oferecem funcionalidades tpicas, como ETL,
Relatrios e OLAP. Os componentes que fornecem essas funes tpicas de BI
condicionamento sociocultural so apoiadas por uma srie de componentes que oferecem
funcionalidade
a um nvel consideravelmente mais baixo. Juntos, esses componentes de apoio so
conhecida como a plataforma Pentaho.
As funcionalidades oferecidas pela plataforma de BI no so especficos, mas oferecer
uma infra-estrutura de software bsico. Tarefas como a autenticao de usurio e autori-
do o cateterismo, banco de dados de gerenciamento de pool de conexo, ea execuo do
previsto
tarefas fazem parte da plataforma.
Programas de servidor, o Web Client e Desktop
Outro critrio se o programa pode ser classificado como um cliente, um
servidor, ou um programa desktop. Alguns programas so facilmente reconhecidos Pentaho
como programas de servidor. Estes so tipicamente executadas em um computador central
que
acessado por clientes baseado na Web atravs de uma rede (intranet ou Internet).
Non-servidor programas da sute Pentaho pode ser melhor classificado como desktop
programas. Estes so tipicamente instalados no computador local do usurio. Estes
programas de desktop, na maioria dos casos, ser usado por designers e desenvolvedores
pedidos de emisso de um programa servidor (Pentaho), ao qual esto ligados. A
bom exemplo da diviso entre o servidor, desktop e cliente o design,
publicao e execuo de um relatrio. O Report Designer desktop usado
para criar o relatrio, que publicado ao Servidor Pentaho. O Pentaho
Server pode executar o relatrio sobre a solicitao usando o built-in Report Engine e
sada exibida atravs do Pentaho Web Portal, que serve como o cliente.
66 Parte I Comeando com Pentaho
Front-ends e back-ends
Outra forma de distinguir os programas front-end versus back-end.
programas de front-end so os programas que fornecem uma interface amigvel
que permite aos usurios humano para interagir com o programa. programas de back-end
normalmente no so projetados para suportar a interao humana direta. Ao contrrio, eles
receber comandos de alguma ferramenta de front-end que sabe como traduzir a
aes do usurio em comandos em que o back-end pode operar a
executar a tarefa real.
O aspecto front-end/back-end est relacionada, mas distinta da diferena
entre servidores, desktops e programas cliente. Apesar de desktop e do cliente
programas so programas tambm front-end, possvel implementar um
front-end como um programa de servidor. Tambm possvel implementar o back-end
como um programa desktop.
H tambm uma relao entre o aspecto ea funcionalidade
front-end/back-end aspecto: a maioria dos componentes da plataforma no tem
qualquer front-end em tudo. Em contrapartida, os programas que oferecem funcionalidades de
BI especfica
geralmente tm um claramente distinguveis front-end.
Subjacente Tecnologia
Praticamente todos os programas no Pentaho pilha so programados em Java
linguagem de programao. Alguns dos componentes do lado do servidor implementar web
aplicaes baseadas na tecnologia AJAX, mas isso ainda alcanado por um aplicativo Java
programa.
Da perspectiva do usurio final, as linguagens de programao e
tecnologia sobre a qual Pentaho construda so completamente irrelevantes. No entanto,
extremamente importante do ponto de um administrador de sistemas ou desenvolvedor de
vista.
Uma das propriedades mais notveis da plataforma Java que os programas Java
so extremamente portveis entre arquiteturas de hardware e sistemas operacionais.
Como conseqncia, Pentaho est disponvel para muitos sistemas operacionais diferentes.
Do ponto de um administrador de sistemas de viso, a gesto muito Pentaho
como gerenciar outros aplicativos Java. H algumas coisas sobre Java
pode exigir algum esforo de um administrador de sistema:
As aplicaes Java so normalmente projetados para serem compatveis com um
determinado
verso minimalista da plataforma Java, e s vezes um grande especficas
verso.
Outro problema pode ser a aplicao particular da plataforma Java.
As especificaes do Java tm sido sempre bastante aberta, e h muitos
diferentes implementaes de ambos a mquina virtual Java, bem como a
padro de bibliotecas de classe. programas Java funcionam geralmente bem quando
usar
Sun implementaes de referncia.
Captulo 4 O BI Pentaho Stack 67
Os programas Java so executados por uma mquina virtual, que geralmente um
programa nativo. s vezes necessrio ajustar a mquina virtual
parmetros para efetivamente executar o programa.
O servidor Pentaho Business Intelligence
O servidor Pentaho uma coleo de programas que trabalham juntos para fornecer
uma srie de funes essenciais do Pentaho BI Suite. Estes programas so
implementado como Java servlets. Servlets no operar de forma autnoma, mas so
executados
dentro de uma chamada servlet container, que em si um servidor HTTP (a web
servidor), ou parte dela.
Normalmente, o servlet container executado em um computador remoto centralizado,
onde ele responde a pedidos de programas clientes que esto conectados ao
servidor atravs de uma rede. O Java Servlet Technology discutido em mais
detalhe mais adiante neste captulo.
Em um nvel funcional, o servidor Pentaho pode ser dividida em trs camadas:
A plataforma
componentes de BI
A camada de apresentao
A Plataforma
A coleo de componentes conhecidos coletivamente como a plataforma oferece o
seguintes servios:
Soluo motor de repositrio e soluo
Banco de dados de gerenciamento do pool de
conexo
A autenticao do usurio e os servios de autorizao
Explorao madeireira e de servios de
auditoria
Agendamento de tarefas-
servios de e-mail
A funcionalidade oferecida por esses servios relativamente de baixo nvel e
constitui a infra-estrutura bsica da plataforma de BI. Um certo nmero de com-
ponentes nesta camada podem aparecer igualmente bem em outros tipos de aplicao
servidores.
No restante desta seo, descrevemos brevemente a funo de cada
componente.
68 Parte I Comeando com Pentaho
A soluo de repositrio e do Mecanismo de Soluo
A plataforma Pentaho BI organiza o contedo em solues de chamada. A Pentaho
soluo pode ser pensado como uma pasta de sistema de arquivo com todo o contedo de BI
para resolver
algum problema de negcios. Uma soluo Pentaho pode conter pastas e itens
chamada seqncias de ao.
As pastas servem apenas para fornecer uma organizao geral do contedo de BI.
As pastas podem conter outras pastas e seqncias de ao (AS). Seqncias de ao
so servios que podem ser invocadas para fornecer alguns contedos BI. Eles podem ser
chamado diretamente atravs da interao do usurio, ou tratada como um servio web a
partir de
outro aplicativo. A ltima propriedade permite a integrao de Pentaho com
outras aplicaes
seqncias de ao podem conter vrias etapas, algumas vezes chamado def-ao
inies. Na forma mais simples, uma sequncia de aco contm apenas um passo, para
exemplo, para executar um relatrio. A seqncia de ao um pouco mais avanada pode
consistem de um passo para levar um usurio para a entrada, e uma segunda etapa de
execuo
um relatrio, com a entrada do primeiro degrau, como valores de parmetro. Ao adicionar
mais etapas, seqncias de ao avanados podem ser construdas, por exemplo, executar
um
consulta de banco de dados para localizar todos os armazns que esto com pouco estoque,
loop
sobre os depsitos encontrados para executar um relatrio de detalhes da fotografia, e
distribuir o
sada de relatrio via e-mail aos gestores de armazm em causa.
seqncias de ao so representados usando XML e so armazenadas em texto simples
arquivos com extenso xaction.. seqncias de ao so, portanto, tambm chamado
xactions, aps a extenso do arquivo. Em princpio, voc pode cri-los com
um editor de texto simples. Algumas das ferramentas Pentaho front-end, tais como o Relatrio
Designer, pode gerar simples, seqncias de ao passo a passo. Mais avanado
seqncias de ao so as melhores criadas usando Pentaho Design Studio, ou utilizando
Eclipse com a seqncia de ao Pentaho plugin. Estes fornecem uma interface grfica
editor de seqncia de ao bem como o controle sobre a fonte de recurso XML.
seqncias de ao so executadas pelo componente da plataforma conhecida como
o soluo do motor. Sempre que algum cliente invoca uma seqncia de ao, o
motor l a definio da seqncia de ao e, em seguida, executa a sua
etapas.
Logicamente, as solues Pentaho so armazenados e mantidos na soluo
repositrio. Os aplicativos que se conectar ao servidor Pentaho pode navegar
solues e pastas, e armazenar seqncias de ao novo, um processo chamado
publicao.
Fisicamente, a soluo de repositrio podem ser armazenados como arquivos no sistema de
arquivos,
ou armazenadas em um banco de dados relacional. Para execuo de base seqncia de
ao, tanto
mtodos suficiente. No entanto, a soluo baseada em arquivo repositrio atualmente no
suporte autorizao. Assim, para um controle preciso sobre quais usurios podem acessar
quais
contedo, a soluo de repositrio precisa ser armazenado em um banco de dados.
Captulo 4 O BI Pentaho Stack 69
Database Management pool de conexo
Na maioria dos casos, os dados apresentados na aplicao de business intelligence
es so armazenadas em um banco de dados (relacional). Para acessar os dados no banco
de dados,
a aplicao precisa estabelecer uma conexo com o banco. A conexo
ento usada para enviar pedidos (queries) ao servidor de banco de dados, que envia de volta
os dados como uma resposta.
Estabelecer uma conexo com um banco de dados pode ser uma tarefa relativamente caro.
necessrio algum tempo para procurar o host do banco de dados, e algum tempo pode
ser gasto em protocolos de negociao, que autentica o usurio, ea criao de uma
sesso. Em muitos casos, a conexo necessria para executar apenas muito poucos
consultas. Por exemplo, muitos relatrios so baseados em apenas uma consulta de banco de
dados, e
nmero de consultas vai usar o mesmo banco de dados para recuperar seus dados.
Para evitar a sobrecarga de estabelecer uma nova conexo para cada consulta ou
lote de consultas, as conexes de banco de dados pode ser aberto uma vez e armazenados
em um
piscina. Sempre que um cliente precisa de uma conexo de banco de dados, uma ligao
gratuita pode ser
colhidos a partir da piscina, que serve para fazer algum trabalho, e depois lanado de volta
a piscina novamente.
Database pool de conexo tambm uma maneira fcil de limitar o nmero
de conexes simultneas de banco de dados aberto. Ao insistir que os pedidos
sempre escolher uma conexo livre de uma piscina de tamanho fixo em vez de estabelecer
uma nova ligao directa, o banco de dados podem ser protegidos para no serem inundadas
com solicitaes de conexo.
Pool de conexo JDBC comum na maioria dos servidores de aplicao Java, e
muitas implementaes diferentes esto disponveis. Pentaho no oferecer os seus prprios
conexo de execuo da piscina.
User Authentication and Authorization
A plataforma Pentaho utiliza Spring Security (anteriormente conhecido como Acegi
Sistema de segurana para a Primavera) para tratar de autenticao e autorizao.
Esta a soluo de segurana padro do framework Spring Java.
Spring Security fornece muitos componentes diferentes para implementar todos os tipos
esquemas de autenticao diferentes. Ele fornece a lgica que se mantm informado dos
se um usurio precisa ser autenticado, e pode delegar a autenticao
pedidos de um mecanismo de autenticao externa, como um servidor de banco de dados,
um diretrio LDAP, ou a autenticao NTLM em uma rede Windows.
Agendamento de tarefas
A plataforma Pentaho utiliza quartzo como componente de agendamento de tarefas. Quartzo
criado e mantido pelo projeto e liberado sob OpenSymphony
70 Parte I Comeando com Pentaho
uma licena Apache 2.0 (ver www.opensymphony.com / quartzo para o projeto detalhado
informao).
O agendador de tarefas usada para uma srie de coisas:
Peridico de execuo das tarefas de manuteno
Contexto de execuo de relatrios
Agendamento de empregos
ETL
As capacidades de programao da plataforma so abordados no Captulo 14.
Servios de e-mail
A plataforma de BI inclui a capacidade de enviar e-mail usando um padro
SMTP servidor. Um arquivo de configurao para usar uma conta do Gmail tambm est
includo.
Antes de mensagens podem ser enviadas, o servidor deve ser configurado primeiro. O con-
mail
figurao deve ser inserido no arquivo email_config.xml, Que est localizado na
o diretrio <install-path> / pentaho-solutions/system/smtp-email. A
arquivos de configurao tm excelentes comentrios in-line e deve ser simples para definir
este
para cima. Reiniciar o servidor depois de mudar o arquivo de configurao no necessrio; o
novo
inscries ser recolhido automaticamente quando os valores foram inscritos
corretamente.
BI Componentes
A plataforma constitui a base para uma srie de componentes que oferecem
funcionalidade de inteligncia empresarial tpica. Nessa camada, encontramos o seguinte
componentes:
camada de metadados
Ad hoc de relatrios de servio
motor de ETL
mecanismo de relatrio
motor OLAP
Dados do motor de minerao
A camada de metadados
A funo do Pentaho Metadata Layer (PML) proteger os usurios finais
da complexidade de SQL e bancos de dados. A PML baseado na Com-
seg Armazm especificao Metamodelo do Object Management Group
(www.omg.org / cwm) E capaz de gerar uma consulta SQL a partir de escritos no
Metadados Query Language (MQL). A consulta MQL por sua vez, criado por um
Captulo 4 O BI Pentaho Stack 71
usurio final, construindo a seleo desejada de um conjunto de objetos expostos em uma
modelo de metadados. A camada de metadados consiste em trs camadas, conforme
especificado pelo
a CWM:
Esta camada de Fsico- onde a conexo com o banco armazenado e
onde a representao fsica dos objetos de banco de dados criado.
Ao gerar SQL, esta a camada de PML, que comea finalmente
as informaes de atributo do banco de dados.
A camada de negcios camada intermediria de traduo onde tradues
atributos da base de dados tcnicos para descries mais user-friendly so
feita. Esta tambm a camada onde os relacionamentos entre tabelas e
frmulas e clculos adicionais so criados.
viso empresarial Expe- e re-organiza a camada de negcios para o final
usurios e grupos de usurios finais.
Figura 4-2 mostra uma representao grfica da descrio anterior.
CAMADA FSICA RESUMO NEGCIOS
CAMADA
NEGCIOS
VISTA
CATEGORY1
LIGAES
COLUMN1
COLUMN2
Coluna3
TABLE1
COLUMN1
COLUMN2
NEGCIOS TABLE1
COLUMN1
COLUMN2
Coluna3
CATEGORY2
COLUMN1
COLUMN2
Coluna3
CLIENTES DO LESTE
CUST_TBL
CUST_NM
CUST_ADD
CUST_NBR
CLIENTES
NOME DO LESTE
WEST NOME
ENDEREO
CUSTOMER_ID
NOME DO LESTE
ENDEREO
CUSTOMER_ID
CLIENTES WEST
WEST NOME
ENDEREO
CUSTOMER_ID
Herda RELACIONAMENTO Re-organizao do
Mesmo objeto de negcio
Figura 4-2: modelo de camadas de metadados
O lado direito do diagrama da Figura 4-2 a nica parte dos metadados
camada que visvel aos usurios finais quando eles trabalham com um dos design do
relatrio
ferramentas. As outras camadas existem para traduzir corretamente o modelo do usurio-
expostos
72 Parte I Comeando com Pentaho
objeto de volta para a consulta correta para o banco no qual a camada de metadados
opera.
Ad hoc Reporting Service
A Web Ad Hoc de Consulta e de servio do Reporting, ou WAQR, oferece aos usurios finais
uma maneira fcil de criar relatrios usando a camada de metadados. O WAQR
(''Wacker pronunciado'') um servio separado do relatrio de pleno direito
motor e capaz de criar um relatrio de lista simples agrupados. WAQR coberto em
mais detalhes no Captulo 13.
O Mecanismo de ETL
motor Pentaho ETL o cavalo de batalha para as tarefas de integrao de dados e executa
os empregos e as transformaes criados com as ferramentas Pentaho Data Integration.
O motor de ETL parte da pilha de BI, mas tambm pode ser executado em um servidor
diferente ou
mesmo vrios servidores em um modo de cluster.
Reportagem Motores
A plataforma Pentaho hospeda vrios motores de comunicao. Os motores so nativas
o motor j foi mencionado para a ferramenta de consulta ad hoc, e os JFreeReport
motor. Alm disso, os navios Pentaho com suporte para JasperReports e BIRT
j incorporados. Isto significa que a plataforma de BI Pentaho capaz de
manipulao de todos os relatrios criados para os trs cdigo aberto mais popular reporte
ferramentas.
O mecanismo de OLAP
Mondrian o motor Pentaho OLAP e traduz as consultas MDX no SQL
baseado em um modelo multidimensional. Mondrian faz muito mais do que apenas
traduzir de uma lngua para outra consulta, que tambm cuida de cache
e buffer de resultados intermdios e os anteriores para otimizar o desempenho.
Isto significa que a primeira vez que uma anlise executada em um modelo
multidimensional,
levar mais tempo do que a posterior anlise durante a mesma sesso
porque Mondrian tenta manter resultados anteriores, as hierarquias e os clculos
na memria.
Outra caracterstica notvel do Mondrian o seu modelo de segurana, que suporta
papis. As funes podem ser utilizadas para restringir os dados que acessvel por um
usurio, assim
a limitao do nmero de pontos de vista diferentes OLAP e relatrios que precisam ser
desenvolvidos.
O Mecanismo de Minerao de Dados
motor Pentaho de minerao de dados indiscutivelmente um dos mais poderosos ainda
menor
peas usadas da plataforma. realmente o Weka motor de minerao de dados que tem
Captulo 4 O BI Pentaho Stack 73
foi adotado por Pentaho que controla as tarefas de minerao de dados. constituda por um
coleo completa de algoritmos de minerao de dados, tais como os necessrios
para cluster, rvores de deciso, regresso e redes neurais. Partes do
algoritmos Weka pode ser chamado de uma chaleira transformar a permitir, por exemplo,
pontuao direta dos dados de entrada durante uma transformao Chaleira. Captulo 16
abrange as diferentes ferramentas Weka e mostra um exemplo passo-a-passo de como
Weka e Chaleira podem ser usados em conjunto para desenvolver uma transformao de
dados que
automaticamente notas de novos clientes.
A camada de apresentao
Pentaho vem com um built-in interface web chamado usurio do console. O usurio
formulrios do console um front-end que permite que um usurio humano de interagir com o
servidor.
A camada de apresentao pode ser usado para navegar e abrir o contedo existente
(Relatrios, painis, anlise), mas at certo ponto tambm pode ser usado para criar
contedo de BI novo. Figura 4-3 mostra o usurio Pentaho console onde esquerda
lado uma rvore de pasta usada para organizar o contedo que est listado no painel
inferior esquerdo. Os documentos abertos so exibidos na tela principal e usando
guias, o usurio do console pode ter vrios painis, anlise e relatrios
abertos ao mesmo tempo.
Figura 4-3: Pentaho console de usurio
Novo contedo na forma de relatrios e anlise de pontos de vista podem ser criados
usando a Web Ad Hoc de Consulta e componente Reporting (WAQR) eo
JPivot anlise de front-end. O WAQR coberto em profundidade no Captulo 13,
74 Parte I Comeando com Pentaho
eo captulo 15 contm um tratamento detalhado de JPivot e subjacente
tecnologia de Mondrian.
Subjacente a tecnologia Java Servlet
Embora o termo''O Servidor Pentaho''pode sugerir o contrrio, h
no um programa que pode legitimamente ser chamado por esse nome. Pelo contrrio,
Pentaho
fornece uma srie de programas chamados servlets que realizam alguma tarefa especfica,
um servio, para qualquer cliente que o solicite. Servlets so programas Java que fazer
no operar de forma autnoma no computador local. Em vez disso, eles so executados
dentro de
outro programa, o servlet container.
Normalmente, o servlet container ela prpria um servidor web (ou seja, um servidor
HTTP),
ou uma parte dele. O servlet container responsvel por aceitar HTTP
pedidos e encaminhamento deles para um servlet apropriado. O servlet processa ento
o pedido, e gera uma resposta adequada, que transferida para o
recipiente eventualmente percurso de volta para o cliente solicitante.
A organizao de um programa Java em um servlet container de servlets e vrios
que executam o servio real chamado A tecnologia Java Servlet. O Java Servlet
A tecnologia a padro de fato para a implementao de aplicaes web em Java.
As formas em que o servlet eo seu recipiente pode interagir so precisamente
definida pela API Java Servlet. Esta especificao para esta API foi inicialmente
criado pela Sun Microsystems, e desenvolvido pela comunidade Java
processo.
Pentaho no oferecer o seu prprio servlet container. Pelo contrrio, servlets Java pode
executados em qualquer container servlet Java, desde que ambas servlet eo recipiente
apoiar a mesma verso do Java Servlet API, que a situao usual.
A garantia de que um servlet ser executado em qualquer servlet container compatvel permite
desenvolvedores servlet para se concentrar no que sabem fazer melhor, que a adio til
funcionalidade para servidores web. Por outro lado, os criadores de software de servidor web
pode
concentrar completamente na sua tarefa sem se preocupar com qualquer mudana vai
quebrar
baseado em servlet extenses de servidor.
Atualmente, o Community Edition do servidor de BI Pentaho realmente um
Apache Tomcat servlet container com todos os servlets Pentaho pr-instalado.
No entanto, todos os servlets podem ser baixadas separadamente e instrues de instalao-
es esto disponveis para outros recipientes de servlet popular tambm, como o JBoss,
Glassfish, WebSphere, BEA WebLogic, e muitos mais.
Programas Desktop
Como apontado na introduo deste captulo, a maioria dos servidor Pentaho no
programas podem ser melhor classificadas como programas de desktop. Alguns deles s
pode
atuar como um cliente e precisa interagir com um servidor Pentaho, mas pode ser
Captulo 4 O BI Pentaho Stack 75
autnoma usado tambm. Os programas de desktop servem principalmente como ferramentas
de projeto
ou ajudas, porque a maioria da experincia do usurio final entregue em Pentaho
portal na Internet. As ferramentas de trabalho, portanto, ser usado principalmente pelos
desenvolvedores,
embora alguns, como o Report Designer, poder ser utilizado por usurios avanados.
Todos os programas de computador tm um componente de BI ou componente de servidor
para o qual
que se destinam. A Tabela 4-1 mostra as ferramentas disponveis com o seu homlogo
componentes do servidor.
Tabela 4-1: ferramentas de desktop e servidor
Ferramenta Desktop
Design Studio (PDS)
Editor de Metadados (PME)
Esquema (PPS) Workbench
Agregado Designer (PAD)
Designer de Relatrios (PRD)
Spoon (PDI)
Weka
SERVER / componentes de BI
Plataforma de BI
Metadados camada, Ad Hoc componente de relatrio
OLAP Engine
OLAP Engine
mecanismo de relatrio
motor de ETL
Data Mining Engine
Cada uma dessas ferramentas coberto em um captulo posterior, com exceo do
Pentaho Design Studio (PDS), que compe a ltima parte deste captulo.
PDS no uma ferramenta para a criao de novos contedos, mas usado para criar fluxos
de trabalho
e aes que trabalham com o contedo existente BI. PDS tambm uma outra forma
outro tipo de ferramenta, a nica parte da sute de BI que no autnomo
Programa Java, mas um plugin para um ambiente de desenvolvimento j existentes (o
Eclipse IDE). A lista a seguir um breve resumo da rea de trabalho diferentes
ferramentas e sua posio no conjunto de BI:
Pentaho Metadata Editor (PME)-Com PME, os designers podem criar meta-
camadas de dados que servem como uma camada de abstrao entre um banco de
dados relacional
e um usurio final. A camada de metadados pode levar objetos de usurio como Cus-
Nome Tomer, Pas, e Receita e traduzir essa seleo em
a instruo SQL correta necessrio para recuperar essas informaes de um
banco de dados. Mais sobre PME no Captulo 12.
Esquema Pentaho (PPS) Workbench-Este a ferramenta para a construo
esquemas multi-dimensional a ser utilizado pelo Mecanismo de Mondrian.
Pentaho Designer Agregado (PAD)-A ferramenta separada para (automaticamente)
criar tabelas agregadas que so usadas por Mondrian para melhorar a
desempenho de cubos OLAP. PSW e PAD so cobertas em profundidade
Captulo 15.
76 Parte I Comeando com Pentaho
Pentaho Report Designer (PRD)-O front-end para a construo de relatrios para
a plataforma Pentaho e, possivelmente, a nica das ferramentas de trabalho disponveis
que pode ser colocada nas mos de um usurio final conhecedor. PRD coberto
no captulo 13.
Pentaho Data Integration (PDI)-O ferramenta de desktop para a construo de postos de
trabalho ETL
e transformaes chamado Spoon. PDI contm mais do que apenas Spoon
mas esta a parte mais visvel da soluo de ETL. O PDI abordado no
Captulos 10 e 11.
Weka-A conhecidos open source soluo de minerao de dados e as nicas
ferramenta no dispor de uma abreviao de trs letras Pentaho, pois
no seja mantido pela Pentaho e no esto disponveis a partir do Pentaho regular
sites de download. Weka um projecto iniciado e mantido pela
Universidade de Waikato, na Nova Zelndia, mas foi adotado por Pentaho
como sua ferramenta padro de minerao de dados. Minerao de dados com Weka
objecto de
Captulo 16.
Todas essas ferramentas tm algumas coisas em comum: eles so escritos em Java
e ser executado em qualquer plataforma que contm uma mquina virtual Java. Eles
so fornecidos com um script de inicializao ou arquivo de lote, mas tambm pode ser
iniciado
diretamente da linha de comando com o Java-jar comando. A segunda
uniformizao importante que nenhum deles trabalha com cria ou proprietrios
formatos de arquivo. Todas as definies criadas com as ferramentas de desktop so
diferentes XML
base, assim aberto a qualquer editor e qualquer pessoa. Como conseqncia, voc no est
obrigada a utilizar uma das ferramentas de design, mas so livres para criar e / ou modificar o
Arquivos XML diretamente com um editor de texto simples. Algumas pessoas acham que
ainda mais fcil
trabalhar com os arquivos XML do que com as ferramentas da GUI.
Pentaho Enterprise Edition eo Community Edition
Pentaho oferece duas verses do Pentaho BI Suite. A principal distino
feita entre o comercial licenciada Enterprise Edition eo completo aberto
fonte do Community Edition. Esta distino tem mais a ver com o tipo
do apoio oferecido do que com diferenas de software real, mas a Enterprise
Edition (EE) oferece alguns componentes que no esto disponveis na comunidade
verso. Embora no cobrir componentes EE-especficas neste livro,
mencion-los aqui para ser completo.
Enterprise Console-A maior parte das adies EE visam
prorroga o Community Edition com a funcionalidade necessria em uma empre-
ambiente de taxas, como a configurao de segurana, os diagnsticos das aplicaes
e monitoramento de desempenho, auditoria e registro, gerenciamento de ciclo de vida-
mento (contedo migrar de desenvolvimento para testar a produo), o contedo
vencimento, e de backup / restore do Pentaho repositrio. A maioria desses
Captulo 4 O BI Pentaho Stack 77
tarefas podem ser executadas com o Enterprise Console. Isso no significa
que voc no pode fazer essas coisas com o Community Edition, mas
exigir grandes esforos para criar, por exemplo a gesto do ciclo de vida,
sem as ferramentas EE.
Extenses PDI-Pentaho Integrao de Dados EE acrescenta um Con-Empresa
exclusiva para monitoramento de desempenho, administrao remota, e alerta.
H tambm um plugin extra para minerao de dados, o KnowledgeFlow plugin.
Single Sign-On com o LDAP e AD-integrao Embora o Pentaho
Community Edition tem a sua prpria autenticao e autorizao com-
nente, no integrado com um provedor de autenticao externos, tais
como LDAP ou Active Directory. A vantagem de ter essa integrao
dupla: os usurios s precisam ser inseridos e mantidos, de vez em central
localizao, e os usurios no precisam efetuar o logon separadamente e lembre-se
outra
senha.
Dashboard Builder-A componente mais visvel da EE o Dash-
placa Builder, que permite aos usurios facilmente preencher um painel de BI com
vrios tipos de contedo, tais como grficos, relatrios e mapas. Criando-trao
placas usando a Comunidade Dashboard Framework (CDF) coberto em
Captulo 17.
Servios e suporte-In Alm de maior funcionalidade, Pentaho
Enterprise Edition fornece suporte, indenizao, manuteno de software
manuteno, e recursos tcnicos adicionais.
excepo desta lista, no h diferena entre a Comunidade e
Enterprise Edition nos produtos que compem o BI pilha. Isso significa que
praticamente no h limites para o que voc pode fazer e construir com o indivduo
ferramentas de BI, porque no h Enterprise Edition construtor do relatrio que lhe permite
fazer
mais do que voc poderia fazer com a norma comunitria Edition. Na verdade, este
o que define Pentaho para alm de muitos outros (fonte aberta, mesmo!) fornecedores.
A criao de seqncias de ao com Pentaho
Design Studio
Pentaho Design Studio (PDS) baseado no desenvolvimento integrado Eclipse
ambiente (IDE), e pode ser baixado como um completo, pronto para uso
soluo que inclui o Eclipse. Se voc j tiver uma verso do Eclipse em execuo,
PDS pode ser adicionado a um ambiente existente como um plugin. (Basicamente, o PDS s

o plugin, mas Pentaho oferece um pacote completo de trabalho por convenincia).
PDS tem um propsito a criao e manuteno seqncias de ao. Como o prprio nome
implica, uma seqncia de ao um conjunto predefinido de aes que podem ser
executados
no servidor de BI Pentaho. Execuo de uma seqncia de ao pode ser desencadeada por
uma
78 Parte I Comeando com Pentaho
ao do usurio, uma agenda, ou qualquer outro evento, incluindo uma outra seqncia de
ao.
complexidade varia de Aco seqncia de muito simples, por exemplo, executar um''
relatrio''ou''exibio na tela uma mensagem de''a bastante complexo, por exemplo,''encontrar
todos os clientes com produtos vencidos e enviar-lhes um lembrete no cliente
formato preferido (XLS, PDF, HTML) contendo uma descrio do atraso
itens.''seqncias de ao so a locomotiva real de uma soluo Pentaho e
porque eles amarram todos os outros componentes juntos a ltima parte deste captulo
orientados para explicar o que seqncias de ao so e como voc pode construir e
implant-los na plataforma Pentaho.
A partir da introduo, voc deve ter percebido que as seqncias de ao (AS)
s podem ser utilizadas para a criao de sada, de uma forma ou de outra. Embora esta seja
uma
caracterstica como importante, que apenas uma parte da histria. Um AS pode ser usado
para
muito baixo nvel de atividades do sistema, bem como, por exemplo, para definir as variveis
de sesso
o momento em que um usurio se autentica, ou para criar listas globais de parmetros que
podem ser
utilizado por outro processo ou AS. Suponha, por exemplo, que pretende restringir
acesso aos seus dados com base no usurio que est entrando, e suponha que cada
usurio permitido somente a visualizao de dados a partir de seu prprio departamento,
regio,
ou qualquer outro critrio que voc pode pensar. Com um sistema AS, voc pode definir o
nome do departamento que pertence ao usurio conectado e usar este nome noutros
seqncias de ao como um parmetro para filtrar os dados por diante. Est fora do mbito
de aplicao
este livro para explicar Ases do sistema, mas voc pode encontrar um instrues detalhadas
sobre
Wiki Pentaho em http://wiki.pentaho.com/display/ServerDoc2x/Using+
Sistema + Aes + para + Control + + Acesso a Dados.
Pentaho Design Studio (Eclipse) Primer
PDS , como j explicamos, um plugin para o componente escrito extensamente
utilizados Eclipse IDE. Embora no possamos oferecer um Eclipse tutorial completo aqui
podemos cobrir o bsico para voc comear com o PDS para poder criar a sua
prprias solues. Para o restante deste captulo, usaremos os exemplos PCI
eo banco de dados de Ao Rodas, mais tarde, no livro, usaremos o Mundo
Classe de banco de dados de filmes para mostrar um pouco do poder de xactions combinado
com
relatrios e dashboards.
Instalao e configurao do Eclipse e do PDS so abordados no Captulo 3.
Para os exemplos neste captulo, vamos supor que voc tenha um trabalho Pentaho
Sistema com os exemplos prontos na mo. Quando voc inicia o Eclipse / PDS, o
Eclipse tela de boas vindas exibida ea opo de plataforma de BI aparece em
no menu superior. A Plataforma de BI menu tem apenas uma subopo: Nova Ao
Seqncia.
Os componentes bsicos do Eclipse e uma terminologia que voc precisa para comear
resumem-se ao seguinte:
Workspace-Este o recipiente mais alto nvel das solues que
vai criar, um espao de trabalho usado para manter uma coleo de projetos Eclipse
Captulo 4 O BI Pentaho Stack 79
logicamente agrupados. Voc pode ter apenas um espao de trabalho aberto a uma
tempo, e para a maioria das implementaes Pentaho, usando um nico espao de
trabalho
vai fazer tudo certo. O espao de trabalho (o padro) deve ser definido quando
iniciar o Eclipse, aps esse primeiro tempo, o espao de trabalho padro aberto
automaticamente cada vez que voc iniciar o programa.
Projeto-O coleo de arquivos e pastas que, juntos, compem uma
soluo. Os projetos podem ser criados dentro do espao de trabalho (que uma pasta
em seu sistema), mas que no obrigatrio. A Figura 4-4 mostra um recm-
projeto criado chamado My Pentaho. Para a pasta do projeto, j existente
pasta Pentaho solues selecionado. Agora fcil de abrir e modificar
xactions existentes, como o exemplo de relatrio de ruptura, que aberto na
screenshot.
Figura 4-4: Pentaho Design Studio com o editor de seqncia de ao
Ver-In Eclipse, uma vista uma janela dentro do IDE, que apresenta algumas
contedos especficos, tais como a estrutura do projeto, fontes de dados ou um aplicativo
Java
pacote explorador. A imagem na Figura 4-4 mostra o padro de projeto
Explorer ponto de vista sobre o lado esquerdo. Eclipse contm uma coleo enorme de
outros
vistas, bem, eles podem ser abertos atravs do menu Window Vista Show
ou usando o pequeno cone de Visualizao Rpida no canto inferior esquerdo da tela
(O pequeno cone azul e branco com o sinal de expoente pouco mais).
Editor-Este onde voc realmente escrever o cdigo, ou, no caso de utilizao
PDS, definir sequncias de ao. O editor de ao Pentaho mostrado
na Figura 4-4. Para iniciar o editor, basta clicar duas vezes sobre uma das existentes
xactions amostra ou criar um vazio, selecionando a Ao Novo
Seqncia de opo no menu plataforma de BI.
80 Parte I Comeando com Pentaho
Perspectiva-Provavelmente o recurso mais poderoso do Eclipse a capacidade
mudar completamente o seu comportamento e as opes disponveis, alterando
a um diferente perspectiva. Uma perspectiva transforma o objectivo geral
Eclipse IDE em uma ferramenta concebida especificamente para uma determinada
tarefa. Quando voc
desenvolver cdigo Java, voc vai usar a perspectiva Java para ter o built-in
editores, depuradores, esboo de um cdigo, e assim por diante a sua disposio.
Quando voc
desenvolver relatrios BIRT, voc vai usar o relatrio de perspectivas de Design, que
de repente se transforma em um ambiente Eclipse comunicao poderoso. Para
trabalhar com PDS, a perspectiva de recursos simples far a multa justa.
Outras perspectivas so abertas, selecionando a opo Open Perspective
a partir do menu Window.
Para obter mais informaes sobre como trabalhar com o Eclipse, visite o site do projeto
em www.eclipse.org.
O Editor de Seqncia de Ao
Antes que voc possa criar uma seqncia de ao, voc precisar definir um projeto para
colocar
seu novo arquivo dentro Para criar um projeto, selecione File New Project. Eclipse agora
inicia o novo Assistente de Projeto, solicitando o tipo de projeto para criar. Para o
plataforma de BI, basta selecionar Project na guia Geral. Voc precisa dar o
projeto um nome (qualquer nome serve; usamos Meu Pentaho, por exemplo) e
selecionar um local para seu novo projeto. Voc vai perceber que o local padro do
um novo projeto o espao de trabalho aberto, mas voc pode selecionar qualquer outro local
como
tambm. Quando voc seleciona uma pasta existente (por exemplo, o Pentaho solues
pasta do servidor de BI), o contedo dessa pasta ser exibido na
Explorador de projeto, logo que voc clique em Concluir. Voc pode criar uma nova ao
Seqncia de vrias maneiras:
Use a nova seqncia de ao do item no menu de plataforma de BI. Isso vai
criar um novo arquivo xaction vazio, mas voc ter que definir o local
para o arquivo (o recipiente) em primeiro lugar.
Boto direito do mouse em uma pasta existente no Project Explorer e selecione Novo
Seqncia de Ao a partir do menu plataforma de BI. Observe que o recipiente
Agora automaticamente preenchidos
Use a nova seqncia de ao Assistente no menu do cone de atalho.
(A dica para o cone exibido na Figura 4-4). Novamente, o local
(Recipiente) deve ser selecionado.
Nos trs casos, a seqncia de ao Wizard abre para que voc pode inserir um
nome para a nova seqncia de ao e selecionar um modelo para ajudar voc a comear a
saltar-
construo de uma seqncia de ao nova. Modelos predefinir entradas e aes para
a tarefas especficas, tais como uma viso nova anlise ou uma ao de ruptura.
O editor xaction composto por quatro painis ou guias, que voc pode ver ao longo
na parte inferior da tela. Uma parte importante da guia Geral, apresentado na
Captulo 4 O BI Pentaho Stack 81
Figura 4-5, o ttulo, que ser exibido no console do usurio. Voc pode
tambm encontrar o cone que vai acompanhar o ttulo de aco no navegador, o
Verso, o nvel de log, eo Autor na guia Geral. O Visible
esconde a caixa de seleo xaction do usurio do console quando selecionado, o que faz
possvel a criao de''''xactions ajudante que no so visveis aos usurios finais.
Figura 4-5: Ao editor seqncia, guia Geral
O guia Definir processo mostrado na Figura 4-6 o editor real onde voc
pode adicionar entradas, aes e realizaes. Para verificar o cdigo XML gerado, voc
pode abrir a aba Fonte de XML, o que algumas pessoas dizem a ao real
editor. O guia de teste no final permite que voc execute a ao diretamente do Design
Studio, embora o servidor Pentaho utilizado para a execuo do cdigo.
Antes de comear a construir novas sequncias de ao, uma boa idia para testar se
voc pode executar aes na tela de teste. A maneira mais fcil de fazer isso abrir
o HelloWorld.xaction arquivo, que est localizado na pasta bi-developers
obtendo-iniciado. Na Definir Processo guia mostrado na Figura 4-6, um processo
ao definida.
Quando voc clica sobre isso, a ao do processo Ol Mundo exibido, que
tem apenas dois campos: o nome ea mensagem da aco. Agora voc pode alterar
a mensagem para algo como Ele est trabalhando! Caso contrrio, o padro string%
mensagem ser exibida. Aps salvar as mudanas que voc pode passar para o teste
guia de verificar se a plataforma est funcionando.
NOTA Um servidor Pentaho deve ser iniciado antes de executar um teste de PDS, caso contrrio,
nada vai acontecer.
82 Parte I Comeando com Pentaho
Figura 4-6: O guia Definir Processo
Existem dois campos de texto na guia Test, conforme mostrado na Figura 4-7, uma para
digitar a URL do servidor, e um para a URL gerada, o que inclui a
xaction chamada. Se voc tiver a instalao padro do Pentaho em execuo no seu local
computador, o URL do servidor Pentaho localhost: 8080/pentaho. Quando voc
entrar neste servidor e prima de teste, a tela de login aparece Pentaho. Primeiro registo
em e atualizar o cache de repositrio, selecionando Ferramentas Refresh Repositrio
Cache (caso contrrio, o xaction existente com o texto padro ser exibido).
Clique em Gerar URL e pressione o boto Executar, direita do
Gerao de URL. Voc dever ver o resultado apresentado na Figura 4-7.
Figura 4-7: Ol Mundo executado
Agora que cobrimos o bsico do Eclipse e seqncias de ao
Editor, hora de comear algum trabalho real feito o uso dessas ferramentas.
Captulo 4 O BI Pentaho Stack 83
Anatomia de uma seqncia de ao
seqncias de ao (Ases), todos tm uma estrutura semelhante, que consiste no seguinte
quatro blocos de construo:
Entradas
Recursos
Aes
Sadas
Quando voc abre o Processo de Definio guia do editor como voc vai notar
que parece que s existem trs blocos que precisam ser definidos: Processo
Entradas, Aes de Processos, e sadas do processo. Este o lugar onde h uma ligeira
diferena entre o designer e os arquivos XML criados, os arquivos XML fazer
uma distino entre insumos e recursos, enquanto o designer trata tanto
como tipos de entrada diferentes. A lgica por trs disso que voc raramente precisar
adicionar manualmente os recursos a si mesmo, porque eles vo ser geridos por PDS. Se,
por exemplo, voc adicionar uma ao de relatrio, o local do arquivo adicionado como um
recurso
automaticamente.
Entradas
Processo de insumos para as seqncias de ao so os parmetros que podem ser
utilizados
em aes processo. A forma mais simples de uma entrada um parmetro codificado.
Cada entrada do processo deve ter pelo menos um nome e um tipo (string, inteiro, e
assim por diante) que pode ser dado um valor padro, por exemplo, uma seqncia de texto
que pode
ser passada para a aco Ol Mundo para mostrar. Um AS pode ler os parmetros
a partir de fontes diferentes, tornando possvel para passar informaes a partir do exterior
o como a um processo de produo. As seguintes fontes de entrada esto disponveis:
Pedir-Estes so pares nome-valor que pode ser lido diretamente
URL. Usando o mesmo exemplo Ol Mundo, voc pode adicionar uma entrada
nomeado RequestText do tipo string, E adicionar um novo duas palavras com
uma origem pedido. O nome padro dado pelo fonte de entrada o
mesmo que para a entrada do processo em si, mas que pode ser mudado. O processo
de
nome da entrada a referncia de parmetro interno; o nome da fonte de entrada
a referncia externa. Figura 4-8 mostra um exemplo disso. Usando este
exemplo, voc pode agora selecionar o Ol Mundo ao do processo e selecione o
<RequestText> parmetro da Mensagem drop-down list. Quando voc
agora salve o AS, atualizar o cache de repositrio e adicione o texto & Req = Este
muito divertido! para a URL, o texto Ol Mundo. Esta uma grande diverso!
ser exibido. Note que neste caso, o AS no precisa ser alterada
e salvou mais para mostrar uma nova sada. Voc pode tentar isso inserindo um
texto diferente, aps req = e pressionando Execute novamente.
84 Parte I Comeando com Pentaho
Figura 4-8: Pedido de fonte de entrada
Estes sesso de so variveis que vivem para a durao da sesso do usurio.
Curiosamente, sesso global, variveis e tempo de execuo pode ser definido atravs
de um
ao do sistema que por sua vez, criado com PDS. H tambm um casal
de variveis de sesso padro que pode ser acessado, com o nome de usurio
do utilizador actual o mais freqentemente usado um. Isso pode ser testado
utilizando os mesmos Ol xaction Mundial pela mudana da fonte de entrada do
RequestText entrada do processo para sesso E o nome do de nome. Depois de salvar
AS e execut-lo, ele deve agora mostrar Ol Mundo. <username>,
onde <username> o nome usado para fazer logon no servidor Pentaho.
Global-Similar das variveis de sesso, mas estes tm um alcance global, que
significa que os valores dessas variveis so as mesmas para todos os usurios
o servidor de BI. A vida til de uma varivel global est vinculada aplicao,
o que significa que enquanto o aplicativo executado (o servidor de BI at), O
variveis podem ser acessados.
Tempo de execuo global variveis, mas sua vida infinita, significando que
quando voc desligar o servidor de BI (no a mquina, mas o aplicativo!)
a varivel tempo de execuo permanece na memria. Porque isto de alguma forma
limita o
controle voc tem sobre essas variveis, melhor usar variveis globais
em vez disso.
Segurana Ativa a recuperao da segurana (sesso) variveis. O follow-
parmetros podem ser obtidas gratuitamente (note que esses nomes so case-
sensitive!):
PrincipalName (string) -O nome do momento autenticado
usurio. Semelhante varivel de sesso nome.
PrincipalRoles (lista de strings) -As funes que actualmente autn-
sas sofisticadas usurio membro.
Captulo 4 O BI Pentaho Stack 85
PrincipalAuthenticated (string) -verdade se o usurio autenticado,
caso contrrio falsa.
PrincipalAdministrator (string) -verdade se o usurio autenticado
Administrador, caso contrrio falsa.
systemRoleNames (lista de strings) -Todas as funes conhecidas no sistema.
Manusear com cuidado, porque essa lista pode se tornar bastante
grande.
systemUserNames (lista de strings) -Todos os utilizadores conhecidos no sistema.
Manusear com cuidado, porque essa lista pode se tornar bastante
grande.
Sadas
As sadas so o que uma seqncia de aes pode passar para o mundo exterior, que
poderiam ser seqncias de ao de outros tambm. Eles podem ter aproximadamente o
mesmo
Destinos como uma entrada pode ter origens, mas h algumas diferenas.
Ao invs de um pedido, uma sada pode passar uma resposta. Sadas tambm pode salvar
em um
arquivo ou ftp-vfs.
Aes
Processo de Aes vm em todos os tipos e tamanhos. H aes para recuperar dados,
criar ou abrir relatrios e grficos, programar tarefas, executar fluxos de trabalho ou de dados
trabalhos de integrao, e para enviar a sada para e-mail ou uma impressora. Embora no
possamos
abranger todas as aes disponveis e combinaes de aes, daremos alguns
exemplos para ajud-lo em seu caminho para a construo de suas seqncias de ao
prpria.
Lembre-se que os captulos 14 e 17 contm exemplos adicionais de Ases, mais
especificamente para o relatrio de ruptura e dashboards.
Um conjunto de aes processo ser executado na ordem em que eles
esto listados na tela. Ao selecionar uma ao e usando o para cima e para baixo
flechas, a ordem de execuo pode ser alterado. Este no o nico controle disponvel
aqui, h duas opes sua disposio para ramificao (se) E looping (loop)
aes. Combinado com o / Secure alerta Ao de filtro com o qual um usurio
podem ser feitas para a entrada, estas opes permitem a lgica de execuo bastante
complexa.
Basicamente, existem dois tipos de xactions: aquelas que os usurios vero no
pastas que possam acessar e pode ser executado sob demanda, clicando sobre eles, e
os que sero programados e executados em segundo plano. Um bom exemplo
do ltimo relatrio de ruptura, que gera contedo personalizado para cada
usurio ou grupo de usurios. Mas porque um AS pode comear outro (por adio de um
Pentaho BI processo na lista de ao do processo), as possibilidades so praticamente
ilimitadas.
ATENO Tenha cuidado ao chamar um xaction de um outro; excluir o
''Filho''processo no est impedida de modo que voc pode facilmente quebrar o processo principal.
86 Parte I Comeando com Pentaho
Poderamos tomar a amostra de modelo de ao de ruptura e explicar como isso funciona,
mas apreender o verdadeiro poder de PDS melhor realizado, iniciando com uma
seqncia de ao vazia e estend-lo passo a passo. Primeiro, vamos explicar o que
que deseja realizar:
1. Criar uma lista de gestores com seus nomes, localidades e endereos de e-mail
do banco de dados da amostra.
2. Loop atravs desta lista e envie um e-mail com o oramento regio, receita
varincia e para os gestores respectiva regio.
3. Quando o lao se encontra com o gerente da regio central ", envi-lo
uma viso geral adicional da receita total para todas as regies.
Este exemplo usa muitos dos recursos disponveis e um excelente
Introduo Se voc quer construir seu seqncias de ao prpria. Os seguintes
etapas orient-lo atravs do exemplo.
1. Primeiro, crie um novo vazio AS selecionando a seqncia de ao Wizard.
Selecione um continer, um modelo em branco e digite um nome de arquivo. Esta
mostrado na Figura 4-9.
Figura 4-9: Criar uma nova seqncia de ao
2. Na guia Geral, digite o ttulo (obrigatrio) e outros campos (opcional).
3. Agora, v para a segunda guia para definir o processo. Primeiro, voc precisa
definir onde o e-mail est vindo, ento crie uma entrada de um novo processo.
Nome do parmetro de entrada a partir de e fazer certo a origem do pedido est
removido da fonte de entrada.
4. Agora voc pode adicionar a sua aco primeiro processo para recuperar a lista de
dados. Adicionar
um novo processo de ao e escolha Obter dados FromRelational. Esta
Captulo 4 O BI Pentaho Stack 87
provavelmente a ao do processo mais utilizado para que explicar isso em
um pouco mais detalhadamente:
a. O nome da ao exibido na lista Ao. Processo e
deve refletir a funo da ao. Neste caso, um nome como
GetManagerInfo vai fazer bem.
b. Para ser capaz de recuperar dados de um banco de dados, uma conexo
necessria.
Aqui voc pode usar o tipo de JNDI simples com o nome SampleData
(Voc precisa digitar isto, no est disponvel na lista drop-down).
Alm disso, o conjunto de resultados tipo deve ser definido como na memria.
c. A prpria consulta recupera os dados. Para este exemplo, usaremos
a consulta Regio distinta seleo, MANAGER_NAME, e-mail de
DEPARTMENT_MANAGERS. Esta consulta dever ser executado imediatamente.
d. Finalmente, o resultado Name Set deve ser inserido, este o nome pelo
qual a lista ser referenciado mais tarde, por isso use um nome significativo,
novamente,
como o LoopList nome que usamos. Como as colunas de consulta so
no so automaticamente traduzidas para variveis referencivel, o resultado
Conjunto Colunas precisa ser inserido explicitamente. Neste caso, voc adiciona o
colunas REGIO,MANAGER_NAMEE EMAIL, Todos do tipo string.
5. Observe que o GetManagerInfo ao agora contm quatro sadas de aco:
os trs nomes de coluna mais o nome do conjunto de resultados. Agora que voc
adicione
um loop para ser capaz de lidar com todas as linhas do conjunto de resultados em
seqncia.
The Loop Na lista drop-down contm apenas uma opo, o LoopList.
Aps escolher esta, voc pode continuar adicionando as aes internas para
do loop.
6. Com o Loop Ao selecionada, adicione uma outra ao Relacional. Um pop-up
tela vai perguntar se a ao deve ser criado dentro ou aps o
ao selecionada, voc precisa adicion-lo dentro do loop. Nome essa ao
GetResults, Use a conexo JNDI mesmo, e digite o seguinte
consulta:
SELECT
DA
ONDE
SUM (real) SUM, REAIS (ORAMENTO) ORAMENTO, SUM VARINCIA (variao)
QUADRANT_ACTUALS
REGIO = '{regio}'
Note que usamos {Regio}, Que uma referncia ao nome da regio de
a iterao atual do loop. Existem quatro regies para essa consulta
ser executada quatro vezes.
ATENO Todos os apelidos e nomes de coluna do conjunto de resultados (parmetros) em um
Relacional
ao deve ser no mesmo processo ou Pentaho ir gerar uma mensagem de erro.
88 Parte I Comeando com Pentaho
7. Antes de criar o prprio e-mail, voc precisa dar alguns passos.
Primeiro, adicione o resultado as colunas com a segunda ao relacional se
no tenham feito isso ainda.
8. Agora note que, mesmo que este conjunto de resultados recupera apenas uma nica
linha, voc ainda
necessidade de adicionar outro circuito PDS, porque no pode saber que voc
recuperou
apenas uma nica linha. Este segundo ciclo, claro, execute apenas uma vez
para cada iterao do lao externo. Dentro deste loop interno, necessrio
para preparar o texto do assunto e uma mensagem utilizando um Modelo de Mensagem.
Dentro dessa ao, uma mistura de texto fixo e os parmetros podem ser utilizados,
resultando em um texto gerado dinamicamente.
Acrescentar uma mensagem modelo eo nome deste FormatSubject. Use o texto como
fonte do template e insira Resultados para a regio {regio} como texto. A
nome de sada o nome pelo qual este texto pode ser reconhecido na
seguintes aes, por isso vamos usar MailSubject aqui.
9. Agora adicione outra mensagem modelo. Chame esse um FormatTextE uso
MailText como o nome de sada. O texto que voc digitar aqui o e-mail completo
corpo do texto, incluindo os parmetros dos resultados recuperados, o que pode
ser observado na Figura 4-10.
10. Finalmente, voc pode adicionar uma ao de e-mail, que pode ser encontrado sob a
Enviar
Para aes. Nome este Enviar e-mail Regio e usar o <from> string
parmetro de entrada que voc criou em primeiro lugar no campo. Em um cenrio da
vida real,
voc usaria o <EMAIL> parmetro no campo, mas porque estes
so endereos falsos, neste caso, use seu endereo de e-mail prprio ou selecione
o <from> parmetro se voc digitou o endereo de e-mail prprio l. Em
o campo Assunto, selecione <MailSubject> e no texto da mensagem, selecione
<MailText>. Agora, a ao pode ser salvo e executado. Se tudo foi
digitado corretamente, voc deve receber quatro e-mails com resultados diferentes.
11. Para completar o cenrio, voc precisar adicionar algumas etapas extra. Em primeiro
lugar,
adicionar um Se declarao para verificar se a regio Central. A condio para
add (REGIO == 'Central') mostrado na Figura 4-10. Depois, voc pode adicionar o
GetTotals Relacional ao para recuperar os resultados gerais. E, assim como
adicionado um loop de aco para a regio de resultados, voc adiciona um outro ciclo
aqui tambm com um modelo de mensagem separada e-mail mensagens. A
fluxo de concluso exibida na Figura 4-10. A imagem tambm mostra
que o Se instruo utiliza os operadores de comparao Java estilo == para
igualdade e ! = para a igualdade no.
DICA Voc pode criar e adicionar suas seqncias de ao prpria como modelos para o projeto
Studio salvando o arquivo *. xaction para o diretrio do PDS modelo. Ele est localizado na
<eclipse instalar o diretrio / plugins / org.pentaho.designstudio
. Number> <version editors.actionsequence / templates.
Captulo 4 O BI Pentaho Stack 89
Figura 4-10: Terminado o fluxo de trabalho
Resumo
Este captulo oferece uma viso panormica completa do Pentaho BI pilha e
todos os componentes constituintes. Os tpicos abordados neste captulo, incluiu a
seguinte:
A natureza aberta da plataforma, permitindo que as ferramentas no Pentaho ser
integrada
programas de servidor, cliente e desktop para ser utilizado por designers, adminis-
tradores e usurios finais
A arquitetura de servidor Java servlet baseado em plataforma
O Community Edition da Pentaho e os recursos extras do
Enterprise Edition
Uma viso geral da e introduo ao Eclipse e do Projeto Pentaho
Studio
A parte final do captulo consistiu em um passo-a-passo para a criao de
um relatrio de ruptura seqncia de ao.
Parte
II
Dimensional e Modelagem
Data Warehouse Design
Nesta parte
Captulo
Captulo
Captulo
Captulo
5: Exemplo de caso de negcio: Filmes de Classe Mundial
6: Data Warehouse Primer
7: Modelagem de Negcios Usando esquemas Star
8: O Data Mart Processo de Projeto
CAPTULO
5
Business Case Exemplo:
Filmes Classe Mundial
Os exemplos no restante deste livro so baseadas em uma empresa fictcia
chamado World Class Filmes (WCM). WCM uma oferta firme de varejo em linha
tanto as vendas e aluguis de filme; esta combinao define a empresa alm de
varejistas online como a Amazon, que apenas vender itens, e empresas como
Netflix, onde os filmes podem ser alugados ou vistos on-line.
Por que ns escolhemos uma loja de filmes online? mais Primeiro, um exemplo que
as pessoas podem facilmente relacionar-se: ns amamos filmes, lemos sobre os novos filmes,
que se-
baixo''notcia''sobre os atores que a estrela no cinema, assistir filme e reviso
programas na televiso. E, claro, todos ns estamos familiarizados com todos os pedidos
os tipos de coisas fora da web. Em segundo lugar, a vantagem tcnica de usar um retalho
online
Exemplo disso que todas as transaes podem ser ligados a um cliente chamado ou
identificado,
para que possamos evitar os desafios apresentados por ponto de venda comum vendendo
itens
a clientes annimos. Finalmente, uma quantidade razovel de dados necessria para ilus-
tram alguns dos conceitos relacionados ao armazenamento de dados, business intelligence
e anlises. Isso significa que precisamos de muitos clientes, muitos individuais pro-
dutos, e um lote de transaes, o que coincide maravilhosamente com os escolhidos
exemplo.
NOTA Um exemplo como este nunca pode cobrir todos os meandros de uma empresa real
ou organizao, para estar preparado para correr em diversos outros tipos de servios e
processos de negcios no mundo real. Departamentos como finanas, produo,
controle de qualidade, TI, RH e todos tm os seus prprios processos de negcios e de apoio
sistemas e interagir uns com os outros e com o mundo exterior em seus prprios
maneiras particulares. Tambm esteja preparado para encontrar processos especficos da indstria, tais
como
processamento de sinistros (seguros), ambiental, sade e prticas de segurana
(Indstria qumica), ou gerenciamento de risco (bancrio), cada um apresentando seus prprios
93
94 Parte II Dimensional Modelagem e Design de Data Warehouse
desafios quando se trata de processo e modelagem de dados e informaes
de gesto.
Filmes Classe Mundial: O Bsico
World Class Filmes comeou a vender e alugar DVDs on-line em abril de 2000 e
tem mostrado um crescimento constante desde ento.
O modelo de negcio WCM inclui dois processos totalmente integrados: cus-
atendimento de pedidos tomer e reposio de estoque, como evidente a partir do seguinte
descrio do negcio do WCM.
Um cliente pode encomendar um DVD a partir de um catlogo na web WCM e v-lo
sempre que ele gosta. Se o DVD for devolvido dentro de um determinado perodo de tempo,
considerado um''''transao de aluguel, que, se o DVD mantido ou no
voltou no tempo, considerado um''comprar''transao. A chave para o modelo
reside no fato de que o DVD inicialmente pago como se fosse comprado,
e ao retornar o filme no tempo, a diferena entre as vendas e
preo do aluguer adicionado ao saldo da conta do cliente para encomendas posteriores.
Os clientes so obrigados a tornarem-se membros e pagar uma taxa de entrada antes de
esto autorizados a pedir um filme. Se um cliente devolve um DVD depois do aluguel
perodo, o filme j est marcado como uma compra, mas o item adquirido
est novamente em um armazm WCM e precisa ser enviado de volta para o cliente.
Neste caso, a taxa de entrada usado para cobrir o transporte extra e manipulao
despesas.
Para estimular os clientes a comprar / alugar mais produtos, WCM usos diversos
tipos de promoes.
WCM opera diferentes sites dirigidos a diferentes grupos de clientes
de modo que uma variedade mais refinada pode ser oferecido para cada segmento de
mercado,
embora os clientes podem adquirir produtos atravs de mltiplos canais:
Filmes Classe Mundial Portal-Este o site principal da empresa, com um
ampla oferta de filmes de sucesso e favoritos de todos os tempos, excluindo as ltimas
lanamentos dos grandes estdios.
WCM Premium Premium um site de alto nvel onde os clientes so
cobrar, mas so a garantia de receber um novo shrinkwrapped
DVD. O site contm apenas os filmes mais recentes e os maiores blocos
busters.
WCM-O Outlet Outlet o local de negcio, onde os clientes podem obter
''Filmes''utilizado que poderia ter sido arrendado vrias vezes, mas j
esto disponveis com um desconto.
Captulo 5 Exemplo de caso de negcio: Filmes de Classe Mundial 95
WCM Cool-Este site destinado a um pblico mais jovem e mais na moda.
WCM Exclusive-A site exclusivo oferece edies especiais e importados
itens.
Esta diviso em mltiplos canais, cada um com seu pblico alvo e
planos de preos, permite WCM para manter seu estoque movendo rapidamente.
O back office do negcio consiste em uma srie de armazns espalhados
todo o pas. Quando uma ordem do cliente colocado, os itens so ordenados
enviados a partir do prximo depsito para minimizar o custo de distribuio e transporte
tempos. WCM comeou com um nico armazm, mas, porque o negcio
tem crescido ao longo dos anos, foi considerado mais econmico para adicionar
vrios pontos de distribuio.
A sede da empresa ainda esto localizados no mesmo local que o
Armazm da Califrnia, onde comeou WCM. Todas as ordens de compra colocadas
nas distribuidoras diferentes oriundos desta sede, onde cada ordem
especifica o depsito das mercadorias devem ser entregues.
Os dois principais processos de negcios para a empresa podem ser resumidas como
seguinte forma:
Cliente de atendimento de pedidos lida com pedidos de clientes individuais e
navios / recebe DVDs de e para armazns diferentes.
Reposio de Estoque abrange centralizada e descentralizada ordenao
recebimento de mercadorias em armazns diferentes.
E, claro, para tornar a empresa realmente fazer alguma coisa, as pessoas esto
necessrios, bem como, para que os funcionrios e descries concluir a ronda de
a descrio do negcio de alto nvel.
O fluxo de encomendas e produtos entre os distribuidores, WCM, e os clientes
ilustrada na Figura 5-1.
Os dados WCM
Sempre que voc embarcar em um projeto de business intelligence, imperativo que
voc compreender a origem ea natureza dos dados que sero utilizados na
data warehouse. Sem esse conhecimento, quase impossvel de se conceber e
construir um sistema que ir suportar o negcio em anlise e elaborao de relatrios sobre
os dados para melhorar o desempenho empresarial.
World Class Filmes usa dois bancos de dados para suporte s suas atividades, uma para o
operao de back-office (gesto de armazm, compras, RH) e um
para os diversos sites (cadastro de clientes, vendas). gesto do produto
vinculadas aos processos e WCM faz uma abordagem interessante para isso. Em vez
96 Parte II Dimensional Modelagem e Design de Data Warehouse
de ter os empregados inserir manualmente as informaes sobre cada produto, o
a empresa oferece, WCM usa uma alimentao de dados externos para o produto da empresa
catlogo. A nica coisa que WCM adiciona a esses dados seu prprio produto interno
IDs para vincular as informaes nos sistemas internos para os dados do exterior
fonte. Alm do catlogo do filme, que contm detalhes sobre cada pea
de inventrio, WCM usa o ISO 639 e 3.166 mesas para o cdigo eo nome do
idioma, pas e estado (regio).
Cliente
224 5
Venda
Online
Carto de Crdito
Ordem
Entrega
DVD
DVD
Retorno de arrendamento
Transferncia
DVD
Mundo
Classe
Filmes
DVD
Servidor
Armazns
Sede
Ordem de Compra
Distribuidores
Transferncia
DVD
DVD
DVD
Figura 5-1: fluxos do processo principal no World Class Filmes
Captulo 5 Exemplo de caso de negcio: Filmes de Classe Mundial 97
ISO: International Organization for Standardization
ISO define e gerencia as normas em uma grande variedade de temas, a maioria
nomeadamente a famlia ISO 9000 de normas de gesto da qualidade. Mais de 17 mil
padres internacionais tm sido desenvolvidos at agora e mais de 1.100
so adicionados a cada ano. Entre os padres mais conhecidos so: ISO 9660,
que define o formato de arquivo ISO de imagem que usado para gravar CDs e
DVDs e ISO 12232:2006, que define a velocidade do filme em digital
cmeras. A maior vantagem de usar um padro para dados tais valores
como datas ou nomes de pases a conformidade das menes entre os vrios
sistemas, o que garante a compatibilidade e fcil traduo de um sistema
para outro. A melhor prtica utilizar os dados que se conforma a um padro ISO
em seus sistemas de origem, sempre que possvel. Quanto mais o sistema de origem
e faz uso padronizado das definies de dados uniformes, mais fcil a tarefa de
construo de um data warehouse ser.
Obter e gerar dados
No h muitas boa amostra bases de dados disponveis, ea maioria deles no pode
ser utilizado sem restries ou fazem parte de uma oferta de banco de dados comerciais.
Pessoas familiarizadas com o MySQL pode conhecer o banco de dados exemplo Sakila, que
serviu como ponto de partida para o banco de dados WCM, mas est um pouco mais simples
e
contm dados muito pouco para ilustrar os conceitos deste livro. Por esta razo,
decidimos desenvolver um livremente disponveis, dados de exemplo LGPL-licenciados com
complexidade suficiente e uma quantidade real de dados em que seja til como uma fonte
para um projeto de data warehouse.
Ao desenvolver um modelo de dados instrutivo um desafio em si, esta
desafio minimizado atravs da criao de dados significativos para ele. Felizmente, existem
algumas fontes de dados acessvel ao pblico, tais como o Censo dos EUA, o nome falso
Gerador, eo Home Theater Info catlogo de DVD que podemos usar para
clientes, funcionrios, produtos e informaes externas. Todos os outros dados no
banco de dados seja criado manualmente ou gerados usando scripts. A base de dados
conjuntos e os scripts para criar o esquema e criar os dados da transao pode ser
baixado do site companheiro deste livro.
WCM Database: The Big Picture
Antes de explicar cada uma das peas do modelo de dados WCM, apresentamos
aqui uma viso global do banco de dados que ser usado para os exemplos
o restante do livro. A forma mais rpida e fcil de se familiarizar com
o modelo de dados a soma das diferentes entidades, relaes e papis desempenhados
por cada entidade, que a finalidade da lista a seguir. O diagrama na
Figura 5-2 pode ser usado como uma referncia.
INT (8) [PK]:
employeeemployee_id
SMALLINT (5) [FK]
dvd_id: warehouse_id INT
(8) [FK] customer_order_id:
INTEGER (10) [FK]
employee_id: INT (8) [FK]
INT (8) [PK]:
customercustomer_id
SMALLINT (5)
[FK]: website_id
SMALLINT (5) [PK]:
websitewebsite_id
INT (8) [PK]:
dvddvd_id
INT (8) [PK]:
purchase_order_linepu
rchase_order_line_id
INT (8) [FK]
purchase_order_line_i
d: dvd_release_id INT
(8) [FK]
INT (8) [PK]:
customer_ordercustom
er_order_id
INT (8) [FK]
promotion_id:
customer_id SMALLINT
(5) [FK]
shipping_region_id: INT
(8)
INT (8) [PK]:
inventoryinventory_id
INT (8) [PK]:
employee_jobemploye
e_job_description_id
INT (8) [FK]
job_description_id:
employee_id
SMALLINT (5) [FK]
warehouse_id:
SMALLINT (5) [FK]
SMALLINT (5) [PK]:
warehousewarehouse_
id
INT (8) [PK]:
purchase_orderpurchas
e_order_id
SMALLINT (5) [PK]:
job_descriptionjob_des
cription_id
INT (8) [FK]
distributor_id:
employee_id
SMALLINT (5) [FK]
SMALLINT (5) [PK]:
distributordistributor_i
d
INT (8) [FAK]
warehouse_id:
purchase_order_id
SMALLINT (5) [FAK]
dvd_release_id: INT (8)
[FAK]
promoo
SMALLINT (5)
[PK]:
promotion_id
SMALLINT (5)
[FK]: website_id
INT (8): region_id
INT (8) [PK]:
dvd_release_actordvd_
release_actor_id INT (8) [FAK]
dvd_release_id:
actor_id INT (8)
[FAK]
INT (8) [PK]:
dvd_releasedvd_releas
e_id
INT (8) [PK]:
promoted_dvd_release
promoted_dvd_release
_id
SMALLINT (5)
[FAK]
dvd_release_id:
promotion_id INT (8)
[FAK]
INT (8) [PK]:
customer_order_linecu
stomer_order_line_id
INT (8) [FAK]
dvd_release_id:
customer_order_id
INT (8) [FAK]
INT (8) [PK]:
actoractor_id
INT (8) [PK]:
dvd_release_directord
vd_release_director_id
INT (8) [FAK]
director_release_id:
director_id INT (8)
[FAK]
INT (8) [PK]:
directordirector_id
Figura 5-2:
diagrama de
banco de
dados global
Captulo 5 Exemplo de caso de negcio: Filmes de Classe Mundial 99
A pedra angular do banco de dados composto de clientes, produtos e
ordens.
Existem dois tipos de ordens: ordens de compra e ordens de clientes.
Os produtos so adquiridos de distribuidores e recebidas em um armazm
onde so verificados pelos funcionrios.
Cada ordem de compra feita por um funcionrio de uma distribuidora determinados
pode ter uma ou mais linhas de pedidos de compra.
Uma linha de ordem de compra composto do item, quantidade e preo dos
adquirida do produto e tambm denota o armazm de destino da
produtos.
Os funcionrios tm uma descrio do trabalho e trabalhar em um armazm
especfico.
Armazns, funcionrios, clientes e distribuidores tm um endereo.
Cada endereo localizado em uma determinada regio, e uma regio parte de um
pas.
ordens do cliente so colocados em um site e pode ter uma promoo
que lhes so inerentes.
Promoes pertencem a certos produtos (lanamentos em DVD) e pode
ter um menor preo de venda, a um preo mais baixo de aluguel, um longo perodo de
aluguer,
ou uma combinao destes.
A ordem do cliente consiste em uma ou mais linhas de ordem quando uma linha de
pedido
criado para cada produto.
Nem todas as entidades esto visveis no diagrama, todas as tabelas que contm o
endereo
informao esto ligadas ao regio e pas. Ambos os quadros so deixados de fora para
clareza, mas pode ser encontrado no diagrama detalhada do cliente. Duas outras tabelas
no esto visveis no diagrama so lookup_type e valor_procurado, Que contm
diferentes combinaes de chave / valor par de informaes como cdigo de status e
tipo de transao. Construes como estas (vrias listas de no-relacionados em um nico
tabela de referncia) so comuns em um sistema de Enterprise Resource Planning (ERP).
As prximas sees fornecem informaes adicionais sobre cada parte do banco de dados
esquema, incluindo o modelo de dados e contedo.
Catlogo de DVD
Existem vrias opes para a obteno de informaes cinematogrficas a partir da Internet,
com o Internet Movie Database (www.imdb.com), Sendo provavelmente a mais bem
conhecida e largamente utilizada fonte de informao do filme. WCM investigou a
utilizao do IMDB como fonte para o catlogo de DVD, mas encontrou a informao
contidos na lista Laserdisc IMDB estar longe de ser til. O melhor e mais
fonte completa de informaes acabou por ser o Home Theater site Info
(www.hometheaterinfo.com), Onde a informao para todos os DVDs disponveis a partir de
100 Parte II Dimensional Modelagem e Design de Data Warehouse
os estdios podem ser encontradas vrias, incluindo informaes ator e diretor.
WCM decidiu licena deste banco de dados para uso interno, bem como para o
web de catlogo.
Cada ttulo ser considerado uma Lanamento de DVD, e embora haja uma distino
entre o conceito de um filme e um DVD, apenas este ltimo est disponvel na
WCM banco de dados. A filme o artefato que descreve a produo de Hollywood,
e quando este filme lanado em DVD, WCM cria um lanamento em DVD, que
podem ser requisitados pelos clientes atravs da loja virtual. Os clientes so, em seguida,
enviou uma
DVD fsico, que so colhidos a partir do inventrio. Ento, teoricamente falando,
existe um modelo de trs camadas de dados (lanamento do DVD do filme em DVD), que
denota uma relao mestre-detalhe detalhe entre as trs entidades. Neste
caso terico atributos, tais como ttulo, atores e diretor estaria ligado
ao filme e atributos, tais como data de lanamento eo preo do aluguel seria
relacionado a um lanamento em DVD. No entanto, o catlogo no tem WCM filme entidade e
pois armazena todas as informaes do filme disponvel no nvel de lanamento do DVD.
Adicionado a informao do DVD de dados sobre os atores e diretores, que
tambm obtido a partir do banco de dados Info Home Theater. Isso permite que WCM
os clientes a procurar filmes com um ator especfico ou filmes que so
dirigido por um diretor especfico. O esquema completo catlogo de filmes exibida
na Figura 5-3.
ator
INT (8) [PK]: actor_id
first_name: VARCHAR (50)
last_name: VARCHAR (50)
iniciais: VARCHAR (10)
diretor
INT (8) [PK]: director_id
first_name: VARCHAR (50)
last_name: VARCHAR (50)
iniciais: VARCHAR (10)
dvd_release_actor
INT (8) [PK]: dvd_release_actor_id
INT (8) [FAK]: actor_id
INT (8) [FAK]: dvd_release_id
dvd_release
INT (8) [PK]: dvd_release_id
Ttulo: VARCHAR (64)
estdio: VARCHAR (50)
Lanado em: DATA
status: VARCHAR (50)
som: VARCHAR (20)
verses: VARCHAR (20)
Preo: DECIMAL (5, 2)
Classificao: VARCHAR (10)
ano: ANO
Gnero: VARCHAR (20)
aspecto: VARCHAR (10)
UPC: CHAR (13)
release_date: DATA
timestamp: DATETIME
dvd_release_director
INT (8) [PK]: dvd_release_director_id
INT (8) [FAK]: director_id
INT (8) [FAK]: dvd_release_id
Figura 5-3: Catlogo de Filme modelo de dados
NOTA Como esses dados so carregados de uma fonte externa, o modelo de dados
aprovada, resultando assim em um modelo menos elegante. Uma soluo melhor seria a
Captulo 5 Exemplo de caso de negcio: Filmes de Classe Mundial 101
mesclar atores e diretores em um Pessoa tabela e adicionar uma tabela de ligao entre DVD
liberao e Pessoa. Esta tabela ligao poderia ser estendida aos campos do pavilho
como is_actor e is_director (E no futuro talvez is_producer,
is_music_composer, etc)
Clientes
Como a maioria das organizaes comerciais, WCM tem clientes. E porque
os produtos devem ser enviados para um endereo de e pago por carto de crdito,
WCM tem um monte de informaes sobre seus clientes. Esta informao
inclui o endereo, cdigo postal, data de nascimento e sexo, o que torna a
dados de clientes muito adequado para todos os tipos de anlise. O banco de dados WCM
para
data contm informaes sobre mais de 145.000 clientes que subscreveram o
webstores diferentes ao longo dos ltimos oito anos. Claro, isso no exatamente verdade:
a verdadeira histria que essa coleta de dados do cliente gerado aleatoriamente
pela linha nome falso Generator (www.fakenamegenerator.com), Onde
dados do cliente pode ser gerado por uma srie de pases em lotes livres com
um tamanho mximo de 40.000, ou podem ser comprados em lotes de um milho de nomes.
A
aspecto interessante dos nomes gerados que eles no so realmente aleatrios,
mas representante de determinados padres demogrficos. Por exemplo, voc ver
mais pessoas a viver na cidade de Nova York do que em Zwolle, Louisiana, o que faz
os dados perfeitamente adequado para o banco de dados demo WCM. A cliente tabela
tambm referncias a pas e Estado as tabelas, pois (novo) os clientes so apenas
permisso para selecionar de uma lista fixa de valores para evitar erros de entrada de dados.
A
ltima referncia diz respeito ao site onde o cliente originalmente aplicada para
uma conta no WCM. Figura 5-4 mostra o modelo de dados completos dos clientes.
Empregados
O empregado modelo de dados simples, mas permite a mudana de trabalho dentro
a empresa e at mesmo para realocao dos empregados para armazns diferentes.
Figura 5-5 mostra o diagrama de empregado.
WCM tem um sistema de RH separado que inclui todos os outros agentes relacionados com
infor-
informaes, tais como salrios, tipos de contrato, a ausncia, os planos de educao, e
assim por diante.
sistemas de RH so notoriamente complexa para recuperar dados e no esto cobertos
neste livro. A fonte das informaes do funcionrio utilizado o mesmo que para
clientes e composto por um subconjunto do conjunto gerado nome falso.
As ordens de compra
O processo de compra bastante simples, WCM: uma ordem de compra colocada no
um distribuidor por um determinado funcionrio e contm um ou mais de ordem de compra
102 Parte II Dimensional Modelagem e Design de Data Warehouse
linhas. Cada linha de ordem de compra contm uma srie de lanamentos de DVD ordenados
de um armazm especfico. As Relaes Diagrama Entidade (ERD) mostrado na
Figura 5-6.
pas
country_id: SMALLINT [PK]
VARCHAR (50) [AK]: country_name
ISO3166_country_code: CHAR (2) [AK]
cliente
INTEGER [PK]: customer_id
first_name: VARCHAR (30)
CHAR (1): middle_initial
last_name: VARCHAR (30)
date_of_birth: DATA
maiden_name_mother: VARCHAR (30)
gender_lookup: SMALLINT [FK]
nome_cidade: VARCHAR (64)
address1: VARCHAR (50)
address2: VARCHAR (50)
region_id: SMALLINT [FK]
postal_code: VARCHAR (10)
email_address: VARCHAR (64)
telephone_number: CHAR (12)
password_hash: VARCHAR (41)
website_id: SMALLINT [FK]
equilbrio: DECIMAL (6,2)
date_registered: DATA
date_unregistered: DATA
timestamp_changed: TIMESTAMP
valor_procurado
lookup_value_id: SMALLINT [PK]
lookup_type_id: SMALLINT [AK]
VARCHAR (50) [AK]: lookup_text
regio
region_id: SMALLINT [PK]
region_name: VARCHAR (35)
country_id: SMALLINT [FAK]
ISO3166_region_code: CHAR (2) [AK]
site
website_id: SMALLINT [PK]
VARCHAR (50) [AK]: website_title
VARCHAR (60) [AK]: website_uri
Figura 5-4: Cliente modelo de dados
A linha de ordem de compra tambm contm o preo de compra obtido a partir de
o lanamento do DVD tabela no momento da encomenda, o custo do transporte, e os
datas para o transporte, espera, entrega e entrega real. O preo no histria
mantida no lanamento do DVD de dados, mas o preo s atualizou l. A
Histrico de preos, no entanto, sempre podem ser obtidos a partir das linhas de encomenda.
Note que qualquer alterao de preo intermedirio so perdidas dessa forma, por exemplo,
quando
nenhuma ordem existe em um ponto determinado preo. Alm disso, note que este um
modelo simplificado
que ignora o fato de que no mundo real, vrios distribuidores podem oferecer o
mesmo produto a preos diferentes.
Pedidos de clientes e Promoes
Clientes encomenda online e DVDs a aplicao web torna-se que estes
pedidos so inseridos no a ordem do cliente e linha do pedido do cliente tabelas.
Promoes so usados por WCM para estimular as vendas adicionais ou para limpar
aes redundantes. Promoes ativas so convertidas automaticamente para banners
e anncios em diversos sites. Quando uma promoo selecionado diretamente ou
DVDs esto ordenados que pertencem a uma promoo, a ordem correta dos clientes
linhas com os lanamentos com desconto de DVD so adicionados ao banco de dados na
web
pedido. Em outros casos, os clientes podero encomendar um DVD nico que pertence
com uma promoo em curso e neste momento a opo oferecida para selecionar o
promoo completo (que pode consistir de vrios DVDs).
empregado
INTEGER [PK]:
employee_id
employee_job
INTEGER [PK]:
employee_job_id

lookup_valuelookup_v
alue_id: SMALLINT
[PK]
regio
INTEGER [PK]:
region_id
first_name: VARCHAR (30) middle_initial: CHAR (1)
last_name: date_of_birth VARCHAR (30):
DATEgender_lookup: SMALLINT [FK] region_id:
INTEGER [FK] nome_cidade: VARCHAR (64)
address1: VARCHAR (50) address2: VARCHAR (50)
postal_code: VARCHAR (10) email_address:
VARCHAR (64) telephone_number: CHAR (12)
employee_id: INTEGER [FK]
job_description_id: SMALLINT
[FK] warehouse_id: SMALLINT
[FK] data_inicial:
DATEend_date: DATA
job_description
job_description_id
: SMALLINT
[PK]
job_title: VARCHAR
(30) [AK]
job_description:
VARCHAR (64)
Figura 5-5:
Funcionrio
modelo de
dados
104 Parte II Dimensional Modelagem e Design de Data Warehouse
purchase_order_line
purchase_order
INTEGER [PK]: purchase_order_id
INTEGER [FK]: employee_id
distributor_id: SMALLINT [FK]
order_date: DATA
status_lookup: SMALLINT [FK]
confirmation_date: DATA
INTEGER [PK]: purchase_order_line_id
INTEGER [FAK]: purchase_order_id
line_number: SMALLINT [AK]
warehouse_id: SMALLINT [FAK]
INTEGER [FAK]: dvd_release_id
quantidade: INTEGER
Preo: DECIMAL (6,2)
shipping_cost: DECIMAL (10,2)
shipping_date: DATA
delivery_due_date: DATA
delivery_date: DATA
empregado
INTEGER [PK]: employee_id
distribuidor
distributor_id: SMALLINT [PK]
VARCHAR (50) [AK]: distributor_name
INTEGER [FK]: region_id
nome_cidade: VARCHAR (64)
address1: VARCHAR (50)
address2: VARCHAR (50)
postal_code: VARCHAR (10)
email_address: VARCHAR (64)
telephone_number: CHAR (12)
valor_procurado
lookup_value_id: SMALLINT [PK]
armazm
warehouse_id: SMALLINT [PK]
dvd_release
INTEGER [PK]: dvd_release_id
regio
INTEGER [PK]: region_id
Figura 5-6: ordem de compra do modelo de dados
O que pode parecer estranho inicialmente, a duplicao do nome do cliente e
dados de endereo. Isso garante que WCM sempre tem uma histria totalmente rastrevel de
dados do cliente. O endereo do cliente podem ser atualizados na cliente mesa,
mas as ordens sempre refletir o endereo de um item foi enviado para.
A ordem do cliente e parte de promoo do esquema do banco de dados exibido
na Figura 5-7.
Note que neste modelo um campo quantidade da ordem no est disponvel, levando a
a limitao de que apenas um item de lanamento de um DVD especfico pode ser
encomendado na
ao mesmo tempo.
Gesto de Stocks
WCM precisa controlar seu estoque e quer gravar toda a histria do produto
tambm. Essa informao combinada no armazm,DVDE inventrio
tabelas. Cada DVD fsico que recebida de um distribuidor registrado e
adicionado DVD e inventrio tabelas. A entrada de DVD obtm o status novo,
o que significa que ele est disponvel para venda ou aluguel. A entrada de estoque fica o
mesmo
novo status, o que significa que o novo DVD adicionado ao estoque de WCM. Aps este
evento, o inventrio tabela reflete a histria de cada transaco.
Um DVD pode ser enviado,devolvidoOu vendidos. Quando um item retornado despeja
ser danificado, ele obtm o status lixeira. Embora o status atual de um item
pode ser recuperada a partir do inventrio tabela, a escolha feita de duplicar o
situao atual no DVD mesa para fcil referncia. Desta forma, WCM capaz de
relatrio sobre os nveis de estoque atuais e histricos. Figura 5-8 mostra a parte da
diagrama entidade relacionamento com o submodelo de gesto de inventrio.
Captulo 5
customer_order
INTEGER [PK]: customer_order_id
Exemplo de caso de negcio: Filmes de Classe Mundial 105
INTEGER: customer_id
promotion_id: SMALLINT [FK]
customer_first_name: VARCHAR (30)
CHAR (1): customer_middle_initial
customer_last_name: VARCHAR (30)
shipping_country_name: VARCHAR (50)
shipping_city_name: VARCHAR (64)
shipping_address1: VARCHAR (50)
shipping_address2: VARCHAR (50)
VARCHAR (30): shipping_state
shipping_postal_code: VARCHAR (10)
order_timestamp: TIMESTAMP
status_lookup: SMALLINT [FK]
customer_order_line
INTEGER [PK]: customer_order_line_id
INTEGER [FAK]: customer_order_id
line_number: SMALLINT [AK]
INTEGER [FAK]: dvd_release_id
rental_price: DECIMAL (6,2)
purchase_price: DECIMAL (6,2)
shipping_cost: DECIMAL (6,2)
shipping_date: DATA
delivery_date: DATA
delivery_due_date: DATA
return_due_date: DATA
valor_procurado
lookup_value_id: SMALLINT [PK]
promoted_dvd_release
INTEGER [PK]: promoted_dvd_release_id
promotion_id: SMALLINT [FAK]
INTEGER [FAK]: dvd_release_id
promotion_rental_price: DECIMAL (4,2)
promotion_rental_duration: SMALLINT
promotion_purchase_price: DECIMAL (4,2)
site
website_id: SMALLINT [PK]
dvd_release
INTEGER [PK]: dvd_release_id
promoo
promotion_id: SMALLINT [PK]
website_id: SMALLINT [FK]
promotion_title: VARCHAR (50)
promotion_type_lookup: SMALLINT [FK]
promotion_start_date: DATA
promotion_end_date: DATA
Figura 5-7: ordem do cliente modelo de dados
Cada DVD tem um local fsico em cada momento, indicada pelo
ID do armazm onde o item enviado ou devolvido. Normalmente
um produto enviado a partir do mesmo armazm, uma vez que devolvido ao presente, mas
no precisa ser necessariamente o caso. Outras informaes que podem ser obtidos
da inventrio tabela :
Cliente (Customer_order_id) Mostra-cliente, o item
enviados para, vendidas ou retornado.
Empregado (employee_id) Mostra-o agente do warehouse
enviados ou recebidos do DVD.
Timestamp -A data ea hora exatas as informaes so inseridas no
do sistema.
Gesto do Negcio: A finalidade do negcio
Inteligncia
Gerir um negcio realmente muito simples quando voc toma uma misso orientada
vista. WCM foi criada porque houve uma evidente necessidade de uma conveniente
caminho para comprar e alugar DVDs sem ter que sair de uma loja. A misso
se tornar a maior distribuidora de DVD on-line no pas, e vrios
passos intermedirios foram definidos para finalmente alcanar esse objetivo (criar o
negcios em um estado, expandir a base de clientes, adicionar diferentes canais de vendas).
armazm
warehouse_id:
SMALLINT [PK]
INTEGER [PK]:
regionregion_id
inventrio
INTEGER [PK]:
inventory_id
region_id: INTEGER [FK]
nome_cidade: VARCHAR (64)
address1: VARCHAR (50) address2:
VARCHAR (50) postal_code:
VARCHAR (10) email_address:
VARCHAR (64) telephone_number:
CHAR (12)
INTEGER [PK]:
dvd_releasedvd_releas
e_id
dvd
INTEGER [PK]:
dvd_id
dvd_release_id: INTEGER
[FK] purchase_order_line_id:
INTEGER [FK]
status_lookup:
SMALLINTdvd_barcode:
INTEGER
warehouse_id: SMALLINT [FK]
dvd_id: INTEGER [FK]
employee_id: INTEGER [FK]
customer_order_id:
INTEGERtimestamp:
TIMESTAMPstatus_lookup:
SMALLINT
INTEGER [PK]:
purchase_order_linepu
rchase_order_line_id
INTEGER [PK]:
employeeemployee_id
INTEGER [PK]:
customer_ordercustom
er_order_id
Figura 5-8:
diagrama de
Inventrio
Captulo 5 Exemplo de caso de negcio: Filmes de Classe Mundial 107
Ao longo do caminho, WCM precisa acompanhar e analisar o seu desempenho para ver
Que fatores esto contribuindo para o sucesso e que so desvirtuando, e
que onde a inteligncia de negcios chutes pol
BUSINESS INTELLIGENCE
Howard Dresner, analista snior de longa data do Gartner Group, muitas vezes
creditado com a definio do termo business intelligence (BI). Embora Dresner
popularizou o termo, ele no foi o inventor. Na verdade, o termo de negcios
inteligncia foi usada pela primeira vez em 1958 por Hans Peter Luhn na IBM
Jornal. No entanto, sua definio Dresner de BI que usado na maioria das vezes
hoje:''Conceitos e mtodos para melhorar a tomada de decises comerciais
usando sistemas de suporte baseado em fatos.''Esta definio descreve de uma forma muito
maneira elegante que BI muito mais que tecnologia por si s (fato que frequentemente
negligenciado por muitos dos praticantes BI) e que o BI um meio para um fim,
no o objetivo em si.
Perguntas Business Intelligence tpica para WCM
Por uma questo de argumento, vamos supor que de Classe Mundial Filmes corre muito
gesto eficiente organizao corporativa, mas no tem o discernimento necessrio para
levar a empresa para o prximo nvel. organizao WCM contm departamentos
tais como Finanas e Vendas, Logstica e Compras, Atendimento a Clientes, e
Marketing e Gesto de Produto e, claro, tem algum tipo de interesse geral
gesto e um CEO. Estas pessoas e todos os departamentos tm diferentes
precisa para executar sua parte do negcio melhor e tenho algumas perguntas
em comum tambm. As perguntas tpicas podem incluir:
FINANAS E VENDAS
Como a receita que vamos gerar na regio, por ms, e do filme
categoria?
Quais as categorias de filme gerar a maior receita e essa constante
ao longo do tempo?
Como o nosso desempenho para comparar o mercado de entretenimento total?
Ns estamos crescendo mais rpido ou mais lento do que nossos principais
concorrentes?
Logstica e AQUISIO
Como nossos distribuidores pontuao em termos de variedade de produtos, preo e
desempenho da entrega?
Como podemos otimizar ainda mais nossos custos de
distribuio?
108 Parte II Dimensional Modelagem e Design de Data Warehouse
ATENDIMENTO AO CLIENTE
Quantas queixas lidamos?
Que tipo de reclamaes que os clientes costumam ter?
Qual a mdia de processos por representante de
servio?
NOTA Servio ao cliente adicionado como um exemplo extra e no coberto pelo
modelos de dados de amostra
MARKETING E GESTO DE PRODUTO
Como o valor da vida dos 100 principais clientes se comparam aos
fundo 100?
Como podemos segmento de nossos clientes com base na RFM (recncia, freqncia
anlise) monetria?
No temos os dados do cliente que pode ser usado para indicar rentabilidade futura
ou churn?
Podemos prever receitas futuras para um novo cliente com base na actual
perfis de clientes e caractersticas, tais como cdigo postal, idade ou sexo?
Como podemos manter o controle do ciclo de vida de um produto e que as vendas
canais devem ser usados (combinaes de mercado do produto)?
Lanamentos em DVD que so mais susceptveis de gerar receita com base em alta
caractersticas do produto, como ator, diretor ou gnero de filme?
A partir desses exemplos, bvio que algumas perguntas (e suas respostas)
referem-se mltiplas reas de negcio. E, novamente, estes exemplos so tpicos de um
organizao comercial venda de produtos aos consumidores, mas provavelmente no so
aplicvel a outras indstrias, por exemplo, uma organizao de sade, como
um hospital.
Dados
fundamental
Nenhum sistema de business intelligence pode existir sem os dados, e as ques-amostra
es desde j poderia ter mostrado que os dados internos por si s no
suficiente para obter uma boa compreenso do desempenho de uma organizao.
A maioria dos sistemas de BI comeam com um foco interno, elaborao de relatrios sobre
dados de vendas passadas. Este
timo para comear seus ps molhados, como voc ver nos prximos captulos,
mas muito pouco em um ambiente competitivo. Tomemos, por exemplo, um
organizao que comemorou um crescimento de 10 por cento na receita lquida de vendas
mais
No ano passado, mas ignorou o fato de que o crescimento global do mercado foi
20 por cento. Eles realmente fizeram um trabalho muito ruim, mas ficou sem saber porque
os dados externos que poderiam ter divulgado essa informao no foi usada. Para
Captulo 5 Exemplo de caso de negcio: Filmes de Classe Mundial 109
pleno conhecimento sobre o desempenho real de uma empresa, os dados externos manda-
trio. World Class Filmes, portanto, usa duas fontes adicionais de informaes. A
primeira o Censo 2000 CEP conjunto de dados, que permite empresa
relacionar dados de clientes internos global de dados demogrficos e trends.1
A segunda fonte de informao a receita de dados histricos e-commerce
obtidas no site E-Stats do Censo dos EUA, que pode ser encontrada em
www.census.gov/eos/www/ebusiness614.htm.
Resumo
Este captulo apresenta a empresa fictcia de Classe Mundial Filmes que ns
criado para este livro. Com base neste exemplo, descrevemos a seguir:
Os negcios principais processos da empresa Classe Mundial Filmes
Um modelo global de dados do banco de dados de apoio aos processos
O modelo de dados detalhados para cada entidade do negcio principal (clientes,
produtos, pedidos, estoque, funcionrios)
A ltima parte do captulo ilustrou o propsito eo valor do uso
solues de Business Intelligence em geral e as respostas que uma soluo de BI
pode fornecer para uma empresa como de Classe Mundial Filmes.
1 A
Censo 2000 CEP conjunto de dados reutilizado mediante permisso de A anlise dos dados e SQL
Excel, por Gordon S. Linoff, Wiley Publishing, Inc., 2008
CAPTULO
6
Data Warehouse Primer
Um data warehouse no nada novo, na verdade, armazenamento de dados estava sendo
praticado por anos, mesmo antes do termo foi cunhado por Bill Inmon em sua
trabalho seminal Construindo o Data Warehouse.1 Embora Inmon muitas vezes referida
como o pai''de data warehousing,''isso no inteiramente o caso. Para dar
crdito onde crdito devido, foi o irlands IBM arquitetos Barry Devlin e
Paul Murphy, que, em 1988, lanou as bases para o que hoje chamamos de
data warehouse. interessante ver que o conceito de Dados Corporativos
Armazm (BDW) Devlin e Murphy descreveu em seu artigo original no tem
mudado muito nas ltimas dcadas. Eles definem o BDW como''o nico
armazm lgica de todas as informaes utilizadas para informar sobre o negcio,''que
ainda exatamente o que .
NOTA Sinta-se livre para apenas pular este captulo, ou mesmo ignor-lo se voc j est
familiarizado com os conceitos bsicos de armazenamento de
dados.
Para obter uma melhor compreenso da natureza de um armazm de dados que ir
adicionar
descrio original Inmon tambm. Ele definiu um armazm de dados como sendo:
Assunto orientadas para Todos entidades e eventos relacionados a um assunto
especfico
(Por exemplo,''''de vendas) esto ligados entre si.
Tempo variante Todos alteraes nos dados so controlados para permitir os relatrios
que mostra a evoluo ao longo do tempo.
No voltil-Quando os dados so inseridos no data warehouse, nunca
sobrescritos ou excludos.
1 Cf.
Construindo o Data Warehouse, 4 Edio, por WH Inmon, Wiley Publishing, Inc., 2005.
111
112 Parte II Dimensional Modelagem e Design de Data Warehouse
Integrada-A armazm de dados contm dados de mltiplas fontes
sistemas depois de ser limpo e conformado.
Ao longo dos anos, essas descries (especialmente o aspecto''''no-voltil)
foram desafiadas e adaptada por outros autores e praticantes, levando
para diferentes arquiteturas e formas de modelagem do data warehouse. Trata-se,
No entanto, bom ter em mente que todos os autores ainda concordam com o raciocnio
atrs de um armazenamento de dados separados para anlise de negcios e prestao de
contas foi
originalmente definido por Devlin e Murphy:
Garantir que o desempenho dos sistemas de produo no interrompida
por consultas ad hoc ou de anlises
Exigir que as informaes necessrias aos usurios finais no muda enquanto
que o utilizam, ou seja, os dados point-in-time
Por que Voc Precisa de um Data Warehouse?
Pessoas que nunca foram expostas ao conceito de um data warehouse
so muitas vezes confusos sobre a necessidade e finalidade de um banco de dados
especializados para
fins de apoio a deciso. Mesmo depois que os dados bvios benefcios integrados
a partir de diferentes sistemas, o desempenho da consulta, aliviando os sistemas de cdigo de
consultas de longa execuo eo acompanhamento da histria, foram explicados,
ainda no claro por que sempre a construo de um data warehouse uma boa idia.
Bastante
muitas vezes, esses usurios se acostumaram a recuperar ou a obteno de dados de
vrias fontes, incluindo os dados enviados a eles por e-mail, que depois de importao
em um aplicativo de planilha eletrnica que eles usam para posterior anlise e relatrios.
No armazm de dados necessrios, certo? No to certo, na verdade. Vamos tentar
explicar
por um armazm de dados til, do ponto de vista de um usurio:
Toda a informao est em um lugar no mais caar vrias dis-
parate fontes de informao ou tentar encontrar arquivos com mais de um confuso
E-mail do sistema ou estrutura da pasta. No preciso tanto para combinar tudo isso
dados a si mesmo: ele j est integrado e pronto para uso.
Up-to-date informaes de dados no armazm de dados automaticamente
carregadas e atualizadas em uma base regular, o que significa que voc nunca est fora
de data ou procurar informaes antigas.
Acesso Rpido O armazm de dados otimizada para recuperao rpida de
da informao. O data warehouse respostas as suas dvidas muito mais rpido do
lojas locais de arquivo ou arquivos de e-mail.
No h limite de tamanho Planilhas pode armazenar somente uma quantidade limitada
de dados e
muitas vezes precisam ser divididos em pedaos para acomodar todas as informaes
necessrias.
Um armazm de dados pode armazenar uma quantidade quase ilimitada de dados para
que no
Captulo 6 Data Warehouse Primer 113
mais descarregamento de dados para um banco de dados local ou ainda uma outra
planilha
necessrio.
Toda a histria disponveis O armazm de dados no contm apenas corrente
informao, mas tambm os dados da ltima semana, no ms passado, no ano passado,
e vrios
anos atrs tambm. Isto significa que a anlise de qualquer tendncia ou comparao
ao longo do tempo suportado pelo armazm de dados. Na verdade, se voc nunca
apagar
dados do data warehouse, muitas vezes contm muito mais histrica
informaes do que os sistemas de origem. A histria no disponvel somente
''Dados mais antigos,''mas oferece valor adicional quando as alteraes so controladas
como
tambm. Isto permite-lhe olhar para os dados como ela realmente era durante a
momento em que foi originalmente processado. Quando algum vive em Boston em
2008
mas se muda para New York em 2009, voc ainda vai ver os resultados de 2008 para
este
cliente atribudo a Boston, no para Nova York.
Fcil de entender-A Data Warehouse modelada em termos de negcios
e reflete o modo como voc olha para sua organizao. Voc no precisa
decifrar siglas de trs letras que ningum entende, mas pode ter
nomes claros para todos os elementos de dados.
Definies claras e uniformes, no mais discusses sobre os dados que
significa ou o que a definio de receitas''''. Todos na organizao
usa as mesmas definies, o que simplifica a comunicao.
Todos os dados padronizados, dados em conformidade com as normas, o que significa
que
apenas uma definio e um conjunto de valores para cada pea de informao.
Um bom exemplo disso a codificao do gnero. Alguns sistemas usam 0
e um, alguns usam masculino / feminino e outro uso M / F / U (para desconhecidos).
Todos
tradues em uma nica definio padronizada foram atendidos.
Essa lista destaca as vantagens de um armazm de dados, mas baseado em uma
pressuposto importante: que o data warehouse projetado e construdo adequadamente.
Mesmo quando a execuo de alto nvel a partir de uma perspectiva tcnica
(Primeiro cinco pontos), ele ainda pode ser considerado um projeto fracassado de um
perspectiva do usurio (os ltimos trs pontos de bala). O''fcil de entender,''''clara
e definies de dados uniforme, padronizada''e''''vantagens so muitas vezes
prdio em frente, especialmente quando o data warehouse executado por uma TI
departamento sem o envolvimento dos utilizadores suficiente.
Metadados: denominar e descrever SEUS DADOS
Se os ltimos trs argumentos para a construo de um data warehouse so invertidos,
tambm possvel olhar para o fim do armazm de dados de uma maneira diferente:
como veculo para chegar a dados padronizados e definies claras e uniformes.
Isto no totalmente um assunto de armazm de dados relacionados, mas tem um muito mais amplo
(Continuao)
114 Parte II Dimensional Modelagem e Design de Data Warehouse
Metadados: denominar e descrever SEUS DADOS (Continuao)
aplicabilidade, que muitas vezes referida como metadados. Um simples e amplamente utilizado
definio de metadados dados sobre dados. Lotes de equvocos sobre a existir
metadados que ou deveria ser, mas sem querer simplificar demais, ele todos os
se resume a uma questo: como o nome e descrever as informaes
em uma organizao de tal forma que toda a gente compreende imediatamente
o significado disso e este significado o mesmo para todos os envolvidos? Se voc
pode superar este obstculo no incio de seu projeto de data warehouse, voc estar
pago de volta trs vezes. Se voc tomar um passo mais adiante, voc ver que os metadados
abrange muito mais do que apenas descries dos dados (por exemplo, que se entende por
'Receitas'?). Os seguintes itens tambm so considerados metadados e so de
especial importncia em um ambiente de data warehouse:
Linhagem de Dados-A informao sobre a origem e destino dos dados
em cada etapa do processo de transformao de dados. Dados informaes de linhagem
fornece uma pista de auditoria completa dos dados em um data warehouse, que essencial
para cumprir os regulamentos compliancy, como a Lei Sarbanes-Oxley.
Dados Oportunidade-A informao sobre quando os dados foram alterados e
como "velhos" dados so um usurio est olhando. Muitas vezes, vrios carimbos
so utilizadas quando as informaes so apresentadas: o tempo que um relatrio executado
ou
impresso, o tempo que os dados foram carregados ou alterada no data warehouse,
eo tempo dos dados foi modificada pela ltima vez no sistema de origem.
Modelo de Dados, os modelos utilizados no livro so tambm uma forma de metadados,
geralmente chamado metadados estruturais uma vez que no fornecem uma descrio
(Como nos itens anteriores), mas apenas a estrutura dos dados. O texto
explicar o modelo de dados o metadados descritivos neste caso.
O grande debate: Inmon Versus Kimball
Existe um consenso generalizado sobre a idia bsica de usar um armazenamento de dados
especiais
para apoiar as anlises e relatrios. a forma como este armazenamento de dados deve ser
estruturado e organizado que tem sido objecto de muitos debates acalorados
ao longo dos anos.
No incio, havia basicamente duas abordagens para a modelagem dos dados
armazm. Tudo comeou quando os dois gigantes da indstria, Ralph Kimball e
o referido Bill Inmon, comeou a publicar seus dados e evangelizadora
entreposto idias. Cada grupo tem um (e s vezes at mesmo fantica) leais
seguidores, o que contribuiu ainda mais para a discusso em torno das duas escolas
de pensamento. Enquanto Inmon popularizou o termo armazm de dados e um forte
Captulo 6 Data Warehouse Primer 115
proponente de uma abordagem centralizada e normalizada, Kimball tomou um rumo diferente
perspectiva com a sua data marts e dimenses conformadas.
As principais diferenas entre o centro da abordagem Inmon e Kimball sobre
trs pontos. A compreenso destes pontos de diferena vai ajudar voc a ganhar
uma compreenso maior de armazenamento de dados em geral. (Voc vai comear a
abundncia do
exemplos de data mart neste livro, portanto, no se preocupe se essas descries no afunda
imediatamente.)
Data warehouse versus data marts com dimenses adequadas, Ns
j apresentaram definio de Inmon o Business Data Ware-
casa:''o armazm lgica nica de todas as informaes utilizadas para relatrio
nos negcios.''Em contraste, um mart de dados contm informaes relativas
para uma funo especfica do negcio, como vendas ou quadro de pessoal. Este
informaes podem ser visualizadas a partir de perspectivas diferentes, chamados
dimenses.
Cada dimenso contm todas as informaes relativas a um determinado negcio
objeto, tais como uma agenda, clientes ou produtos, e pode ser ligado
a um ou mais tabelas de fatos contendo itens mensurveis (receitas, custos,
nmero de funcionrios, e assim por diante). O efeito final que os usurios podem
recuperar
informaes sobre as vendas por departamento, por cliente durante um perodo
especfico
a partir de um data mart, mas a partir da mesma data mart no possvel
recuperar informaes tangencialmente relacionados, tais como nmero de funcionrios
empregados.
Isso requer um data mart independente, que pode reutilizar alguns dos mesmos
informaes de dimenso (neste caso: empregado e de calendrio) j utilizados
na data mart de vendas. Devido as dimenses empregado e calendrio ter
uma aplicao que se estende alm de um data mart de dados nico, eles so
chamados
dimenses conformadas. O conceito de modelagem dimensional coberto em
profundidade no Captulo 7.
Abordagem centralizada versus iterativo / descentralizada abordagem como
mencionadas, um data mart contm dados apenas para uma finalidade especfica,
enquanto
um data warehouse contm todas as informaes de forma integrada. A
principal diferena entre um data warehouse Kimball e Inmon estilo
o facto de Kimball organiza seu armazm de dados como uma combinao
de data marts integrados, enquanto Inmon considera um data warehouse
como um modelo de dados integrado, normalizado que contm todos os dados
necessrios
para relatrios e anlises e usa data marts apenas para acesso ao usurio final.
Isso soa como uma camada extra de complexidade, mas tenha em mente que, em
Inmon um estilo de data warehouse todos os problemas relacionados com a
conformao de
dados e garantir correo histrica de dados so resolvidos na regio central
armazm, enquanto que em uma arquitetura de estilo Kimball essas questes precisam
ser resolvidos dentro da data marts.
Normalizada modelo de dados em funo dos dados dimensionais modelo Se a com-
marts combinada de dados em relao ao armazm central eram a nica fonte
para o debate, a discrdia teria sido resolvido h muito tempo, mas h
116 Parte II Dimensional Modelagem e Design de Data Warehouse
outro, e talvez ainda mais contraste marcante entre os dois: o
questo da normalizao versus desnormalizao. Kimball introduziu o
tcnica de desnormalizao para as tabelas de dimenso. Agora um produto
pode ter um grupo de produtos relacionados a ele, que em um banco de dados
normalizado
seria armazenado em uma tabela separada e ligados atravs de chaves estrangeiras.
Para um
exemplo disso, d uma olhada no WCM cliente tabela, que contm
um link para a regio, que por sua vez, contm um link para pas (ver Figura 6-1).
Em um esquema de banco de dados normalizado, cliente, regio, pas e so
armazenadas em trs tabelas diferentes para garantir a integridade da regio e
nomes de pases (que so armazenados apenas uma vez). Um esquema de-
normalizados,
Por outro lado, as lojas de todas as informaes em uma nica tabela, assim creat-
o de informaes redundantes, que uma maldio para o estritamente normalizado
acampamento. A Figura 6-1 mostra a diferena entre uma normalizada e um
desnormalizados esquema de banco de dados.
pas
SMALLINT (5) [PK]: country_id
VARCHAR (50) [AK]: country_name
ISO3166_country_code: CHAR (2) [AK]
regio
INT (8) [PK]: region_id
SMALLINT (5) [FAK]: country_id
VARCHAR (50) [AK]: region_name
ISO3166_region_code: CHAR (2) [AK]
customer_denormalized
INT (8) [PK]: customer_id
customer_normalized
INT (8) [PK]: customer_id
INT (8) [FK]: region_id
ISO3166_region_code: CHAR (2)
region_name: VARCHAR (50)
ISO3166_country_code: CHAR (2)
country_name: VARCHAR (50)
Figura 6-1: A normalizao versus desnormalizao
Ao contrrio da crena popular, de-normalizar os dados em uma dimenso no propenso
para os problemas usuais de no normalizar um banco de dados de transaco para
pela simples razo de que no usado para transaes. As tabelas de dimenso apenas
atualizado atravs da utilizao de uma extrao, transformao e carregamento (ETL)
processo
que elimina os riscos de alguma forma envolvido com a atualizao no-normalizada
de dados. Ns cobrimos o processo de carregamento dimenso no captulo 10 e cobrir
tcnicas de modelagem dimensional no Captulo 7. As partes subseqentes deste
foco captulo sobre arquitetura e tecnologias utilizadas para o armazenamento de dados.
Arquitetura de Dados do Armazm
Um arquitetura um conjunto de regras para aderir ao construir algo, e
porque um armazm de dados pode se tornar muito grandes e complexos, utilizando um
arquitetura essencial para o sucesso. Vrias arquiteturas de data warehouse
Captulo 6 Data Warehouse Primer 117
existem, mas antes de explorar o assunto em profundidade vamos introduzir um general
quadro e explicar alguns dos termos que voc vai encontrar mais frente.
O quadro ilustrada na Figura 6-2. No diagrama, voc pode ver:
1. Um ou mais sistemas de origem (arquivos, SGBD, ERP);
2. Um processo para extrao, transformao e carregamento de dados (ETL).
Muitas vezes, esse processo contm uma rea de teste utilizado como local de
desembarque para
extraram os dados e para fazer a transformao dos dados iniciais e de limpeza.
Para a preparao de dados tanto um banco de dados e arquivos de plano pode ser
usado. Em muitos casos
usando arquivos simples permite um processamento mais rpido.
3. O armazm de dados, que consiste no banco de dados do armazm central e
zero ou mais data marts.
4. A camada de usurio final (EUL), com as vrias ferramentas para trabalhar com o
dados (relatrios, dashboards, planilhas e documentos publicados).
Geralmente, a combinao do armazm central e os data marts
considerados o data warehouse, eo termo armazenamento de dados usado
para designar todo o processo de construo, carregamento e gesto dos dados
armazm (DWH).
NOTA O diagrama na Figura 6-2 uma estrutura lgica, mas no um fsico exigido
estrutura. Alguns processos ETL transferir os dados diretamente atravs''''a partir da fonte
sistemas para as tabelas do data warehouse, e alguns armazns de dados no contm
data marts, ou apenas conter data marts e nenhum armazm central.
Arquivos
ETL
CSV
Arquivos
ERP
Encenao
rea
Fontes Processo de ETL
ETL
ETL
Armazm Central e
Data Marts
Data Warehouse EUL
Figura 6-2: Genricos arquitetura de data warehouse
Alguns outros termos usados geralmente quando se fala de armazenamento de dados so
back office e front office. Na definio de Kimball, o back office engloba
toda a tecnologia e os processos utilizados para construir e manter o data warehouse,
Considerando que o front office a rea onde os usurios finais utilizam os dados da DWH.
Em
118 Parte II Dimensional Modelagem e Design de Data Warehouse
Figura 6-2, o front office a combinao de todos os relatrios e anlise
ferramentas disponveis para ter acesso aos dados. O back office composto de ETL
processos e data warehouse.
mais claro, este diagrama uma verso muito abstrata e simplificada de
implementaes DWH. A parte mais importante do processo o auto-
acasaladas carga peridica de novos dados para o data warehouse. Este o lugar onde
a ETL (para Extract, Transform and Load) ferramenta utilizada. ''''Peridica pode significar
''Dirio'', mas mais frequentes ou s vezes at cargas mais raros so com-
seg. Peridico carregamento de dados tambm referida como por lotes ETL, ao contrrio
em tempo real ETL. No primeiro caso, vrios registros so transformados em um nico lote;
na operao de um segundo no sistema de origem imediatamente capturado e
carregados no data warehouse. Atualmente, a maioria dos armazns de dados so
carregados
utilizando ETL por lotes, mas tambm com o lote de carga uma freqncia quase em tempo
real
pode ser necessrio. Considere, por exemplo, a carga de dados do oramento, quando este
alteraes de dados apenas uma vez por ms ou uma vez por trimestre, completamente
intil para carregar
o oramento de cada dia. Por outro lado, quando o data warehouse usado
de relatrios operacionais, bem como, os dados precisam ser o mais atualizado possvel.
Ao utilizar ETL por lotes, isso poderia significar a execuo do processo de cinco em cinco
minutos. ETL usada no somente para extrair dados dos sistemas de origem e
carregamento do armazm de dados, mas tambm para a manuteno de dados relacionais
ou data marts
mover dados de uma fonte para outra.
A rea de preparo
Cada soluo de data warehouse deve usar um rea de teste onde os dados extrados
armazenada e, eventualmente transformado antes de carregar os dados na central
armazm. A implementao desta parte da arquitetura como uma parte separada do
de arquitetura de dados do armazm uma prtica comum para que siga essa orientao
aqui tambm. A World Class Filmes data warehouse usa uma plataforma separada
catlogo (catlogo o prazo para banco de dados MySQL) chamado wcm_staging mas CSV
arquivos so usados tambm.
Qual o propsito de uma rea de teste, quando poderia simplesmente usar a nossa
ferramenta de ETL
para carregar os dados diretamente no data warehouse? Existem vrias razes:
Fonte vezes a carga do sistema deve ser mantido a um mnimo absoluto, de modo
quando os dados so extrados de tabelas do sistema fonte, a melhor prtica para
copiar os dados''como''para as tabelas de paragem o mais rapidamente possvel.
Usando uma rea de teste em separado permite que voc trabalhe em um subconjunto
especfico
dos dados, ou para ser mais especfico, apenas os dados que necessrio para o
execuo atual.
Um esquema dedicado permite triagem especfico ou a indexao ainda mais
otimizar e apoiar o processo de ETL.
Captulo 6 Data Warehouse Primer 119
A rea de preparo uma rede de segurana: um processo pode falhar antes de
completar.
Como uma rea de teste contm todos os dados a serem processados, um processo
pode
ser reiniciado a partir do ponto de incio ou a meio sem que o
dados a serem extrados novamente. Alm disso, o conjunto de dados na rea de teste
no muda durante uma nica execuo; carregar novamente a partir do sistema de
origem
impe o risco de os dados serem alterados, pois a carga anterior.
Lembre-se que a rea de teste contm apenas os dados atuais extrados,
o que significa que aps uma carga de sucesso ou antes de executar o processo de ETL
todos
tabelas esto sendo truncados novamente. s vezes, um arquivo histrico adicionado
a arquitetura contendo todos os dados extrados com uma hora de carga, mas acrescentou
este um banco de dados separado, e no uma rea de preparo.
Modelando uma rea de teste um processo muito simples, especialmente quando
tabelas so truncadas de cada vez. Basta duplicar a definio da fonte
tabelas sem todas as teclas e os ndices e est feito. Remoo de estrangeiros
restries de chave impe alguns riscos de inconsistncia de dados, mas isso pode ser
combatido com um trabalho de ETL cuidadosamente. Se os ndices so usados em tudo no
estadiamento
tabelas, sua finalidade deveria ser apenas para ajudar a acelerar a transformao
nada do processo, outra coisa.
O Armazm de Dados Central
regras estritas sobre como arquiteto de um data warehouse no existem, mas nos ltimos
15 anos algumas arquiteturas comuns tm surgido. Para ajudar voc a decidir qual
o melhor para os seus fins, sempre uma boa idia de olhar para benchmarks
e estudos de caso de implementaes DWH, como The Data Warehousing Institute
(TDWI) fez em 2006. A pesquisa realizada TDWI distinguidos cinco possveis
formas de arquitetar um data warehouse e teve-as com base no sucesso da
arquiteturas diferentes. O diagrama na Figura 6-3 mostra os cinco alternativas.
Descrevemos aqui brevemente essas arquiteturas e explicar algumas das vanta-
vantagens e desvantagens de cada um antes de explicar as escolhas feitas para a
casos de exemplo neste livro.
marts independentes de dados cada data mart construdo e carregado indiv-
aliado, no h metadados comum ou partilhado. Esta tambm chamado de funil
soluo.
Dados de nibus A-mart Kimball soluo com dimenses adequadas.
Hub and spoke (fbrica de informaes corporativas)-O soluo Inmon
com um armazm de dados centralizado e marts dependentes de dados.
armazm de dados centralizado-Similar ao hub and spoke ", mas sem a
raios, ou seja, todo o acesso do usurio final est diretamente orientada para o data
warehouse.
Federados-An arquitetura, onde vrios data marts ou data warehouse,
casas j existem e esto integrados mais tarde. Uma abordagem comum
120 Parte II Dimensional Modelagem e Design de Data Warehouse
para isso construir um data warehouse virtual onde todos os dados ainda residem
nos sistemas fonte original e logicamente integrados utilizando especiais
solues de software.
Independente de Dados Arquitetura de Data Marts
Fonte
sistemas
Encenao
rea
Independente de data marts
(Atmica / dados resumidos)
usurio final
acesso e
aplicaes
Data Mart Bus Architecture com Linked Dimensional Data Marts
usurio final
acesso e
aplicaes
Fonte
sistemas
Encenao
rea
dados Dimensionalized
marts ligadas por
dimenses conformado
(Atmica / dados resumidos)
Hub e Spoke Arquitetura (Corporate Information Factory)
Fonte
sistemas
Encenao
rea
Relacional normalizada
warehouse (dados atmicos)
usurio final
acesso e
aplicaes
data marts dependentes
(Resumido / alguns
dados atmicos)
Centralizada Arquitetura de Data Warehouse
Fonte
sistemas
Encenao
rea
Relacional normalizada
armazm (atmica /
alguns dados resumidos)
usurio final
acesso e
aplicaes
Federados Arquitetura
Armazns de dados existentes,
data marts, e
sistemas legados
Lgico / fsico
integrao dos comuns
elementos de dados
usurio final
acesso e
aplicaes
Diagrama de Thilini Ariyachandra e Hugh J. Watson da Data Warehousing Institute, usada com permisso.
Figura 6-3: arquitetura de dados alternativas armazm
Dos cinco abordagens tanto independentes de data marts e federados arqui-
ras receberam uma pontuao significativamente menor em TDWI que os outros trs, mas
Captulo 6 Data Warehouse Primer 121
o mais interessante o fato de que o hub de nibus, e falou, e centralizado
arquiteturas de pontuao sobre o igualmente bem.
A diferena entre o hub e falou arquiteturas centralizada e no
que grande; data marts dependentes so adicionados como raios apenas para o desempenho
razes. H ainda um grande hub poucos chamados e falou de data warehouse
implementaes que usam apenas vistas a definir os data marts, o que resulta
em um data mart lgico, sem qualquer ganho de desempenho. A grande diferena,
No entanto, entre centralizada ou hub and spoke por um lado, eo nibus
arquitetura sobre o outro o custo eo tempo de construo do primeiro incremento,
ou parte utilizvel do data warehouse. Como seria de esperar, este custo
consideravelmente maiores em um hub e falou soluo. Alm disso, as informaes
no armazm de dados , de preferncia expostas na forma de dados dimensional
marts de qualquer maneira uma vez que este modelo fcil de entender para os
desenvolvedores que criam
solues para usurios finais ou mesmo usurios avanados que podem aceder data marts
diretamente.
Esta a razo pela qual ns vamos basear a nossa solues de dados exemplo armazm no
nibus
arquitetura.
Ns recomendo vivamente a leitura do relatrio completo, que ainda est disponvel online
em http://www.tdwi.org/Publications/BIJournal/display.aspx?ID=7890.
Data Marts
A partir da discusso na seo anterior, pode parecer uma data mart
contm apenas um conjunto limitado de dados. A fim de atender s necessidades especficas
de um
organizao, um data mart pode realmente cobrir apenas um processo especfico e ser
restrito aos limites do processo. Voc no vai encontrar ausncia do empregado
informaes em um data mart de vendas, por exemplo, porque um analista de vendas no
preciso dessa informao.
Do ponto de vista tcnico ou banco de dados, no entanto, no h nenhuma limitao para
a quantidade ou o tipo de dados que podem ser includos em um data mart. Por exemplo,
considere uma empresa de telecomunicaes que quer analisar mdia das chamadas
durao por tipo de subscrio, grupo de clientes, e perodo. Tal detalhada
anlise exigiro que todos os registros de detalhes da chamada ser includo na data mart,
o que poderia facilmente adicionar at milhares de milhes de registros na tabela de fatos. Na
verdade,
empresas at comprar hardware especializado para este tipo de anlises que podem
crunch colees tamanho terabyte de dados em segundos.
Cubos OLAP
Como voc j viu, um data mart pode ser definida como um conjunto de pontos de vista sobre
uma central
depsito (data mart virtual), mas no caso de utilizao da arquitetura de barramento, o
armazm de dados consiste em um conjunto integrado de data marts que no precisam de um
camada extra em cima deles. Este no o fim da histria, entretanto. Para completar
a imagem, temos de introduzir um outro tipo de armazenamento, que freqentemente usado
122 Parte II Dimensional Modelagem e Design de Data Warehouse
para data marts, e isso o motor OLAP. OLAP um acrnimo para OnLine
Analytical Processing e tem sido h dcadas, embora o termo
OLAP s foi introduzido em 1993 por Codd2 E.F. Provavelmente o mais conhecido
Banco de dados OLAP no mundo o Analysis Services, desenvolvido originalmente pela
Israel empresa de software Panorama, mas mais tarde adquirida pela Microsoft, que agora
pacotes do produto com o seu banco de dados. A idia de um banco de dados OLAP
usar um formato de armazenamento otimizado para anlise de dados em um multi-
dimensional
formato para oferecer a flexibilidade do usurio e acesso muito rpido. A velocidade oferecida
pela
bancos de dados OLAP causada pelo fato de que a maioria dos totais e subtotais (aka
agregaes) so pr-calculadas e armazenadas no OLAP cubo. Embora um
cubo OLAP pode ter muito mais do que trs dimenses, um banco de dados OLAP
freqentemente visualizado como um cubo de Rubik, da o nome cubo.
Formatos de armazenamento e MDX
Trs variaes de bancos de dados OLAP existir, cada um nomeado com base no
armazenamento
formato que usado:
MOLAP (OLAP Multidimensional)-O formato original em OLAP
que os dados so armazenados em um formato proprietrio multidimensional. Todos
dados detalhados e agregados so armazenadas no arquivo de cubo. Um bom exemplo
de uma fonte aberta de banco de dados MOLAP PALO, desenvolvido pelo alemo
Jedox empresa.
ROLAP (OLAP Relacional)-Em Neste caso, os dados e todos os agregados so
armazenadas em um banco de dados relacional padro. O motor traduz ROLAP
consultas multidimensionais em SQL otimizado e, geralmente, acrescenta o cache
capacidades, bem como para acelerar as consultas subsequentes analtica. Pentaho
Mondrian um exemplo perfeito de um motor de ROLAP.
HOLAP (OLAP Hbrido)-In HOLAP, agregados e dados de navegao
so armazenados em uma estrutura MOLAP, mas dados detalhados mantido no
relacional
banco de dados. At o momento, no h soluo open source HOLAP disponveis, mas
algumas das vantagens foram incorporadas no Mondrian com a
Alm de quadros gerados automaticamente agregadas para agilizar consultas.
Todas essas solues tm Multidimensional Expressions ou consulta MDX
lngua em comum. MDX fornece uma sintaxe especializada para consultar dados
armazenados em cubos OLAP, como o SQL faz para tabelas relacionais. A linguagem
foi introduzido pela primeira vez pela Microsoft em 1997 como parte do OLE DB para OLAP
especificao, mas foi rapidamente adotado pela maioria dos vendedores de OLAP.
A razo para o desenvolvimento de uma linguagem especializada para anlise de dados
OLAP
armazena dados que o SQL no foi muito bem adaptado para fazer isso. Embora ao longo
dos
2 Para
um panorama da histria dos motores OLAP ver http://olapreport.com
/ Origins.htm.
Captulo 6 Data Warehouse Primer 123
anos, a linguagem SQL foi estendido com recursos analticos, MDX ainda
o padro de fato no mundo OLAP. Para aqueles ansiosos para comear bem
distncia: Captulo 15 aborda os conceitos bsicos de MDX para utiliz-lo em conjunto com
Mondrian. No ano de 2000, a especificao do XML for Analysis (XML / A) foi
introduzido, que agora um padro de fato para consultar bancos de dados OLAP.
XML / A estende a linguagem MDX com tags XML padronizado para permitir
execuo de instrues de consulta sobre HTTP utilizando mtodos SOAP.
O servidor OLAP Mondrian suporta MDX e XML / A, que faz
uma soluo muito verstil para todos os tipos de cenrios, mas tenha em mente que
Mondrian no nem de armazenamento de dados (dados reside no relacional subjacente
banco de dados), nem uma ferramenta de anlise (voc ainda vai precisar de um front-end
para anlise
de dados). Ento, quando voc estiver usando Mondrian como a soluo OLAP (R) em sua
ambiente de Data Warehouse, os componentes ser parecido com o esquema de
Figura 6-4.
Banco de dados SQL
Mondrian
ROLAP
Anlise
A extremidade
dianteira
Figura 6-4: Data Warehouse com Mondrian
Isto conclui a descrio de data marts a partir de uma base tecnolgica mais e
perspectiva conceitual; captulos 7 e 8 cobrir os desafios de design
envolvidos com o desenvolvimento de data marts.
Desafios do Armazm de Dados
Descrevendo os diferentes componentes da arquitetura de um data warehouse meramente
serve como ponto de partida e explicar a terminologia comum. Os prximos
algumas sees cobrem os principais desafios envolvidos com o armazenamento de dados:
qualidade dos dados, o volume de dados e desempenho, capturando os dados alterados e
evoluo das necessidades. tentador olhar para o armazenamento de dados como um
desafio tcnico, mas como j descrito em''A finalidade da
Data Warehouse''anteriormente neste captulo, os desafios organizacionais
provavelmente ainda mais importante e mais difcil de enfrentar. Isto especialmente
verdadeiro
em relao aos dados de gesto da qualidade, o tema da prxima seo, que
assume a liderana em locais de difcil endereo problemas que muitas vezes tm apenas um
nmero limitado
relao tecnologia.
124 Parte II Dimensional Modelagem e Design de Data Warehouse
Qualidade dos dados
Um dos maiores desafios em qualquer projeto de data warehouse garantir que os dados
qualidade (DQ). Segundo o principal analista do Gartner Group, no h uma
organizao no mundo que no tenha um problema de qualidade de dados, para ser
preparado para lutar algumas batalhas internas antes de ir viver com qualquer relatrio ou
Anlise da soluo. DQ problemas vm em uma variedade de formas que so impossveis
para cobrir completamente, mas o mais importante geralmente caem em uma ou mais
das seguintes categorias:
-Os dados duplicados mesma entidade est inscrita vrias vezes em um nico
sistema, ou a mesma entidade existe em vrios sistemas, mas no pode ser ligado
para a falta de falta de teclas ou referncias.
Dados incompletos, A entidades esto l, mas algumas das informaes
faltando, por exemplo, um nmero de casa em um endereo, um nmero de telefone, ou
qualquer outra propriedade de uma entidade empresarial (uma entidade de negcios
pode ser qualquer coisa
aqui, que vo desde uma aplice de seguro de um avio). Uma corretamente
sistema projetado deve impedir que os usurios insiram dados incompletos,
mas ainda existem muitos sistemas mal concebidos l fora. E
mesmo quando uma empresa usa um sistema ERP como SAP ou Oracle,
provvel que os dados a partir de sistemas mais antigos, foi migrado para estes
sistemas,
que mais uma vez motivo de dados incompletos ou inconsistentes.
Todos os dados incorretos dados disponveis e completo, mas tem erros devido
s entradas com erros ortogrficos ou erros de digitao. A fonte mais comum de
incorreto
os dados so agentes de call center que ter de introduzir manualmente os nomes,
endereos,
e outras informaes que lhe so transmitidas pelo telefone. Digitao e ouvir
velocidades diferentes, e l voc vai.
Os dados conflitantes, mesmos dados so armazenados em tabelas diferentes (em
o mesmo sistema), ou nos sistemas de origem diferente e contradiz a cada
outras.
Impreciso metadados-Definies dos dados em um sistema no so claras,
levando a ambigidade dos dados em si. Como exemplo, pense em um utilitrio
empresa definir os seus clientes como pontos de conexo com um endereo,
resultando no envio de contas para postes de luz.
Falta de dados-Este uma verso extrema de dados incompletos, onde
registros completos que deve ser no sistema ou estavam l mais cedo tm
desaparecido. Este obviamente o mais difcil categoria de problemas para resolver
porque na maioria dos casos no sequer evidente que existe um problema.
Campos de valores em NULL em um banco de dados que no tm nenhum valor. O
problema
que isso pode significar coisas diferentes: no se aplica, desconhecido ou ausente.
Captulo 6 Data Warehouse Primer 125
Muitas ferramentas esto disponveis, tanto de origem proprietrios e abertos, que podem
ajudar
solucionar um ou mais desses problemas, mas no h uma ferramenta no mundo
que resolve o verdadeiro problema, que a falta de normas, procedimentos e adequada
os processos. Resolvendo problemas de qualidade de dados no um problema tcnico,
uma
problema de organizao. E ainda que ir mostrar-lhe algumas solues
dados atravs de perfis e ferramentas de qualidade de dados, incluindo as etapas de
validao
disponvel em Chaleira nos captulos 9 e 10, voc ter que ter muito cuidado na
aplicao destas.
Em muitos projetos de data warehouse a melhoria da qualidade de dados includo como
um
dos objetivos do projeto, pois o armazm de dados precisa conter vlido e
dados corretos. Ou no? Ns gostamos de pensar de forma diferente. A via adequada para
exame,
na nossa opinio, a primeira pr todos os procedimentos corretos em torno da qualidade dos
dados
no lugar como parte do processo de negcio principal, em seguida, limpar a fonte
sistemas, e s depois de todo esse trabalho tem sido feito iniciar o carregamento dos dados.
Porque a partir deste ponto o processo de DQ est guardando a fonte de dados, o
a equipe do armazm de dados pode se concentrar em fornecer informaes teis ao fim
usurios e analistas. Isso faz parte de um tpico mais amplo chamado governana de dados,
que,
como finanas ou produo, trata seu objeto gerenciado (neste caso, os dados) como um
ativo corporativo. E, assim como qualquer outro processo empresarial envolvendo ativos como
dinheiro, recursos fsicos, ou empregados, um quadro de controlo adequado s necessidades
de estar no lugar.
Infelizmente, isso ainda utopia para a maioria das organizaes. Data Warehouse
projetos geralmente pegar um atalho por etapas, incluindo limpeza de dados como parte de
o processo de carregamento sem alimentar as excees de volta para o negcio ou outra
fonte
sistemas. E porque este um livro sobre a construo de solues de BI com Pentaho,
vamos mostrar a voc como configurar isso. Basta ter em mente que esta uma soluo para
apenas parte do problema! Dados Vault e Qualidade de Dados
H uma nova escola de pensamento com base em um conceito chamado dados vault. Dados
vault (DV) uma tcnica de modelagem de banco de dados que radicalmente diferente da
modelo tridimensional conformada que estamos usando neste livro. modelos DV se baseiam
no conceito de que todos os dados pertence a um dos trs tipos de entidades: hubs, links,
e satlites. Em suma, os centros de conter os principais atributos de entidades empresariais
(Como ordens, produtos e clientes), links definir as relaes entre
os hubs (por exemplo, encomendas de clientes ou categorias de produtos), e os satlites
conter todos os outros atributos relacionados com os hubs ou links, incluindo todos os
atributos
mudar a histria. Figura 6-5 mostra um exemplo parcial de como o mundo
Classe data warehouse Filmes olharia quando traduzido em uma abbada de dados
modelo.
126 Parte II Dimensional Modelagem e Design de Data Warehouse
hub_employee
Integer (10) [PK]: employee_key
INT (8): employee_id
load_timestamp: TIMESTAMP (12)
sat_employee
Integer (10) [PFK]: employee_key
load_timestamp: TIMESTAMP (10) [PK]
first_name: VARCHAR (30)
CHAR (1): middle_initial
last_name: VARCHAR (30)
date_of_birth: DATA
gender_lookup: SMALLINT (5)
INT (8): region_id
nome_cidade: VARCHAR (64)
address1: VARCHAR (50)
address2: VARCHAR (50)
postal_code: VARCHAR (10)
email_address: VARCHAR (64)
telephone_number: CHAR (12)
sat_job_description
Integer (10) [PFK]: job_description_key
load_timestamp: TIMESTAMP (10) [PK]
job_title: VARCHAR (30)
job_description: VARCHAR (64)
link_employee_job
Integer (10) [PK]: lnk_employee_job_key
load_timestamp: TIMESTAMP (0)
Integer (10) [FK]: employee_key
Integer (10) [FK]: job_description_key
SMALLINT (5) [FK]: warehouse_key
hub_job_description
Integer (10) [PK]: job_description_key
SMALLINT (5): job_description_id
load_timestamp: TIMESTAMP (10)
sat_warehouse
Integer (10) [PFK]: warehouse_key
load_timestamp: TIMESTAMP (10) [PK]
nome_cidade: VARCHAR (64)
address1: VARCHAR (50)
address2: VARCHAR (50)
postal_code: VARCHAR (10)
email_address: VARCHAR (64)
telephone_number: CHAR (12)
load_timestamp: TIMESTAMP (10)
hub_warehouse
Integer (10) [PK]: warehouse_key
SMALLINT (5): warehouse_id
load_timestamp: TIMESTAMP (12)
Figura 6-5: Dados exemplo abbada
A grande vantagem da tcnica a sua flexibilidade. Adicionar
atributos ou tipos de transao nova relativamente simples, no h
necessidade de reconstruir a qualquer uma das partes j existentes do banco de dados. Por
outro lado, um
abbada de dados no acessvel a qualquer utilizador final, nem mesmo um analista
experiente.
Somente aps a construo de data marts da abbada de dados, que inclui processos
de limpeza e, possivelmente, conforme dados sujos, as informaes podem ser
disponibilizar aos utilizadores finais. Outra desvantagem possvel o fato de que o
nmero de tabelas no data warehouse ser grande em comparao com um tradicional
normalizado ou arquitetura de barramento de dados, tornando o DVD mais difcil de gerir.
Do ponto de vista da qualidade dos dados, utilizando-se uma abbada de dados tem um
grande
vantagem: os dados do DV carregado a partir de sistemas de origem''como'', assim se
os dados so sujos no sistema de origem, suja no cofre de dados tambm. Se
uma correo feita no sistema de origem, os dados corrigidos adicionada ao
abbada de dados como uma nova verso. Se existirem sistemas de mltiplas fontes, o
sistema
do registo includo na chave dos dados armazenados. O resultado de tudo isso
que uma abbada de dados sempre pode reproduzir a informao que estava armazenada em
um
sistema de origem em qualquer ponto do tempo, o que torna a soluo ideal em casos
onde auditabilidade e rastreabilidade de dados e transaes so de preenchimento
obrigatrio,
Captulo 6 Data Warehouse Primer 127
como nas empresas bancrias ou de seguros. Todos limpeza, fuso e converso
de dados que geralmente ocorre entre a rea de teste e data marts em
uma arquitetura de barramento ocorre agora entre a abbada de dados e data mart.
E porque toda a histria est disponvel no cofre, data marts podem ser facilmente
eliminados ou transformados em uma outra maneira para responder a questes de negcio
diferentes.
Na comunidade de BI, um dos maiores chaves ao longo dos ltimos
dos anos tem sido Verso nica da verdade, o que significa que os dados em uma base de
dados
armazm (no importa como ele modelado) significa a mesma coisa para todos os
diferentes
pessoas que trabalham com os dados. Dados profissionais vault olhar para esta ligeiramente
diferente: sua opinio que a nica verdade a fonte de dados (Single Version
dos fatos), que no deve ser transformada em qualquer forma, quando entrou em
o data warehouse. Daquele ponto em diante, cada usurio ou departamento pode ter seu
''prpria verso da verdade''criado na data mart: retrocesso ao real
''''A verdade sempre possvel, ento.
Se voc estiver interessado em aprender mais sobre como usar o cofre de dados, por favor
visite
site do inventor em www.danlinstedt.com/.
Usando dados de referncia e Master
O termo gerenciamento de dados mestre (MDM) usado para descrever todos os processos
e tecnologias necessrios para cumprir as definies de dados uniforme e contedo de dados
em uma organizao. Mestre de gerenciamento de dados uma rea adjacente aos dados
armazenamento com a sua prpria gama de conceitos, livros, mdicos, e conferir-
diferenas a respeito do tema. No contexto de um data warehouse, necessrio
para cobrir os princpios bsicos do MDM, porque a ausncia de uma adequada MDM
processo pode fortemente afetar o sucesso de um projeto de business intelligence.
MDM tem a ver com o gerenciamento de informaes referentes s entidades empresariais
tais como clientes, produtos, fornecedores e locais. Um dos objetivos iniciais
de qualquer iniciativa do MDM identificar os sistema de registro de uma entidade. Em muitos
organizaes existem vrios sistemas que contenham um dos mencionados
itens, com os clientes''''entidade com a reputao de ser a mais
notoriamente complexo de lidar. Um sistema de registro do cliente identifica a
''''Ouro cpia dos dados do cliente e no deve ser confundido com o sistema de entrada
onde os dados so inicialmente inscritas ou mantida depois. Idealmente, estes dois
sistemas so os mesmos, mas isso no necessariamente o caso, especialmente quando h
muitos sistemas de entrada e apenas um sistema de registro.
Um exemplo desta ltima situao uma organizao que usa um produto
como o SugarCRM para manter todas as interaes com clientes via telefone e
e-mail, e Compiere como um sistema ERP que controla pedidos, transporte, e
faturamento de e para os mesmos clientes. Alm disso, os clientes tambm podem
entrar e manter seus prprios dados em um banco de dados separado por meio de um web
personalizada
aplicao como front-end, ento voc tem trs sistemas com os dados do cliente, cada
com a capacidade de atualizar esta informao. O problema fica ainda pior na
128 Parte II Dimensional Modelagem e Design de Data Warehouse
bancos, onde a maioria dos sistemas so orientados para os produtos em vez de orientada
para o cliente,
o que significa que cada produto tem seu sistema de dados prprio cliente.
Uma iniciativa partes caractersticas MDM muitos com um data warehouse
projeto: os dados precisam ser analisados, integrados e limpos. E, assim como dados
armazenamento, o MDM um processo, no um projeto. H, no entanto, tambm alguns
diferenas notveis. A diferena mais importante que ao contrrio de um data mart ou
armazm de dados, o MDM no pode nunca ser uma iniciativa do departamento, executado
somente dentro de
um departamento de atendimento ao cliente, por exemplo. E, claro, bom de dados mestre
inicialmente destinada a apoiar os sistemas transacionais para assegurar que as ordens
esto sendo enviados para o endereo correto e que os inquritos do cliente pode ser
direcionado para o nmero de telefone correto e pessoa de contato.
Os dados mestre no precisa se originam dentro de uma organizao: s vezes
melhor usar os mesmos dados externos que todo mundo est usando. Boa
exemplos destes so a regio ISO e tabelas pas que usamos no Mundo
Classe de banco de dados de filmes, ou o norte-americano Industry Classification System
(NAICS) para identificar em qual linha de negcios de uma empresa opera. Neste
caso, um organismo de normalizao cuida da gesto dos dados.
s vezes, esses dados mestre externo chamado dados de referncia para distingui-lo
a partir de dados mestre interno, que simplesmente chamado dados mestre.
A partir desta breve introduo, espero que ela imediatamente claro por que o MDM
to importante com relao a armazenamento de dados e qualidade dos dados: se houver
um sistema de identificao que contm a cpia correta de uma entidade empresarial, que
provavelmente a melhor fonte para alimentar as suas tabelas de dimenso a partir.
Volume de dados e desempenho
Como voc aprendeu anteriormente, duas razes para a utilizao de um ambiente fsico
separado
para um data warehouse o ganho de desempenho, em comparao com a pesquisa numa
regular
sistema de transao e da incapacidade dos sistemas de apoio tanto transacional
e consultas analticas. Outra coisa que facilmente esquecido na primeira a
facto de armazns de dados tendem a ficar muito grande, como resultado de armazenamento
de dados
de vrios sistemas em um longo perodo de tempo. Normalmente, os dados de transaes
podem ser arquivados aps um determinado perodo de tempo, por exemplo, depois de tudo
necessrio
relatrios externos s autoridades fiscais tenha sido finalizado. Isso libera espao
e acelera o sistema de transao, mas tambm faz com que o banco de dados inteis
para anlise de tendncias durante um perodo prolongado de tempo. Por este motivo, os
dados
armazm de retm todos os dados histricos, de preferncia no nvel mais detalhado,
resultando em enormes conjuntos de dados, por vezes, vrias centenas de Terabytes em
tamanho. Os armazns de dados maior, no momento da redao deste texto conter mais de
um Petabyte (1024 Terabytes =1 petabyte) de dados do usurio.
O maior desafio quando se tenta analisar essas quantidades de dados
conseguir um desempenho aceitvel de consulta para usurios finais. Diversas tcnicas
Captulo 6 Data Warehouse Primer 129
foram desenvolvidos ao longo dos anos para atingir esse desempenho, mas infeliz-
Infelizmente algumas destas tcnicas esto disponveis apenas em proprietrios caros
sistemas de gerenciamento de banco de dados como Oracle, SQL Server ou DB2. O se-
mugido lista ajuda a determinar qual tcnicas pode ser til em um data
warehouse para melhorar o desempenho da consulta:
Com a indexao nenhuma das medidas especiais tomadas, qualquer tabela em um
banco de dados apenas
uma lista no ordenada, com linhas de dados. Qualquer consulta precisa ler todos os
dados
a mesa (a.k.a. um varredura completa da tabela) para encontrar a resposta correta. Este
processo pode
ser acelerada por armazenar ponteiros para os dados corretos nos arquivos de ndice
especial.
ndices em um banco de dados so semelhantes aos ndices em um livro onde voc
pode olhar
uma palavra-chave e encontre todas as pginas que fazem referncia a esta palavra-
chave. Um especial
tipo de ndice o chave primria ndice, que o identificador exclusivo de um
linha. Se voc estiver usando InnoDB como o mecanismo de armazenamento do
MySQL, o principal
chave tambm denota a ordem de classificao fsica dos registros em uma tabela. Este
pode vir a calhar, porque uma grande quantidade de consultas tero uma referncia
data. Quando a data-chave a primeira coluna de uma tabela de fatos e de parte da
chave primria, a coluna pode ser colocada em ordem decrescente de classificao,
resultando
nas linhas mais recentes foram as primeiras linhas fsicas tambm. Recuperando
receita da semana passada, as vendas no ser uma tarefa muito demorada.
Bitmap-A indexao forma especial de ndice o bitmap ou bitmap
ndice. ndices de bitmap so uma opo ideal para indexao chamado baixo
cardinalidade colunas (colunas com um nmero relativamente pequeno de exclusiva
valores, como gnero ou gnero de filme). A idia bsica que, para a dis-
tinct nmero de valores na coluna, uma projeo bit criado
permite um acesso muito rpido para os valores indexados. Figura 6-6 contm um
exemplo simples disso, uma coluna com trs valores possveis com o
acompanham os valores de ndice de bitmap. Infelizmente, o suporte para bitmap
indexao planejada para uma futura verso do MySQL, mas no est disponvel
ainda.
Particionando-One dos novos recursos mais interessantes no MySQL 5.1
particionamento, que a capacidade de cortar uma tabela em vrias fsica
peas verticais. A vantagem desta tcnica que quando uma consulta
podem ser satisfeitas atravs dos dados em um ou um nmero limitado de parties, o
outras parties que no precisa ser olhado. Nesse sentido, uma partio
uma espcie de ndice de super. Suponha, por exemplo, que uma tabela muito grande
particionada por ms do ano e voc tem 36 meses de dados armazenados. A
referncia de consulta ao ltimo trimestre automaticamente limitada ao
ltimos trs parties, o que lhe poupa o esforo de olhar para o outro 33.
Outra vantagem do uso de parties a possibilidade de queda e (re) criar
parties, por exemplo, ao projetar um round robin''''esquema onde
os mais recentes 36 meses de dados esto sempre disponveis. Neste caso, o
partio mais antiga pode ser simplesmente descartado quando um novo para a corrente
meses podem ser facilmente adicionados para o carregamento de dados atual.
130 Parte II Dimensional Modelagem e Design de Data Warehouse
Tabela de dados
ID
1
2
3
4
5
6
7
COR
Vermelho
Verde
Amarelo
Verde
Amarelo
Amarelo
Verde
Bitmap Index
LX1
1
0
0
0
0
0
0
LX2
0
1
0
1
0
0
1
LX3
0
0
1
0
1
1
0
Figura 6-6: Bitmap exemplo de ndice
Agregao Todos tcnicas de aprimoramento de desempenho por objectivo limitar a
quantidade de dados a ser pesquisado para responder a uma consulta especfica. Isso
pode
tambm ser conseguido atravs de tabelas de agregados em que os resultados pr-
calculados
esto sendo disponibilizadas. Para responder pergunta:''Qual foi a nossa total
receita de vendas por ms por site?'', a consulta no precisa de consulta
Os dados pormenorizados e resumi-lo, mas pode obter os dados diretamente de um
tabela de agregados em que estes resultados esto prontamente disponveis. claro
que o
dados do processo de carga do armazm precisa reconstruir ou atualizar o agregado
tabelas de dados de cada novo tempo adicionado, o que pode tornar este um time-
consuming
e uma tarefa desafiadora, especialmente quando vrias tabelas de agregados foram
criado. Neste ponto, o Mondrian Designer vem agregada ao
de emergncia (ver Captulo 15) para criar essas tabelas automaticamente para voc.
As vises materializadas-A viso materializada '' uma viso com dados.''infeliz-
Infelizmente, este recurso no est disponvel em qualquer banco de dados open source.
Uma viso do banco de dados regular apenas uma definio que imita uma mesa, mas
no
contendo dados reais. Assim, quando uma tela com a receita total por ms por
gnero de filme criado (com soma''''e''''pelo grupo), o banco de dados precisa
para calcular estes resultados das tabelas de pontos de vista de base cada vez que o
ponto de vista
consultado. Uma viso materializada no s armazena esses valores calculados, mas
tambm atualiza automaticamente quando essas tabelas de base esto sendo
carregados
ou atualizados.
Agora, se isso fosse a nica vantagem, ainda seria possvel criar
uma soluo semelhante em qualquer atualizao de banco de dados usando triggers e
procedimentos.
A parte que ainda estariam desaparecidos, nesse caso, a verdadeira beleza
de vises materializadas: redirecionamento de consulta. Esse recurso analisa a consulta
orientada para as tabelas de detalhes e redireciona a consulta materializada
vista quando os dados necessrios est l ou no recupera os dados
das tabelas de detalhe. As vises materializadas podem aumentar drasticamente a
desempenho de um armazm de dados, mas, infelizmente, so suficientes apenas
disponvel em
as edies da empresa de bases de dados principais proprietrios.
Captulo 6 Data Warehouse Primer 131
Mesmo que no h banco de dados de cdigo aberto com esse apoio disponveis,
isso no significa que no h soluo. Novamente, Mondrian precisa
ser mencionado aqui, uma vez que funciona de forma semelhante quando tabelas
agregadas
foram definidos. Mondrian pode ento calcular o custo de resolver o
consulta e, quando se utiliza uma tabela de contagens agregadas melhor, ele usado
pelo
motor.
funes Janela-Para fins analticos, o SQL 2003 Standard
alargado com os chamados funes de janela. Isto permite uma consulta para executar
clculos em cima (parte de) um conjunto de resultados. A vantagem que uma tabela
nica
precisa ser digitalizado uma vez para gerar mltiplas sadas, tais como mdias ou
subtotais. Duas importantes adies SQL cuidar dessa funcionalidade: a
Mais e Partio clusulas. As funes de janela de trabalho em conjunto
regular com funes agregadas como Soma,MdiaE Contagem mas tambm
permite funes especiais, tais como Ranking () e Row_number ().
Janela de exemplo FUNES
A declarao a seguir um exemplo simples de uma tabela com trs colunas:
OrderID, ProductID, e RECEITAS. A tabela contm cinco linhas, com duas
distintas identificaes de produto:
Selecione CdigoDoPedido, ProductID, receita
SUM (receita) OVER (PARTITION BY ProductID) AS
PRODUCTTOTAL, SUM (receita) OVER () AS GRANDTOTAL
DA SQLWINDOW
ORDER BY 1
Os resultados da consulta so apresentados na Tabela 6-
1.
Tabela 6-1: Janela de resultado da funo Set
OrderID
1
2
3
4
5
ProductID
A
A
B
B
A
RECEITAS
3
3
5
5
3
PRODUCTTOTAL
9
9
10
10
9
GRANDTOTAL
19
19
19
19
19
(Continuao)
132 Parte II Dimensional Modelagem e Design de Data Warehouse
Janela de exemplo FUNES (Continuao)
Open Source Apoio janela banco de dados
PostgreSQL suporta funes de janela a partir da verso 8.4, mas o MySQL no
tm essa capacidade, no entanto, nem parte do roteiro MySQL. O MySQL tem apenas
uma funo Rollup para permitir a adio de totais e subtotais dentro do resultado do SQL
definido. A verso do MySQL da consulta anterior parecido com este:
SELECT IFNULL (ProductID, "ALL") AS ProductID,
SUM (receita) AS RECEITAS
DA SQLWINDOW
GROUP BY ProductID WITH ROLLUP
o que resulta em dados apresentados na Tabela 6-2:
Tabela 6-2: Rollup Resultados MySQL
ProductID
A
B
ALL
RECEITAS
9
10
19
Por favor, note que os resultados acumulados so rotulados NULL se no mea especiais
Sures foram tomadas. No exemplo anterior, a declarao do IFNULL toma
cuidado de traduzir o NULL valor para o texto ALL.
Lembre-Arquivamento quando disse que todos os dados histricos devem ser dis-
poder no armazm de dados no menor nvel de detalhe? Bem, ns mentimos (apenas
um
pouco). s vezes suficiente para manter os dados histricos em um agregado
nvel, que ainda pode ser perfeitamente aceitvel para apoiar a anlise de tendncias
(Por exemplo, para analisar as tendncias de vendas dirias por grupo de produtos basta
para armazenar dados no grupo de produto / dia). Um cenrio possvel seria
seja para manter os dados detalhados on-line em um prazo que se deslocam de 24 ou
36 meses;
Aps isso, apenas os agregados diria, semanal ou mensal estar disponvel.
claro que em casos especiais, os dados detalhados podem ser trazidos de volta a
partir de
o arquivo para sustentar a anlise detalhada.
A lista anterior mostra uma srie de maneiras para aumentar o desempenho em uma base
de dados
depsito, mas dependendo do banco de dados real sendo usado algumas dessas
recursos podem no estar disponveis. O Pentaho BI Suite banco de dados independente,
e enquanto estamos usando o MySQL como banco de dados de exemplo neste livro, haver
haver casos em que outros bancos de dados pode ser uma alternativa melhor. Seleo
Captulo 6 Data Warehouse Primer 133
um banco de dados para armazenamento de dados sempre uma questo de funcionalidade
necessria
versus oramento disponvel.
Captura de dados alterados
O primeiro passo para um processo de ETL a extrao de dados de diversas fontes
sistemas e armazenamento de dados em tabelas de teste. Este parece ser um trivial
tarefa e, no caso de inicialmente o carregamento de um armazm de dados geralmente ,
alm
dos desafios decorrentes dos volumes de dados e conexes de rede lenta.
Mas, depois da carga inicial, voc no deseja repetir o processo de completamente
extrair todos os dados novamente, o que no seria de muita utilidade, dado que voc
J tenho um quase completo conjunto de dados que s precisa ser atualizada para
refletem a situao atual. Tudo o que nos interessa o que mudou desde a ltima
carga de dados, ento voc precisa para identificar quais registros foram inseridos,
modificados
ou mesmo excluda. O processo de identificao dessas mudanas e s recuperar
registros que so diferentes daquilo que j est carregado no data warehouse
chamado Captura de dados alterados ou CDC.
Basicamente, existem duas categorias principais de processos CDC, intrusivo e
no-intrusiva. Por intrusiva, queremos dizer que uma operao de CDC tem um possvel
impacto no desempenho do sistema os dados so recuperados. justo dizer
que qualquer operao que exija a execuo de instrues SQL de uma forma ou
outra uma tcnica invasiva. A m notcia que trs dos quatro caminhos
para capturar os dados alterados so intrusivos, deixando apenas uma opo no-intrusiva.
As seguintes sees oferecem descries de cada soluo e identificar as suas
prs e contras.
Fonte de Dados Baseado em CDC
Fonte CDC baseadas em dados baseada no fato de que existem atributos disponveis
no sistema de origem que permitem que o processo de ETL para fazer uma seleo dos
alterado
registros. H duas alternativas aqui:
Leitura direta com base em timestamps (valores de data e hora)-At pelo menos um
timestamp necessria uma atualizao aqui, mas de preferncia dois so criados: um
timestamp de insero (quando o registro foi criada) e um timestamp atualizao
(Quando o registro foi modificada pela ltima vez).
Usando seqncias de banco de dados mais- bases de dados tm algum tipo de
auto-incremento opo para valores numricos em uma tabela. Quando tal
nmero de seqncia est a ser utilizado, tambm fcil identificar quais registros
foram inseridos desde a ltima vez que voc olhou para a mesa.
Ambas as opes requerem mesas extra com o armazm de dados para armazenar as
dados sobre a ltima vez que os dados so carregados ou a ltima seqncia recuperados
nmero. Uma prtica comum criar essas tabelas de parmetros ou em um
134 Parte II Dimensional Modelagem e Design de Data Warehouse
esquema separado ou na rea de teste, mas nunca no armazm de dados central
e certamente no em um dos data marts. Uma hora ou uma seqncia baseada em
soluo sem dvida o mais simples de aplicar e tambm por esta razo uma
dos mtodos mais comuns para a captura de dados alterados. A penalidade para a
essa simplicidade a ausncia de algumas capacidades essenciais que podem ser
encontrados
em opes mais avanadas:
Distino entre inseres e atualizaes somente quando o sistema de origem
contm inserir um carimbo e uma atualizao pode ser a diferena
detectada.
Excludos deteco registar-Este no possvel, a menos que o sistema de origem
apenas logicamente exclui um registro, ou seja, tem um fim ou excludo data, mas no
fisicamente excludo da tabela.
Vrias deteco update-Quando um registro atualizado vrias vezes
durante o perodo compreendido entre a anterior ea data corrente de carga, estas
atualizaes intermedirias se perder no processo.
Em tempo real capacidades, Timestamp ou extrao de dados baseada na seqncia
sempre uma operao em lote e, portanto, inadequado para dados em tempo real
cargas.
Trigger Baseado CDC
Database triggers podem ser usados para disparar aes mediante o uso de qualquer
manipulao de dados
declarao como INSERT,UPDATEOu DELETE. Isto significa que os gatilhos podem
tambm ser usado para capturar essas mudanas e colocar esses registros alterados em
quadros intermdios mudana nos sistemas de origem para extrair dados de mais tarde,
ou para colocar os dados diretamente nas tabelas de preparo do armazm de dados
ambiente. Porque a maioria dos gatilhos para adicionar um banco de dados ser proibido no
casos (que requer modificaes para o banco de dados de origem, que muitas vezes no
abrangidos por acordos de servio ou no permitido pelos administradores de banco de
dados)
e pode severamente abrandar um sistema de transaes, esta soluo, embora
funcionalmente atraente primeira vista, no foi implementado com muita freqncia.
Uma alternativa para usar os gatilhos diretamente no sistema de origem seria
para configurar uma soluo de replicao onde todas as alteraes s tabelas selecionadas
sero
replicado para as tabelas que recebem na parte lateral do armazm de dados. Estes replicado
tabelas podem ser estendidos com o exigido gatilhos para apoiar o CDC
processo. Embora esta soluo parece envolver uma grande quantidade de overhead de
processamento
e requer mais espao de armazenamento, realmente muito eficiente e no-intrusiva
uma vez que a replicao baseada na leitura mudanas a partir dos arquivos de log do
banco.
A replicao tambm uma funcionalidade padro de gerenciamento de banco de dados mais
sistemas, incluindo MySQL, PostgreSQL e Ingres.
CDC Trigger baseado provavelmente a alternativa mais intrusiva descrito aqui
mas tem a vantagem de detectar todas as alteraes de dados e permite quase em tempo real
Captulo 6 Data Warehouse Primer 135
carregamento de dados. As desvantagens so a necessidade de um DBA (o sistema de
origem
modificada) ea natureza de banco de dados especficos das demonstraes gatilho.
Instantneo baseado CDC
Quando no esto disponveis timestamps e dispara ou replicao no so uma opo,
o ltimo recurso usar tabelas instantneo, que pode ser comparada a alteraes.
Um instantneo simplesmente um extrato completo de uma tabela de origem que colocado
nos dados
armazm rea de preparo. Os dados da prxima vez precisa ser carregado, uma segunda
verso (instantneo) da mesma tabela colocado ao lado do original e da
duas verses em relao a mudanas. Tomemos, por exemplo, um exemplo simples de um
tabela com duas colunas, ID e Cor. A Figura 6-7 mostra duas verses deste
mesa, um instantneo instantneo e 2.
Snapshot_1
ID
1
2
3
4
COR
Black
Verde
Vermelho
Blue
Snapshot_2
ID
1
2
4
5
COR
Grey
Verde
Blue
Amarelo
Figura 6-7: verses Snapshot
Existem vrias maneiras de extrair a diferena entre essas duas verses.
O primeiro usar uma juno externa completa na coluna de chave de identificao e marca
as linhas do resultado
de acordo com seu status (I para Inserir, U para atualizao, D para Excluir e, para N
Nenhum) onde as linhas so filtradas inalterada na consulta externa:
SELECT * FROM
(Caso selecione
t2.id quando for nulo, 'D'
t1.id quando for nulo, 'I'
quando t1.color <t2.color> depois em 'U'
else 'N'
final como bandeira
, Caso
t2.id quando for nulo, t1.id
mais t2.id
final como id
, T2.color
fromsnapshot_1 t1
juno externa completa snapshot_2 t2
ont1.id = t2.id
) Um
onde 'N' flag <>
136 Parte II Dimensional Modelagem e Design de Data Warehouse
Isto , naturalmente, quando o banco de dados oferece suporte completo as junes
externas, o que no
o caso do MySQL. Se voc precisa de construir uma construo similar com o MySQL
Existem algumas opes, como as seguintes:
'U' Escolha como bandeira, como t2.id id, como a cor t2.color
de snapshot_1 t1 inner join snapshot_2 t2 em t1.id = t2.id
onde t1.color! = t2.color
Unio todos os
selecione 'D' como bandeira, como t1.id id, como a cor t1.color
de snapshot_1 t1 left join snapshot_2 t2 em t1.id = t2.id
onde t2.id nulo
Unio todos os
selecionar 'I' como bandeira, como t2.id id, como a cor t2.color
de snapshot_2 t2 t1 left join snapshot_1 em t2.id = t1.id
onde t1.id nulo
Em ambos os casos o resultado seja o mesmo, conforme apresentado na Figura
6-8.
BANDEIRA
U
D
I
ID
1
3
5
COR
Grey
NULL
Amarelo
Figura 6-8: Snapshot comparar resultados
A maioria das ferramentas ETL hoje contm funcionalidade padro para comparar dois
tabelas e as linhas como bandeira I,UE Dnesse sentido, assim voc ter mais provvel
usar essas funes padro em vez de escrever SQL. Pentaho Kettle, para
exemplo, contm o Mesclar linhas etapa. Esta etapa demora dois classificado conjuntos de
entrada
e compara-los nas teclas especificado. As colunas a serem comparados podem ser
selecionados, tambm, e uma sada de nomes de domnio da bandeira deve ser especificado.
CDC instantneo baseado pode detectar inseres, atualizaes e excluses, que um
vantagem sobre o uso de carimbos, com o custo de armazenamento extra para os diferentes
instantneos. Tambm pode haver um problema de desempenho grave quando as tabelas a
serem
comparao so extremamente grandes. Por esta razo, acrescentou a ilustrao SQL
porque para este tipo de trabalho pesado, o motor de banco de dados muitas vezes mais
adequados
de uma ferramenta de ETL motor baseado.
Log-base CDC
A forma mais avanada e menos invasiva de captura de dados alterados
usar uma soluo baseada em log. Cada inserir, atualizar e excluir executar a operao em
um
banco de dados podem ser registrados. Em casos usando um banco de dados MySQL, o log
binrio deve
ser habilitado explicitamente na ferramenta Administrador (variveis de inicializao Logfiles).
Daquele momento em diante, todas as alteraes podem ser lidos em tempo quase real a
partir do
Captulo 6 Data Warehouse Primer 137
log do banco de dados e utilizados para atualizar os dados no data warehouse. As capturas
aqui que isso soa mais simples do que realmente . Um arquivo de log binrio deve ser
transformado primeiro em uma forma compreensvel, antes das entradas pode ser lido
em um processo posterior.
A instalao do MySQL contm uma ferramenta especial para esse fim, mysqlbinlog.
Esta ferramenta pode ler o formato binrio e converte-lo em um pouco
formato legvel e de sada podem ler os resultados a um arquivo de texto ou diretamente
em um cliente de banco de dados (no caso de uma operao de restaurao). Mysqlbinlog
tem vrias
outras opes, com o mais importante para nossos propsitos o fato
que possa aceitar um comeo e / ou carimbo do tempo final para ler apenas uma parte do
arquivo de log.
Cada entrada tem tambm um nmero de seqncia que pode ser usado como um
deslocamento, por isso no
duas maneiras de evitar duplicados ou valores perdidos durante a leitura de
esses arquivos.
Aps a sada mysqlbinlog gravada em um arquivo de texto, este arquivo pode ser
analisado
e ler, por exemplo, um passo de entrada Chaleira que l os dados e executa
as declaraes sobre as tabelas de teste correspondente. Para outros bancos de dados no
So solues similares, e alguns oferecem um quadro completo do CDC, como parte de
sua soluo de data warehouse.
A desvantagem de usar um conjunto de banco de dados especfico de ferramentas bvia:
ele s
trabalha com um nico banco de dados. Sempre que houver a necessidade de utilizar um
registro baseado em
soluo em um ambiente heterogneo, vrias ofertas comerciais
disponveis no mercado.
Qual alternativa CDC deve voc escolher?
Como temos mostrado nas sees anteriores, cada uma das opes descritas para
identificao e seleo de dados alterados tm seus pontos fortes e fracos.
Algumas alternativas exigem adaptaes ao banco de dados de um banco de dados
administrador (DBA), alguns podem apoiar em tempo real o carregamento de dados, e outros
suportam apenas uma descoberta parcial de mudanas. Tabela 6-3 resume esses pontos
para ajudar voc a decidir qual opo mais aplicvel sua situao.
Requisitos Variveis de usurio
Isso pode parecer um lugar estranho para falar sobre a mudana de requisitos dos utilizadores
desde
geralmente isso envolve a parte de anlise e projeto de um data warehouse, que
abordada no captulo seguinte. No to estranho que possa parecer, no entanto. Um novo
exigncia de usurio geralmente significa aumentar o armazenamento de dados e da carga
processo de alguma maneira ou de outra. Novos ou requisitos de usurio alterada pode
levar a mudanas em seu data warehouse que vo desde a simples adio de um novo
coluna ou um clculo extra para adicionar um sistema de cdigo inteiramente novo. Usurio
mudanas de requisitos no pode ser apenas baseada na procura (a partir da perspectiva
do armazm de dados), mas tambm pode ser impulsionado por mudanas no funcionamento
138 Parte II Dimensional Modelagem e Design de Data Warehouse
sistemas. Um dos projetos mais desafiadores que voc pode embarcar em se ter um
substituio completa de um ou mais sistemas de origem, por exemplo, a migrao
da aplicao financeira de A para B aplicao financeira de um fornecedor diferente.
Agora imagine que os requisitos do usurio no muda em nada, o que significa que voc
tem que mudar todos os processos ETL sem quebrar a comunicao de informaes
existentes
ambiente, incluindo o data warehouse.
Tabela 6-3: CDC Opes
TIMESTAMP
Inserir / atualizar distino?
Vrias atualizaes detectado?
Exclui identificados?
No-intrusivo?
suporte em tempo real?
Independente do SGBD?
No DBA necessria?
N
N
N
N
N
Y
Y
SNAPSHOT
Y
N
Y
N
N
Y
Y
TRIGGERS
Y
Y
Y
N
Y
N
N
LOG
Y
Y
Y
Y
Y
N
N
impossvel cobrir todas as mudanas que podem ocorrer durante a vigncia do
um armazm de dados, mas h um princpio que deve ser clara e
acordado desde o primeiro dia do incio de uma possvel soluo:
Um armazm de dados um processo, no um projeto.
Portanto, agora que temos que sair do caminho, podemos comear a fazer planos para
acomodar esse processo com algumas diretrizes gerais. Apenas estar ciente das
fato de que tudo vai (finalmente) a mudana, seja ela de relatrios, sistemas de origem,
pessoas e departamentos que utilizam o sistema, basicamente, tudo relacionado ao
o data warehouse ir mudar em algum ponto no tempo. Certifique-se que estes
mudanas podem ser acomodados, seguindo as seguintes regras:
Projeto de data warehouse o como um conjunto de independentes (mas interligadas)
blocos de construo que pode ser facilmente substitudo por solues alternativas. Para
exemplo: suponha que o armazm de dados preciosos substitudo por
um aparelho de armazenamento de dados de outro fornecedor. Quanto no-padro
SQL que voc usa em processos de ETL ou consultas utilizadas para a comunicao?
Use as ferramentas e us-los direito. Todas as organizaes muitas vezes passam
baldes de dinheiro com fantasia de painis de BI e ferramentas de relatrios e contratar
consultores caros para implement-las, mas recusar um pedido de
Captulo 6 Data Warehouse Primer 139
$ 5.000 ferramenta para modelagem e gesto do armazm de dados. Em vez disso, eles
planilhas usar para armazenar as definies manualmente e criar bancos de dados e
tabelas usando as ferramentas padro que veio com o produto de banco de dados. Este
bom para criar rapidamente um prottipo, mas que to longe como deveria ir.
Padronizar. Escolha uma soluo e ficar com ela (a menos que hajam
Como
isso ajuda a acomodar as mudanas? Simples: Quase todo BI ou dados
ferramenta de depsito que voc pode comprar (ou baixar) vai fazer o trabalho. Alguns
pode ter uma interface mais extravagantes ou ter suporte para Flash velocmetros
enquanto outros no, mas basicamente o valor do negcio a informao,
no na apresentao. Um padro que permite ficar com uma organizao
para desenvolver habilidades de profundidade em torno de um produto. Ento, quando
uma nova exigncia
aparece, pode ser rapidamente implementada porque todas as habilidades j esto
disponveis. Este livro ajuda voc a atingir esse objetivo para o Pentaho BI Suite
mas a mensagem mesmo se aplica a todas as outras solues tambm.
Tendncias do Armazm de
Dados
Conclumos este captulo, destacando algumas das atuais e recentes
desenvolvimentos no armazenamento de dados: armazenamento de dados virtual, em tempo
real
armazenamento de dados, bancos de dados analticos, aparelhos de data warehouse, e
on-demand armazns de dados.
Data Warehousing Virtual
Este livro cobre uma abordagem clssica para o armazenamento de dados, o que significa
projetar e construir uma nova arquitetura armazenamento de dados e mover fisicamente
os dados para este armazenamento de dados, fazendo uso de ferramentas de ETL. Esta
abordagem
tambm conhecido como fsica armazenamento de dados. E quando h um fsico
soluo, h provavelmente uma soluo virtual. Como voc j pode
ter adivinhado, um data warehouse virtual no armazena uma rplica dos dados
extrados dos sistemas de origem, mas os dados permanecem nos dados operacionais
lojas. Do ponto de vista do usurio, no entanto, h uma camada especial criado
que traduz os dados transacionais em uma exibio de data warehouse. Dados Virtual
solues de armazenamento tambm pode integrar os dados dos sistemas de origem
diferente,
oferecendo uma exibio ao vivo para os dados, pois no momento da execuo de uma
consulta.
Esta provavelmente a mais notvel vantagem da utilizao deste tipo de soluo:
em tempo real, os dados atuais que voc estar olhando, e voc no precisa de muito
grande
de ferro para armazenamento de dados antes de ser capaz de analisar e informar sobre ela.
Naturalmente, h
so muitas desvantagens tambm: os dados no so limpos, conformada e validado.
Pode drenar o desempenho dos sistemas de origem, e no h nenhuma noo de
140 Parte II Dimensional Modelagem e Design de Data Warehouse
a histria de todos os dados so apresentados na sua forma actual, o que torna difcil de usar
de tendncias e comparaes histricas.
Em muitos casos, solues virtuais e fsicos so usados lado a lado,
onde uma consulta dirigida ao armazm de dados recupera dados histricos de
o armazm de dados fsicos e complementa-as com os dados atuais do
os sistemas de origem. Isso requer uma camada muito inteligente de metadados, que
ainda no est disponvel no quadro Pentaho. Uma opo a considerar na
neste caso, o banco de dados LucidDB analtica, que pode ser usado para embrulhar''''
vistas em torno de qualquer sistema de origem (incluindo, por exemplo, arquivos de texto) e,
em seguida,
comporta-se como uma soluo federados (veja a seo que segue na''Analtica
Bancos de dados''). As consultas so ento orientados para o banco de dados LucidDB, que
por sua vez
redireciona as consultas aos sistemas de origem respectiva. Note-se que esta apenas uma
alternativa leve para vrias solues proprietrias no mercado que tambm
conter caching inteligente e mecanismos de indexao, que LucidDB falta. A
de pleno direito open source soluo de federao de dados no est disponvel por muito
tempo,
mas no incio de 2009 a Red Hat fez sua soluo adquirida MetaMatrix disponvel
um projeto open source chamado Teiid (http://www.jboss.org/teiid).
Referncia Cruzada Para obter mais informaes sobre os dados virtual de armazenagem,
consulte as seguintes fontes:
www.tdwi.org / Publicaes / WhatWorks display.aspx /?
id = 7305
www.b-eye-network.com/channels/5087/view/9752/
www.b-eye-network.com/channels/1138/view/663
www.ebizq.net/topics/eii/features/8153.html
Real-Time Data Warehousing
Nos primeiros dias de data warehousing, semanais e at mesmo cargas mensais
eram uma prtica comum. Atualmente, as cargas dirias so consideradas padro e
h uma tendncia para se mudar para intradia ou at mesmo dados quase em tempo real
cargas. Essa tendncia coincide com uma outra, que visa trazer
Business Intelligence (BI) para o nvel operacional da organizao, tambm chamado
BI Operacional. Um bom exemplo disso os representantes de atendimento ao cliente
necessidade de up-to-date informaes sobre suas contas, incluindo todos os histricos
informaes relacionadas aos seus clientes. BI Operacional sobre um monte de pequenas
decises a serem tomadas por muitas pessoas como parte de seu trabalho dirio, em
oposio
ao BI ttico ou estratgico, o que deixa mais tempo para reviso completa. A
diagrama na Figura 6-9 mostra a relao entre o tempo necessrio para fazer uma
deciso e agir sobre ela, eo valor perdido quando a latncia entre o original
evento de negcios e da deciso tomada muito alto.
Captulo 6
Valor
Evento Business
Capture
Latncia
Data Warehouse Primer 141
Valor Lost
Dados prontos para anlise
Anlise
Latncia
Informao prestada
Deciso
Latncia
Ao Tempo
Ao
Tomadas
Time
Hackathorn Richard. Bolder Technology, Inc., 2007. Todos os direitos reservados. Usado com permisso.
Figura 6-9: Ao valor diagrama
Deste diagrama, voc pode ver que obter os dados para o data warehouse
em tempo real apenas uma parte da histria. Dados ainda precisam ser analisados e
atuada. Existem vrias maneiras de implementar uma soluo que carrega os dados
quase em tempo real, conforme abordado anteriormente no''''Mudou Data Capture seo,
e diversas solues comerciais no mercado que pode simplificar a configurao
de uma tal alternativa. Uma soluo que no foi mencionado l porque
no faz parte do CDC o uso de filas de mensagens. Nesse caso, cada evento de negcios
e os dados resultantes imediatamente repassado como uma mensagem que pode ser
pegou e transformado pelo ambiente de data warehouse. Em todos os casos,
No entanto, essa atualizao em tempo real, precisa ser firmemente ligado para as prximas
etapas
no processo, que tambm pode ser automatizado. Por exemplo, a anlise pode ser
feito usando regras de negcio que dispara automaticamente quando um determinado limiar
alcanado, que ento inicia aes correspondentes tambm. H um
Casal de muito boa fonte aberta regras de negcio motores disponveis, com Drools
(www.jboss.org / baba) E OpenRules (http://openrules.com), Provavelmente
sendo a mais madura e bem conhecida. Pentaho seqncias de ao
Os captulos 4, 13 e 17) tambm pode ser usado para essa finalidade.
Em tempo real, solues baseadas em mensagens que podem ser aplicadas regras de
negcio e fazer
clculos em tempo real so normalmente tratados como processamento de eventos
complexos (CEP).
Uma soluo open source CEP Esper (www.espertech.com), Que um
soluo baseada em mensagens que podem lidar com grandes volumes de dados de
streaming.
Estas ferramentas podem complementar ambientes de data warehouse, mas no so uma
substituto para o processo ETL conforme descrito anteriormente.
Referncia Cruzada Para obter mais informaes sobre os dados em tempo real de armazenagem,
consulte as seguintes fontes:
www.tdwi.org / Publicaes / WhatWorks display.aspx /?
id = 8913
142 Parte II Dimensional Modelagem e Design de Data Warehouse
www.ebizq.net / temas / operacionais bi / recursos
/ 10604.html
www.information-management.com/issues/20040901
/ 1009281-1.html
Bancos de dados analticos
Neste captulo, ns j explicou por que um armazm de dados precisa ser
arquitetada de uma maneira diferente do que um sistema operacional. No entanto, ainda mais
em
casos, o mesmo RDBMS que usado para o sistema de transao tambm selecionada
como banco de dados do data warehouse. Nos ltimos anos, muitos novos produtos
entrou no mercado, que contestou esta abordagem atravs da oferta de recursos que
so especificamente adaptadas para lidar com cargas de trabalho analtico. A utilizao de
OLAP
bases de dados de data marts j foi mencionado, mas uma das mais
abordagens radicalmente novo o surgimento dos chamados bases de dados em colunas ou
lojas de colunas. bases de dados Colunar no armazenam dados em linhas seqencialmente,
mas
horizontalmente em colunas. Isso resulta em uma srie de vantagens:
Poda-Mais consultas analticas pertencem somente a algumas colunas. Consultas
em bancos de dados baseados em linha sempre ler linhas completas a partir do disco,
mesmo
quando apenas duas colunas so selecionadas. Em uma loja de coluna, apenas os
selecionados
colunas precisam ser lidos. Esta caracterstica influencia fortemente o disco I / O,
que um dos limitadores de velocidade maior.
No h necessidade de indexao Porque uma loja de coluna j armazena os dados
coluna por coluna na ordem correta, cada coluna automaticamente sua
prprio ndice.
Porque compresso uma coluna sempre contm dados de um determinado
tipo de dados, os dados podem ser compactados de forma muito eficiente, reduzindo
ainda mais
disco I / O.
Somado a estas vantagens, as lojas de coluna mais comerciais, como Vertica,
ParAccel e XASOL pode ser executado em um processamento paralelo massivo (MPP)
cluster, o que refora ainda mais o desempenho dessas solues.
Ao considerar as alternativas de cdigo aberto, h trs produtos no valor de
vendo:
MonetDB (www.monetdb.com) um produto desenvolvido em holands Livre
Universidade de Amesterdo. Tem uma pegada muito pequena (aproximadamente 5
MB) e
projetado para funcionar principalmente na memria principal, o que explica a
impressionante
resultados de benchmark, mesmo para conjuntos de dados um pouco maiores de 10 e
20GB.
MonetDB recomendado para uso quando houver a necessidade de tempos de resposta
rpidos
conjuntos de dados menores (<10GB).
LucidDB (www.luciddb.org) um banco de dados de colunas concebido a partir do
solo com data warehousing e business intelligence em mente.
Captulo 6 Data Warehouse Primer 143
Ele tambm inclui recursos de ETL com extenses SQL especiais para construir
transformaes. Os desenvolvedores do Pentaho e LucidDB trabalhar em estreita
colaborao
juntos, o que torna esta uma alternativa vivel para pequenos data warehouse
ou dados implementaes mart. LucidDB um armazenamento de dados preferido para
a
Mondrian e tem suporte embutido para o designer Pentaho agregado. Em
Alm disso, Pentaho Data Integration contm um conector LucidDB nativas
a granel e carregador.
Infobright (www.infobright.com) Lanou uma edio de sua comunidade
banco de dados analticos em setembro de 2008 sob a licena GPL. O mais
caracterstica notvel do Infobright que ele age como um mecanismo de
armazenamento do MySQL,
assim voc pode usar o produto para aumentar a capacidade de armazenamento de
dados
do MySQL sem ter de executar ou aprender novas ferramentas. Infobright
capaz de lidar com volumes de dados de at 30 Terabytes e, portanto, um grande
companheiro para a sute de BI Pentaho. Um ponto de cautela, no entanto: o
verso de cdigo aberto no oferece suporte a manipulao de dados SQL INSERT,
UPDATEE DELETE declaraes. Dados precisa ser recarregado toda vez que se
voc precisa para fazer as atualizaes, tornando-se dificilmente utilizvel como um
armazm de dados
soluo. A verso comercial no tem essas limitaes.
Nenhum dos trs produtos mencionados aqui tm o processamento paralelo (MPP)
capacidades, da no pode haver limitaes de escalabilidade. No entanto, os dados
armazns fora do alcance Terabyte 10 ainda no so muito comuns, de modo a
maioria dos casos, essas alternativas podem ajudar na criao de um elevado desempenho
de arquitetura de dados do warehouse utilizando as solues de cdigo aberto.
Armazm de Dados Eletrodomsticos
O desenvolvimento final visvel no mercado de data warehouse o aumento
da assim chamada aparelhos. Ns todos sabemos que os aparelhos, como torradeiras ou
rdios
que s tm de ser conectado a uma tomada e voc est pronto e funcionando.
Aarmazm de dados do aparelho uma soluo plug-and-play que consiste em hardware
e software e tem como objectivo tornar o armazenamento de dados to fcil como torrar uma
fatia de
po. Porque este um mercado emergente, com apenas alguns fornecedores estabelecidos
e um monte de empresas que entraram recentemente no mercado, voc deve tomar
cuidado especial quando se considera uma destas solues.
Vrias empresas que comearam como vendedores de banco de dados analticos agora
parceiro
com empresas de hardware como a Sun (agora Oracle) ou a Hewlett Packard
entregar um aparelho completo. Um fenmeno interessante a adoo
da tecnologia open source dentro destes aparelhos. PostgreSQL, especialmente os
analisador de SQL, utilizada por muitos dos novos fornecedores. Greenplum, por exemplo,
no apenas com base a toda a soluo no PostgreSQL, mas tambm incorpora o aberto
biblioteca de fontes estatsticas Projeto de R para anlise avanada de dados e banco de
dados
minerao.
144 Parte II Dimensional Modelagem e Design de Data Warehouse
Uma das ltimas novos operadores no mercado o aparelho Kickfire
(www.kickfire.com), Que de particular interesse porque arquitetada como
um mecanismo de armazenamento do MySQL pluggable. Isso permite que os armazns de
dados desenvolvido para
MySQL com InnoDB ou MyISAM a ser migrado sem problemas
a um aparelho Kickfire. A empresa um dos poucos fornecedores de aparelho
ter publicado resultados de avaliao de desempenho em www.tpc.org e um
lder do preo / desempenho nos 100 e 300 Gigabyte benchmark TPC-H.
TPC-H uma referncia no setor de medio de desempenho de consulta de BI tpica
consultas como para determinar a quota de mercado ou de volume de vendas de
comunicao para um
determinado perodo.
Em Data Warehousing Demand
Com o advento da chamada computao em nuvem solues [com Amazon Elastic
Cloud Computing (EC2) da infra-estrutura sendo provavelmente o mais conhecido, mas
praticamente a nica soluo no mercado], ele est se tornando vivel para acolher um
armazm de dados ou at mesmo uma soluo de BI completa fora do firewall corporativo.
Solues para hospedagem de aplicativos em um centro de dados off-site j esto disponveis
desde o final dos anos noventa e foram oferecidos por Application Service Providers (ASPs).
Para distinguir os mais recentes desenvolvimentos do conceito ASP original, o
prazo Software como Servio ou SaaS foi introduzido, e s vezes as pessoas
mesmo falar de Banco de Dados ou Data Warehouse como um servio (DaaS, DWaaS3). A
grande diferena a arquitetura compartilhada, onde todos os clientes de um servio
partes uma soluo de infra-estrutura comum, no s a nvel tcnico, mas tambm a
o nvel de aplicao. Ao dividir os recursos disponveis de forma inteligente
(Tambm chamado de multi-tenant soluo), muitos usurios podem compartilhar os mesmos
servidores,
pedidos e licenas, tornando-a muito custo modo efetivo de operao.
Desenvolvimentos nesta rea esto avanando muito rpido por isso no podemos cobrir
qualquer fornecedor especfico ou oferecendo aqui (no so simplesmente demasiado muitos
deles), mas
na luta por uma viso completa precisvamos ressaltar a disponibilidade de
estas solues tambm.
Resumo
Este captulo apresenta uma ampla gama de conceitos e tecnologias relacionados com a
armazenamento de dados. Ns mostramos-lhe as seguintes coisas que vamos construir
para o resto do livro:
O que um data warehouse e como ele pode ajud-lo a atingir seus
objetivos de negcio
3 Qual
engraado, uma vez que a palavra holandesa Dwaas''''significa''Louco.''
Captulo 6 Data Warehouse Primer 145
A arquitectura global de um armazm de dados e todo o edifcio que constituem
blocos que podem ser identificadas dentro desta arquitetura
O objetivo de cada um dos blocos de construo do armazm de dados
Os principais desafios que enfrentam na construo de um armazm de dados: dados
qualidade, dados de desempenho, volume, capturando os dados alterados e adaptao
a evoluo das necessidades
Tambm destacamos a principal diferena entre os dois lderes do autor-
dades em modelagem de dados do armazm, Ralph Kimball e Bill Inmon, e apontou
por que ns escolhemos modelagem tridimensional e arquitetura de barramento para a nossa
exemplo de data warehouse.
Por fim, destacamos as principais tendncias em armazenamento de dados e ilustrado
como o Pentaho BI Suite, o banco de dados MySQL, e outros relacionados com fonte aberta
tecnologias caber dentro
CAPTULO
7
Modelagem de Negcios
Usando esquemas Star
Ao trabalhar com os dados do data warehouse, provvel que esquemas em estrela
so usados para entregar os dados para o usurio final. No diretamente, no entanto,
normalmente,
uma ferramenta de relatrio ou anlise usado para acessar os dados, enquanto os mais
avanados
os usurios podem usar uma ferramenta de consulta diretamente. No entanto, importante
observar que
esquemas estrela o veculo de escolha se trabalhar com um estilo Kimball
arquitetura de dados de nibus ou uma fbrica de informaes Inmon estilo corporativo.
NOTA H uma exceo a esta regra. Um analista avanado ou minerador de dados
muitas vezes precisa de acesso ao conjunto completo de dados no armazm de dados, assim
contornar os esquemas estrela criada em um data warehouse Inmon estilo
soluo. Essa discusso, entretanto, ser limitada a estrela acesso esquema.
O que um esquema em
estrela?
A primeira coisa que voc pode fazer : Por que esses modelos de banco de dados
chamado''Star
esquema?'' Provavelmente porque o diagrama de entidade-relacionamento deste tipo de
esquema se assemelha a uma estrela. O centro da estrela consiste em uma tabela fato
grande e
os pontos da estrela esto as tabelas de dimenso. A maioria dos usurios primeiro encontro
de uma estrela
esquema em um data mart de vendas com clientes, produtos, lojas, promoes e
tempo, como mostrado na Figura 7-1.
NOTA Apesar de usarmos cinco pontos para tornar o modelo se parecer com uma estrela, no de
meios necessrios para usar cinco pontos. Na verdade, mesmo uma tabela fato com apenas uma ou
duas
dimenso tambm chamado de esquema estrela.
147
148 Parte II Dimensional Modelagem e Design de Data Warehouse
Time
Promoo
Vendas
Fatos
Produto
Cliente Store
Figura 7-1: Star diagrama de esquema
a tcnica de modelagem que conta, no o nmero de tabelas de dimenso
utilizado. Um dos benefcios bvios de usar um esquema como este a sua simplicidade
e compreenso para os usurios finais. Muitas vezes, durante a fase de concepo do
um armazm de dados, esquemas estrela so usados para desenhar a traduo inicial de
questes de negcio em banco de dados diagramas lgicos.
NOTA Um diagrama simples e lgico ainda pode levar a uma maior complexidade tcnica
projeto que resulta em um modelo que menos compreensvel para o usurio final que o
projeto da placa inicial branco.
As tabelas de dimenso e tabelas de fato
A prxima pergunta , naturalmente: Qual a diferena entre a dimenso
e tabelas de fato, eo que torna algo uma tabela de fatos? Como voc vai ver
depois, a distino nem sempre clara, e h mesmo ocasies em que
uma tabela de dimenso em um esquema estrela pode tornar-se uma tabela de fatos de outra
estrela
esquema. Uma explicao simples que as tabelas de dimenso conter informaes
sobre as entidades de negcio (clientes, produtos, lojas) e as tabelas de fato sobre
eventos de negcios (vendas, transferncias, ordens). A diferena mais notvel a
as colunas mensurveis, tais como receitas, custos e itens, que fazem parte da
as tabelas de fatos. Alm disso, todos os diferentes ngulos e atributos que so necessrios
para resumir estes fatos so armazenados nas tabelas de dimenso. realmente muito
simples, se voc traduzir um pedido de relatrio tpicos, tais como''Mostre-me o total
valor da ordem por ms, por grupo de produtos''em um modelo tridimensional, como
apresentado na Figura 7-2. O item calculado de interesse (soma do valor do pedido)
um facto, o ms um tempo''''atributo pertencente dimenso de tempo e
Captulo 7 Modelagem de Negcios Usando esquemas Star 149
''Grupo''produto um produto de atributos pertencentes dimenso do produto.
A tabela de fatos, portanto, contm apenas as chaves estrangeiras apontando para a
dimenso
tabelas e atributos que podem ser agregados (elementos quantitativos). Dimenso
tabelas contm todos os atributos que descrevem uma perspectiva certa organizao
(Elementos qualitativos).
dim_date
Integer (4) [PK]: date_key
date_value: DATA (10)
date_daynr: TINYINT (1)
date_dayname: VARCHAR (10)
date_week: TINYINT (1)
date_monthnr: TINYINT (1)
date_monthname: VARCHAR (10)
SMALLINT (2): date_year
fact_orders
Integer (4) [PFK]: product_key
Integer (4) [PFK]: date_key
receitas: DECIMAL (6)
quantidade: SMALLINT (2)
shipping_cost: DECIMAL (6)
dim_product
Integer (4) [PK]: product_key
product_name: VARCHAR (10)
product_type: VARCHAR (10)
product_group: VARCHAR (35)
Figura 7-2: Star exemplo de esquema
Esta data mart lhe d muito pouca informao, pois contm apenas
algumas medies e duas dimenses. No entanto, um bom ponto de partida
ponto para ilustrar como funciona exatamente um modelo tridimensional:
Todas as linhas de fato so armazenados no mais baixo possvel granularidade nvel.
Por
granularidade, queremos dizer a granulao dos dados, uma tabela de fatos no nvel de
data
tem uma menor granularidade do que uma tabela de fatos no nvel do ms. A granularidade da tabela de fatos determinado pela combinao dos
granularidade das tabelas de dimenso. No exemplo, isto significa que para
cada combinao de produto e data de h um possvel fato linha. Nem todos os
combinaes devem estar presentes, claro!
Todas as medidas na tabela de fatos pode ser enrolada ou agrupadas pelos elementos
das tabelas de dimenso, de modo que este data mart pouco pode calcular sua receita
ms, ano e grupo de produtos ou por tipo e ano do produto, ou qualquer
outra combinao desejada.
Voc poderia argumentar que uma ordem tambm uma entidade empresarial e apenas a
ordem
linhas com as operaes especficas so fatos. De certa forma, essa suposio
correta. Este um caso onde a ateno especial necessrio na modelagem dos dados
marts. Mais adiante neste captulo vamos explicar o que necessrio uma ateno especial
e descrever outros tpicos mais avanados de modelagem dimensional. Por agora,
Basta manter a definio simples na mente.
Tabela de tipos de Fato
As tabelas de fatos nem sempre so baseados em transaces sozinho. Transacional tabelas
de fatos
so o tipo mais comumente usado, mas h um par de variaes que
precisa estar ciente. A primeira a acumulando instantneo peridico tabela.
Isso soa mais complicado do que realmente , a nica diferena entre
150 Parte II Dimensional Modelagem e Design de Data Warehouse
uma tabela de fatos regular e este so os campos de data vinculada a um processo especfico
que
precisa ser atualizada quando novos eventos ocorrem. Tomemos, por exemplo, World Class
processo de locao do filme, onde os DVDs so ordenados em uma data do pedido, enviado
sobre uma data de lanamento, e retornou em uma data de retorno. Porque no quero esperar
at que o processo est concludo para comear a digitar os dados, vamos comear por
adicionar
a linha de fato para o data warehouse, quando o pedido feito e, posteriormente,
acumular esta linha com as datas corretas como eles se tornam conhecidos.
Um tipo bem diferente da tabela de fatos o peridica instantneo, que como um
foto tirada a cada dia, semana ou ms. instantneos peridicos so usados quando
preciso congelar os dados que esto apenas indiretamente relacionadas com a transaco.
Um bom
exemplo, no armazm de dados WCM o inventrio de DVD. Os nveis de estoque
mudam constantemente e no h maneira de controlar essas longo do tempo por
usando uma tabela de fatos transacional. A nica opo aqui periodicamente tomar uma
instantneo que permite que voc relate sobre o aumento de nvel de estoque ou diminuio
ao longo do tempo.
Outra maneira de olhar para as tabelas de fatos de transaco e pelo instantneo
tipos de medidas que eles contm. Medidas na tabela de transao regular,
como receita de vendas, pode ser resumida em todas as dimenses, incluindo o tempo.
Estes so referidos como fatos aditivo ou medidas. As medidas em um peridico
tabela instantneo no pode ser facilmente resumida, pelo menos no quando vrios perodos
esto envolvidos. Resumindo os nveis de estoque semanal de DVD no lhe dar uma
estoque total anual! Estas medidas so chamados semi-aditivo, o que significa que
poder acrescent-los juntos (por exemplo, o inventrio total de todos os filmes que starring
Tom Cruise), mas precisa incluir um perodo de tempo ou de filtro para cortar os dados.
O ltimo tipo de medida o no-aditivos fato. Um bom exemplo desta
a temperatura ambiente. No faz sentido para resumir a temperatura
de salas diferentes ou perodos diferentes, apesar de voc sempre pode calcular
mdias.
NOTA A linguagem SQL no oferece suporte semi-aditivos e no aditivos
medidas, mas alguns servidores OLAP pode ser configurado para acomodar
exceo de agregao. Pentaho Mondrian (abordados no Captulo 15) no tem
suporte interno para medidas no e semi-aditivos.
A prxima parte do captulo aborda o SQL bsicos necessrios para a obteno de dados
de esquemas em estrela com tabelas transacionais e de fato se acumulando. Porque
esses dois tipos de tabela de fatos contm transaes, voc pode resumir com segurana
os nmeros que esto a.
Consultando esquemas Star
At agora, voc viu diagramas ligando tabelas de dimenso e de fato juntos, mas
em um banco estas so apenas as tabelas. As relaes nos diagramas so chave estrangeira
Captulo 7 Modelagem de Negcios Usando esquemas Star 151
restries, o que significa que no ser possvel inserir uma chave de produto em
a tabela de fatos ordens se essa chave no existir no dim_product dimenso
tabela. Obtendo dados do banco de dados outra coisa. Para isso, voc precisa
uma linguagem de consulta chamada Structured Query Language, ou SQL. Se voc no est
familiarizado com SQL, no se preocupe, o SQL que voc precisa para recuperar informaes
a partir de um esquema em estrela no muito complicado. E, embora este livro no um
texto SQL, cobrimos o bsico suficiente aqui para que voc possa comear a escrever
consultas para recuperar dados de data marts dados dimensionais. Tudo o que precisamos
para isso
o SELECT declarao, uma forma de juntando os diferentes quadros juntos, e um
compreenso de como grupo os resultados da consulta. Para comear, tem um
olhar para os blocos bsicos de construo de SQL para selecionar dados:
SELECT -Uma lista de colunas, constantes e expresses que deseja
recuperar a partir do banco de dados.
DA -As tabelas e exibies que contm os dados que voc precisa, incluindo
as relaes entre essas tabelas e exibies.
ONDE -As restries que voc deseja aplicar aos dados no selecionado
tabelas, exibies e expresses, excluindo as agregaes.
GROUP BY -Especifica o nvel de resumo da consulta. Todos os no-agregado
colunas e expresses na SELECT lista deve ser parte do GRUPO
POR declarao.
TENDO -Contm condies de resumir expresses, por exemplo, Tendo
soma (receitas)> 100000.
ORDER BY -Indica a ordem em que os resultados sero exibidos.
Se apenas a receita total necessrio que a tabela de fatos, no h necessidade de usar
JOINs ou GROUP BY clusulas, apenas o seguinte:
SELECT SUM (receita)
FROMfct_orders
Esta consulta pouco no lhe diz muito, assim voc pode adicionar a data
dimenso para o clculo da receita por ano:
SELECT
DA
JOIN
ON
GROUP BY
date_year, SUM (receita)
fct_orders
dim_date
dim_date.date_key fct_orders.date_key =
date_year
Agora voc tem uma consulta simples que a base para todas as consultas de outros
possveis
que pode ser executada contra um modelo de dados dimensional. A primeira linha com
o SELECT clusula diz que o banco de dados do conjunto de resultados ser semelhante. Em
seguida,
voc precisa dizer de onde os dados so recuperados usando o DA clusula.
152 Parte II Dimensional Modelagem e Design de Data Warehouse
Voc tambm quer JOIN uma outra mesa e voc precisa dizer que o banco de dados
colunas de juno ser baseada, neste caso, o date_key na dimenso
e tabelas de fato. Finalmente, os resultados so agrupados por todos os elementos do SELECT
declarao de que no fazem parte de uma funo agregada. Por exemplo, quando o
SELECT declarao parecido com este:
date_year SELECT, product_type, product_name, SUM (receita), SUM (quantidade)
o GROUP BY declarao deve ser
GRUPO PELA date_year, product_type, product_name
Para concluir esta consulta tudo que voc precisa para adicionar so os DA e JOIN
partes:
product_type, date_year, product_name,
SUM (receita), SUM (quantidade)
FROMfct_orders
JOINdim_date
ONfct_orders.date_key dim_date.date_key =
JOINdim_product
ONfct_orders.product_key dim_product.product_key =
GRUPO PELA date_year, product_type, product_name
SELECT
Os exemplos do SQL utilizado at agora ainda no o uso de apelidos. Um alias outra
nome que voc pode usar para se referir a uma tabela, coluna ou expresso. Embora eles
sejam
nem sempre necessrio, boa prtica sempre us-los. Adicionando o alias
total_revenue expresso SUM (receita) d mais sentido
coluna do resultado, e o uso de aliases para nomes de tabela permite uma notao abreviada
das condies de juno. Compare o seguinte JOIN clusulas para entender o que
queremos dizer com isso:
fct_orders DA
JOIN ON dim_date fct_orders.date_key dim_date.date_key =
versus
fct_orders FROM como f
JOIN dim_date SOBRE AS d f.date_key d.date_key =
H casos em que o uso de apelidos no opcional, mas necessrio. A
primeiro caso concreto em que os atalhos so, pelo menos, muito til quando o mesmo
nome da coluna aparece em mais de uma tabela do conjunto utilizado na consulta.
Suponha que no exemplo anterior voc quisesse incluir date_key na
conjunto de resultados. Como esta coluna parte da realidade como a tabela de dimenso,
o analisador de SQL no possvel determinar qual a tabela para escolher a coluna, assim
voc
Captulo 7 Modelagem de Negcios Usando esquemas Star 153
necessidade de incluir a referncia da tabela em seu SELECT declarao, por exemplo,
dim_date.datekey SELECT. Agora imediatamente bvio que o uso de uma
alias curto, como dvai poupar muita digitao. A instruo de consulta completa,
incluindo o uso de apelidos, agora a seguinte:
p.product_type, d.date_year, p.product_name,
SUM (f.revenue) AS total_revenue, SUM total_quantity (f.quantity) AS
FROMfct_orders AS f
JOINdim_date como d = ONf.date_key d.date_key
SOBRE AS JOINdim_product p = f.product_key d.product_key
GRUPO PELA d.date_year, p.product_type, p.product_name
SELECT
O segundo caso, onde alias no so apenas prticos, mas necessria quando
a mesma tabela usada em diferentes papis. Um exemplo uma pesquisa que pede para
todos
receitas por tipo de produto com data de fim em 2007 e uma data de lanamento em 2008:
SELECT
DA
JOIN
JOIN
JOIN
ONDE
E
GROUP BY
p.product_type, SUM (f.revenue) AS total_revenue
fct_orders AS f
dim_date SOBRE AS od f.order_date_key od.date_key =
dim_date como SD ON f.ship_date_key sd.date_key =
p dim_product SOBRE AS f.product_key d.product_key =
od.year = 2007
sd.year = 2008
p.product_type, d.date_year, p.product_name
A ONDE parte desta consulta abordado em mais detalhes em breve.
Junte-se a tipos
de
Nos exemplos usados at agora, usamos a clusula JOIN para combinar diferentes
tabelas. Embora isso seja tecnicamente correta, JOIN um atalho para a lista completa
declarao INNER JOIN. O termo interior significa que as entradas das colunas deve
tem um jogo em duas colunas. Isso nem sempre o caso, h, talvez,
produtos que no foram vendidos ainda. Usando um INNER JOIN entre os produtos
e ordens, portanto, gerar um conjunto de resultados que contm apenas os produtos para
que existe uma ordem. Para contornar essa limitao, voc tambm pode usar exterior
junta-se, que ir retornar as linhas vazias tambm. Os trs OUTER JOIN tipos so
ESQUERDA,DIREITOE FULL, E h tambm um especial CROSS JOIN que combine
qualquer valor da coluna de associao de tabelas com qualquer valor da tabela associada.
O conjunto de resultados de uma CROSS JOIN tambm conhecido como um produto
cartesiano. Para melhor
compreender os diferentes tipos de junes, voc pode usar os exemplos a seguir como
uma referncia. Todos os exemplos so baseados em duas tabelas, TABLE_A e TABLE_B, Cada
com duas colunas, id e valor.
154 Parte II Dimensional Modelagem e Design de Data Warehouse
uma tabela
+----+-------+
| Valor | id |
+----+-------+
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
+----+-------+
b tabela
+----+-------+
| Valor | id |
+----+-------+
| 1 | Vermelho |
| 3 | Blue |
| 5 | Amarelo |
+----+-------+
Um regular INNER JOIN entre as duas tabelas ir produzir um conjunto de resultados com
apenas os valores comuns de ambas as tabelas:
SELECTa.value AS a, b b.value AS
AS FROMtable_a um
INNER JOIN TABLE_B SOBRE AS b a.id = b.id
+-------+-------+
| A | b |
+-------+-------+
| A | Red |
| C | Blue |
+-------+-------+
A LEFT OUTER JOIN ir exibir todos os valores da tabela da esquerda na juno
instruo e exibe uma NULL valor para os valores na tabela direita sem
correspondncia id:
SELECTa.value AS a, b b.value AS
AS FROMtable_a um
LEFT OUTER JOIN TABLE_B SOBRE AS b a.id = b.id
+-------+-------+
| A | b |
+-------+-------+
| A | Red |
| NULL | B |
| C | Blue |
| D | NULL |
+-------+-------+
Captulo 7 Modelagem de Negcios Usando esquemas Star 155
A RIGHT OUTER JOIN exibe todos os valores da tabela da direita na clusula de juno
e exibe uma NULL valor para os valores na tabela esquerda sem correspondncia id:
SELECTa.value AS a, b b.value AS
AS FROMtable_a um
RIGHT OUTER JOIN TABLE_B SOBRE AS b a.id = b.id
+-------+--------+
| A | b |
+-------+--------+
| A | Red |
| C | Blue |
| NULL | Amarelo |
+-------+--------+
A FULL OUTER JOIN declarao no est disponvel no MySQL, mas outros
bases de dados como MS SQL Server e Oracle produziria o seguinte
sada de um FULL OUTER JOIN:
+-------+-------+
| A | b |
+-------+-------+
| A | Red |
| NULL | B |
| C | Blue |
| D | NULL |
| NULL | Amarelo |
+-------+-------+
A ltima opo, o CROSS JOIN, No necessita de colunas de juno de todos:
SELECTa.value AS a, b b.value AS
AS FROMtable_a um
CROSS JOIN TABLE_B AS b
+-------+--------+
| A | b |
+-------+--------+
| A | Red |
| A | Blue |
| A | Amarelo |
| B | Red |
| B | Blue |
| B | Amarelo |
| C | Red |
| C | Blue |
| C | Amarelo |
| D | Red |
| D | Azul |
| D | Amarelo |
+-------+--------+
156 Parte II Dimensional Modelagem e Design de Data Warehouse
Cruz junta so timos para criar relatrios de tabela cruzada em que voc quer ter uma
grade completa com todos os grupos de produtos no eixo y, e todos os meses no x
eixo, independentemente de dados para uma combinao especfica existe ou no.
DICA Recomendamos que voc use sempre a completa adeso clusulas; uso INNER
JOIN em vez de JOIN e LEFT OUTER JOIN em vez de LEFT JOIN.
Restries aplicveis em uma consulta
Na maioria dos casos, uma questo de negcio mais especfica do que as receitas de todos
os
produtos, todos os clientes, e todos os anos. E quando data marts conter milhes
de linhas de dados, tambm invivel para selecionar dados sem colocar alguns
restries na consulta. Por isso, a SELECT declarao tambm pode ser
estendida com uma ONDE clusula para filtrar apenas os dados de interesse. O mais simples
ONDE condio apenas um filtro em um determinado valor, por exemplo, date_year
= 2008 ou date_year> = 2008. A maioria dos operadores de comparao que voc j est
familiarizado com pode ser usado para definir as selees, como =,<,>,<=,> =
e <> ou ! =. Esses operadores comparam o contedo da coluna restrito
ou expresso, com um nico valor. Suponha que voc precisa para filtrar todos os clientes
que tem um sobrenome com trs caracteres ou menos. Ento voc pode usar o
Char_length funo para calcular o nmero de caracteres em uma string e
compare isso com o valor 3:
ONDE char_length (c.last_name) <= 3
As opes do passado, vamos apresentar aqui so os EM e Entre ... e operadores.
Usando EM, A parte esquerda da restrio pode ser comparado a mais de um
nico valor sobre o direito, por exemplo, para selecionar todos os clientes cujos nomes
comear com um A,E,IOu Q:
WHERE SUBSTRING (c.last_name, 1,1) IN ('A', 'E', 'I', 'Q')
O lado direito do EM comparao no precisa ser uma lista predefinida, mas
pode ser uma nova consulta, bem como, que nesse caso chamado de subconsulta.
Subconsultas
pode, naturalmente, tambm ser usado em combinao com todos os outros operadores de
comparao.
A Entre ... e operador pode ser usado para definir um limite inferior e superior
a uma restrio. Entre ... e no exatamente se comportam da maneira como voc pode
esperar que isso tenha cuidado ao usar este. Quando Entre ... e utilizado, como no
a condio P. PRODUCT_PRICE entre 1 e 5, Os valores 1 e 5 so
includos na restrio.
ONDE clusulas no podem ser colocados em qualquer lugar do SELECT declarao, h
regras muito rgidas para sua utilizao. As condies devem ser colocados logo aps o
Captulo 7 Modelagem de Negcios Usando esquemas Star 157
DA mas antes GROUP BY, Como no exemplo a seguir:
p.product_type, d.date_year, p.product_name,
SUM (f.revenue) AS total_revenue, SUM total_quantity (f.quantity) AS
FROMfct_orders AS f
INNER JOIN dim_date como d = ONf.date_key d.date_key
INNER JOIN dim_product SOBRE AS p = f.product_key d.product_key
WHERECHAR_LENGTH (c.last_name) <= 3
GRUPO BYd.date_year, p.product_type, p.product_name
SELECT
Combinando mltiplas restries
Se voc quiser usar mais de uma condio em uma ONDE clusula, voc pode combinar
estes com E e OU operadores. Para aplicar uma lgica mais complexa ou determinado grupo
declaraes em conjunto, abrindo e fechando parnteses so necessrios. Voc j
visto o Entre ... e operador, que na verdade uma abreviao da
usando duas comparaes utilizando > = e <=. Nesses casos complexos, voc
provavelmente vai querer usar parnteses para agrup-los tambm. O seguinte um
exemplo em que o uso de parnteses obrigatrio:
(D.year = 2007 d.month_nr E = 12) ou (d.year = 2008 d.month_nr E = 1)
Sem os parnteses, o conjunto de resultados estariam vazios, porque no existe
uma nica linha que satisfaz D. MONTH_NR = 12 e MONTH_NR D. = 1. Quando o
parnteses so usados, o conjunto de resultados inclui os dados de dezembro de 2007 e
Janeiro de 2008.
Restringir resultados agregados
At agora temos usado restries para filtrar os dados que foi armazenado no
banco de dados. A ONDE clusula s pode filtrar constantes, expresses, e colunas,
no agregados. H situaes em que os valores resultantes de agregao
precisam ser filtrados aps a GROUP BY clusula foi aplicada. Por exemplo,
quando voc est interessado apenas em clientes que tm uma receita total de pelo menos
100 dlares, necessrio resumir primeiro e filtrar depois. Isto pode ser conseguido por
usando o TENDO clusula:
SELECT
DA
INNER JOIN
GROUP BY
TENDO
c.first_name, total_revenue c.last_name, SUM (f.revenue) AS
fct_sales AS f
dim_customer AS C ON c.customer_id = f.customer_id
c.first_name, c.last_name
SUM (f.revenue)> = 100
158 Parte II Dimensional Modelagem e Design de Data Warehouse
Ordenao de Dados
A menos que voc aplicar uma ordem de classificao especfico, os dados retornados
exibido como um
lista, sem qualquer ordenao, o que torna difcil de navegar atravs de um resultado
definido. Ordenao de dados bastante simples, basta adicionar um extra ORDER BY
clusula em
consulta e adicionar as colunas que pretende ordenar os dados. A ordenao aplicada
Da esquerda para a direita na indicao da ordem. A ordenao padro crescente,
mas os dados podem ser requisitados descendente, bem, adicionando o DESC ordenao
especificao:
SELECT
DA
INNER JOIN
GROUP BY
TENDO
ORDER BY
c.last_name c.first_name, sum (f.revenue) AS total_revenue
fct_sales AS f
dim_customer AS C ON c.customer_id = f.customer_id
c.first_name, c.last_name
SUM (f.revenue)> = 100
c.last_name SUM (f.revenue) DESC,
NOTA O MySQL permite que voc use os nomes de alias na TENDO e ORDER BY clusulas
bem, mas a maioria dos bancos de dados no suportam isso.
isso a. Voc ganhou bastante conhecimento de SQL para ser capaz de consultar o
data marts iremos apresentar no restante do livro. Se voc quer aprender mais
sobre o SQL, existe um conjunto abundante de livros e sites disponveis. Mais
informaes especficas sobre a sintaxe SELECT do MySQL pode ser encontrada na
guia de referncia on-line em http://dev.mysql.com/doc/refman/5.1/en/select
. Html.
A arquitetura de barramento
A arquitetura de barramento de dados do armazm foi desenvolvido por Ralph Kimball e
amplamente descrita em seus livros O conjunto de ferramentas de Data Warehouse e Os
dados
Warehouse Lifecycle Toolkit. Ambos os livros so publicados pela Wiley Publishing
e cobrem o ciclo completo da construo, modelagem e manuteno de dados
armazns. O termo nibus refere-se ao fato de que a data marts diferentes
data warehouse so interligados por meio dimenses conformadas. Um simples
exemplo, pode explicar isso. Suponha que voc tenha as tabelas de dimenso para os
clientes,
fornecedores, e dimenses de produtos e pretende analisar os dados sobre vendas e
transaes de compra. No caso das operaes de compra, o cliente
ainda desconhecido por isso no muito til para incluir a dimenso do cliente no
estrela esquema de compra. Para as operaes de venda, a situao ligeiramente diferente:
Voc precisa de informaes sobre o cliente que comprou um produto e os
Captulo 7 Modelagem de Negcios Usando esquemas Star 159
fornecedor o produto foi adquirido. O desenho resultante para esta pequena
armazm de dados de exemplo mostrado na Figura 7-3.
dim_product
Integer (4) [PK]: product_key
Integer (10): product_id
product_name: VARCHAR (10)
product_type: VARCHAR (10)
product_group: VARCHAR (35)
fct_purchases
Integer (10) [PFK]: date_key
Integer (4) [PFK]: product_key
Integer (10) [PFK]: supplier_key
purchase_quantity: INTEGER (10)
purchase_cost: DECIMAL (8)
fct_orders
Integer (4) [PFK]: product_key
Integer (4) [PFK]: date_key
Integer (10) [PFK]: customer_key
Integer (10) [PFK]: supplier_key
receitas: DECIMAL (6)
quantidade: SMALLINT (2)
shipping_cost: DECIMAL (6)
dim_date
Integer (4) [PK]: date_key
date_value: DATA (10)
date_daynr: TINYINT (1)
date_dayname: VARCHAR (10)
date_week: TINYINT (1)
date_monthnr: TINYINT (1)
date_monthname: VARCHAR (10)
SMALLINT (2): date_year
dim_customer
Integer (10) [PK]: customer_key
Integer (10): customer_id
customer_name: VARCHAR (35)
dim_supplier
Integer (10) [PK]: supplier_key
Integer (10): supplier_id
supplier_name: INTEGER (10)
Figura 7-3: Exemplo de arquitetura de barramento
melhor comear com uma arquitetura de barramento de alto nvel antes da matriz de dados
processo Mart projeto iniciado. Figura 7-4 mostra um exemplo da matriz, onde todos
fatos negcio identificadas so colocados nas linhas e todas as dimenses identificadas
nas colunas. O nibus'''' formado pelo processo de negcio principal, ou o
fluxo natural dos acontecimentos dentro de uma organizao. No nosso caso, que seria
requisitar dos fornecedores, armazenagem e movimentao de estoque, recebimento de
clientes
encomendas, envio de DVDs, e gesto de devolues. Dentro de um tal negcio principal
processo fcil marcar todos os relacionamentos entre dimenses e fatos,
o que torna o processo de design fcil de gerenciar e pode tambm ser usado para
comunicar com os usurios de negcios quanto integralidade dos dados
armazm.
Lanamento
DVD
Armazm
Distribuidor Promoo
X
X
Cliente Empregado
As ordens de compra
Inventrio
Os pedidos dos clientes
Retorna
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Figura 7-4: nibus folha matriz
Website
X
Time
Data
160 Parte II Dimensional Modelagem e Design de Data Warehouse
Usando a arquitetura de barramento com dimenses adequadas o que permite a
coleo de data marts a ser tratado como um verdadeiro Enterprise Data Warehouse.
Cada tabela de dimenso concebido e mantido em apenas um local, e
existe um nico processo para carregar e atualizar os dados. Isso contrasta fortemente
com uma coleo de dados independentes marts, onde cada data mart individuais
projetada, construda e mantida como uma soluo pontual. Nesse caso, cada um dos
mart contm suas prprias dimenses e cada dimenso no tem
relao s dimenses semelhantes em outros dados marts. Como resultado desta forma de
de trabalho, voc pode acabar tendo de manter cinco ou mais produtos diferentes
e as dimenses do cliente. Ns opomos a isso fortemente tipo de''arquitetura''! Nossa
conselho sempre comear com o desenvolvimento e concordando com o alto nvel
nibus matriz para identificar todas as entidades de interesse para o data warehouse. S
aps a concluso desta etapa pode projetar o detalhado para a dimenso individual
e tabelas de fato ser iniciado.
Princpios de Design
Assim que voc comear a trabalhar com esquemas estrela de apoio s empresas comuns
perguntas que voc vai se adaptar rapidamente aos princpios de design subjacente. como
dirigir um carro com uma alavanca, o que parece complicado no comeo, mas
sente muito natural uma vez que voc pegar o jeito dele. Adaptar-se ao projeto bsico
princpios de modelagem esquema estrela pode ser ainda mais simples do que aprender a
unidade de uma alavanca. As prximas sees introduzir as seguintes princpios de design
que permitem a concepo de data marts de classe empresarial:
As chaves substitutas
convenes Nome e tipo
Granularidade e agregao
colunas de Auditoria
Data e hora
Desconhecido chaves dimenses
Usando chaves substitutas
Cada tabela em um banco de dados geralmente tem uma chave primria, que o identificador
nico
de um registro. Esta chave pode consistir de uma ou mais colunas, e qualquer tipo de dados
pode ser usado para essas colunas. As bases de dados usado como um sistema de origem
para um
armazm de dados freqentemente contm as chaves primrias consiste em vrias colunas.
Estas chaves primrias vm em todos os tipos e so ou banco de dados gerados ou
Captulo 7 Modelagem de Negcios Usando esquemas Star 161
fornecidos pelo usurio. O termo usado para se referir a essas chaves do sistema de origem
natural
chave, em oposio ao termo artificial ou substituto chave usada em um data warehouse.
chaves naturais geralmente contm informaes sobre a natureza do registro esto
referindo. Uma chave de produto pode, portanto, consistem em vrias partes indicando
coisas como departamento, nmero de reviso do modelo, nmero e tipo de produto.
Quando uma chave composto por uma combinao dessas peas ea chave j suficiente
para revelar a um usurio que os dados se trata, tambm referido como um chave
inteligente.
Do ponto de vista de data warehouse, no h nada sobre um smart smart
fundamental, pois eles ocupam espao desnecessrio e so difceis de construir e manter
ndices. Em um data warehouse, chaves substitutas deve ser utilizado, que
talvez o mais importante princpio do design na construo de um data mart com
esquemas estrela. Uma surrogate key um banco de dados gerado pelo identificador, sem
qualquer
significado inerente. Sua nica finalidade identificar um registro de dimenso
usando o menor tipo de dados possveis. A chave primria de uma tabela de dimenso
portanto, sempre composto por uma nica coluna. Isto importante porque os fatos
registros podem ser identificados normalmente pela combinao das chaves primrias das
as tabelas de dimenso.
Quando voc olhar para o diagrama na Figura 7-1, voc vai ver que cada um de vendas
fato (uma operao de venda individual) tem cinco chaves estrangeiras, para o produto, tempo
cliente, loja e promoes. Agora, suponha que o tempo''''voc usa um
tipo de dados datetime e para todas as outras chaves seu sistema de fonte original
chave primria. Suponha tambm que essas outras chaves so''''inteligente e ocupam 15
caracteres, que converte a 15 bytes. Voc acaba com uma chave de 68 bytes para o
tabela de fatos (4 15 mais 8 bytes para a data e hora). Com 100 milhes de linhas verdade,
voc
necessidade de aproximadamente 6,5 gigabytes para armazenar essas informaes. Usando
o substituto
chaves, isso pode ser reduzido abaixo de 20 bytes por chave (cinco inteiros), resultando em
1,9
GB. Isso 4,6 GB de espao em disco para ocupar menos e tambm (o que mais
importante)
menos disco I / O, quando uma consulta executada.
As chaves substitutas tm outras vantagens tambm:
H sempre apenas uma chave nica coluna para cada tabela de dimenso para que o
resultando ndice de chave primria ser menor.
Integer ndices so geralmente muito mais rpido do que os ndices de caracteres ou
datetime.
Eles permitem o armazenamento de mltiplas verses de um item em que o item
mantm a sua chave da fonte original, mas atribuda uma surrogate key nova.
Eles permitem lidar com as relaes opcional, valores desconhecidos e
dados irrelevantes, que, portanto voc pode evitar o uso de associaes externas em
seu
consultas.
As chaves substitutas podem ser gerados de duas maneiras: usando a funcionalidade de
banco de dados
(Auto-incremento valores ou seqncias) ou usando a ferramenta ETL para gerar
162 Parte II Dimensional Modelagem e Design de Data Warehouse
prximo valores fundamentais. Ns preferimos o ltimo porque algumas ferramentas ETL
necessidade especial
configurao para lidar com chaves de banco de dados gerado.
Naming e Convenes Tipo
A produo do armazm de dados pode conter vrias tabelas e exibies, todos com
muitas colunas de diferentes tamanhos e tipos. Como uma prtica recomendada, use
significativa
nomes, prefixos e sufixos para todos os objetos de banco de dados. Alm disso, institudo
orientaes para os tipos de dados utilizados no armazenamento de dados para aplicar nor-
padronizao e evitar a possvel perda de dados devido converso ou truncamento de
valores. Muitas organizaes j possuem um conjunto de diretrizes de design de banco de
dados
prontamente disponveis e voc pode melhorar ou desenvolver os seus prprios. Em
mnimo, voc deve seguir as convenes de nomenclatura prevista se forem
disponveis.
Para a nossa demonstrao de projectos de data mart, usaremos o seguinte conjunto de
regras:
Todas as tabelas de obter um prefixo (seguido por um sublinhado), indicando o seu
papel
ea funo no armazm de dados:
STG_ para o estadiamento
tabelas
HIS_ para tabelas de arquivo histrico
DIM_ para as tabelas de dimenso
FCT_ das tabelas de fatos
AGG_ de tabelas de agregados
LKP_ para tabelas de pesquisa
Toda a dimenso colunas de chave so nomeados depois que a tabela a que pertencem,
com-
o postfix e obter um _Casos postfix (para a coluna de chave dim_product
nomeado product_keyE assim por diante).
Todas as colunas de dimenso-chave do tipo menor inteiro no assinado
possvel. O MySQL tem cinco tipos inteiros diferentes, que variam de pequenos a
grandes. Inteiros podem ser definidos como ASSINADO ou UNSIGNED, Indicando se
tomam valores negativos e positivos, ou valores positivos sozinho. Para a tecla
colunas, use inteiros sem sinal.
TINYINT -1 Byte, 2 8 valores (0-255)
SMALLINT -2 Bytes, 2 16 valores (0-65532)
MEDIUMINT -3 Bytes, 2 24 valores (0-16,777,215)
INT ou INTEGER -4 Bytes, 2 32 valores (0-4,294,967,295)
BIGINT -8 Bytes, 2 64 valores (0-18,446,744,073,709,551,615)
Captulo 7 Modelagem de Negcios Usando esquemas Star 163
Usar nomes significativos para as colunas. Tentamos de todas as colunas de prefixo
nomes com o nome da tabela, a menos que se torna impraticvel faz-lo devido a
extremamente longos nomes de coluna.
Usar nomes padro para auditoria colunas. Essas so as colunas indicando
quando e quem ou o processo que inseriu o registro ou fizeram a ltima atualizao.
Evite o uso de palavras reservadas para objetos de banco de dados como tabelas,
colunas,
e pontos de vista. Utilizando palavras reservadas como grupo,tempo,vista,fim,campo,
atualizaoE assim por diante torna mais difcil trabalhar com esses objetos em consultas
porque eles devem ser citados para distingui-los as mesmas palavras
na linguagem SQL.
NOTA Inteiros em um banco de dados MySQL so ASSINADO Por padro, o que significa que
assumir valores negativos. Certifique-se de definir explicitamente inteiros para a chave
colunas como UNSIGNED para acomodar uma maior variedade de valores. Se voc omitir o
UNSIGNED palavra-chave, uma TINYINT aceitar valores de -128 a 127. Porque ns
geralmente comeam (auto-) A numerao de 1, quase a metade dos valores, ento, permanecer
no utilizados.
Granularidade e Agregao
Por granularidade, referimo-nos ao nvel de detalhe no qual os dados so armazenados nos
dados
armazm. A regra de ouro aqui para armazenar os dados no menor nvel de detalhe
possvel. Para uma empresa de varejo, isto significa que a operao de venda individual
nvel, para uma operadora mvel, o nvel recorde de detalhes de chamadas. Nos primeiros
dias
de armazenamento de dados, espao em disco era caro e limitado poder computacional,
mas com o estado atual da tecnologia de armazenamento e consulta, terabytes de dados
esto ao alcance da maioria das organizaes.
Um dos equvocos sobre esquemas estrela que as tabelas de fatos deve
ser sempre pr-agregados. Agregao pode ser uma coisa boa para aumentar a consulta
desempenho, mas s depois de carregar os dados no nvel mais baixo de detalhe.
muito fcil de ver se esse nvel mais baixo realmente carregado: Se voc precisa fazer
umsum () funo quando o carregamento de registros de fatos, voc no est carregando o
menor
nvel de detalhe. O raciocnio por trs do projeto de data warehouse para capturar
o menor nvel de detalhe muito simples. Voc pode sempre agregar dados quando
os detalhes esto disponveis, mas quando os dados no esto disponveis, impossvel
para adicion-los sem ter que reconstruir o armazm de dados inteiro.
A agregao pode ter um impacto dramtico no desempenho. Uma tabela que
dados agregados por ms, regio e categoria de produto para exibir em um
relatrio de gesto contm, provavelmente, mais de 1.000 vezes menor do que os dados
o menor nvel da tabela de fatos transao. Ns testemunhamos a velocidade aumenta
consulta
de uma mdia de 30 minutos a um par de milissegundos, usando agregado
tcnicas. Embora estes resultados so espetaculares, voc no deve esquecer que
164 Parte II Dimensional Modelagem e Design de Data Warehouse
o modelo de dados exposto ao mundo exterior (os usurios finais) a detalhada
granular. A existncia de tabelas de agregados deve ser invisvel ao fim
usurios, enquanto o redirecionamento de consultas a partir das tabelas de detalhe para os
agregados
deve ser manuseado por um ser inteligente governador consulta.
Como explicado no captulo 6, este mecanismo de consulta que regem ainda no est
disponveis em bancos de dados open source, mas, felizmente, voc pode usar o agregado
designer de Mondrian, pelo menos parcialmente beneficiar da criao automatizada e
uso de tabelas de agregados em sua soluo de data warehouse. Usando o agregado
designer, juntamente com um banco de dados em colunas, como LucidDB ou Infobright, voc
pode conseguir resultados muito bons consulta combinada com a disponibilidade de execuo
dados de fatos.
Auditoria Colunas
altamente recomendvel incluindo colunas de auditoria no data warehouse. Estes
colunas permitem rastrear dados de sua fonte original, e dizer-lhe
quando uma certa linha foi introduzido ou modificado e quem ou qual o processo
executou a operao. Sob operao normal, o processo de ETL cuida
de todas as alteraes aos dados no data warehouse, mas s vezes pode
necessrias para corrigir manualmente alguma coisa. Quando isso ocorre em um cuidado
construdos tabela de dimenso, importante ter o registro da tabela estas
alteraes automaticamente. Por razes de auditoria recomendamos o uso do
quatro colunas (pelo menos nas tabelas de dimenso):
Inserir hora
Insira processo em lote
timestamp Update
Processo de atualizao em lote
Normalmente os dados em um data warehouse carregado e atualizado em lotes. Para
Nestas situaes, recomendamos tambm usando uma tabela de lotes distintos, que
armazena
informaes sobre o horrio de incio e final do lote, nmero de registros
processado, a mquina o processo a correr, o nome ea verso da ETL
ferramenta que processou os dados, eo perfil do sistema (desenvolvimento, teste e
produo) utilizados. Pentaho Data Integration permite-lhe criar estes log
em ambas as tabelas de trabalho eo nvel de transformao.
A combinao de colunas de auditoria e um lote de identificao ajuda a encontrar e corrigir
problemas de dados no armazm de dados com mais facilidade. Eles tambm podem ser
usados para
demonstrar a veracidade dos dados ou, ainda mais importante, a carga correta de
dados incorretos dos sistemas de origem. Em 99 por cento dos casos, problemas de dados
so devido a erros no sistema de origem, no de erros no processo de ETL ou o
armazm de dados em si. Quando confrontados com as discusses inevitveis sobre o
fiabilidade dos dados no data warehouse, as colunas de auditoria so sua rede de segurana.
Captulo 7 Modelagem de Negcios Usando esquemas Star 165
Modelagem de Data e Hora
Data e hora parecem assuntos triviais no incio, mas quando voc pensa sobre isso por um
alguns segundos h muito mais do que isso. Por exemplo, pense em como voc
seriam responsveis por diferentes fusos horrios da sua organizao opera dentro Ou pense
sobre como lidar com os anos fiscais que esto fora de sincronia com o calendrio regular
ano. A semana de numerao na Europa baseada na ISO 3306, enquanto que no
semana EUA numerao comea em 1 a 1 de Janeiro, causando possveis diferenas na
resultados, quando uma subsidiria da UE relatrios de resultados semanais a uma cabea
norte-americana
escritrio. ISO tambm tem um clculo de anos diferentes, o que significa que o ano ISO
para uma data pode ser diferente do ano civil, da mesma data. E como que
que data do modelo e do tempo? Qual a granularidade que voc deseja usar? Damos-lhe
nossos pensamentos sobre o assunto aqui e um par de dicas e as melhores prticas para
obter
voc comeou, mas finalmente as decises de projeto devem ser feitas por voc com base
no caso em apreo.
Tempo de granularidade da dimenso
s vezes quando as pessoas comeam com a concepo de um modelo dimensional, que
acho que a data ea hora devem ser armazenados em uma tabela nica dimenso. Este
suposio talvez no seja totalmente errado, mas geralmente no o melhor um para
fazer. Suponha que voc queira ser capaz de referncia a dimenso de data e hora por
segundos. H 24 60 60 segundos em cada dia. Durante um ano, consistindo
de 365 dias, voc precisaria de 31.536.000 linhas na tabela de dimenso, e
porque voc geralmente armazenam 10 ou mais anos, que somam mais de 315 milhes
linhas. No se parece com uma abordagem sensata. A alternativa mais radical a
criar uma tabela de dimenso por parte de data e hora. Nesse caso, voc teria que criar
tabelas de dimenso para o ano, ms, dia, hora, minuto e segundo. Estas tabelas
Seria muito pequeno, mas seriam necessrios seis chaves estrangeiras na tabela de fatos.
Este tambm no uma aproximao muito boa. melhor ficar em algum lugar no meio
entre esses dois extremos, criando uma data e uma dimenso de tempo.
Mesmo no caso em que voc precisa para suas transaes referncia especfica
segundo, a dim_time tabela s contm 86.400 linhas. Nossa amostra WCM
armazm de dados utiliza uma dimenso de tempo por minuto, o que s 1.440 linhas.
Hora local Versus UTC
Ao lidar com o tempo, voc tambm deve considerar os desafios apresentados
quando a sua organizao abrange vrios fusos horrios. Nesse caso, pode ser
benfica para adicionar o tempo local e UTC para a tabela dimenso tempo para qualquer
transao pode sempre ser visto sob diferentes perspectivas.
166 Parte II Dimensional Modelagem e Design de Data Warehouse
HORA UTC
UTC um momento de padro internacional e anotao do tempo regido pela
Norma ISO 8601. A sigla um compromisso entre o TUC francs
'(Universel Temps Coordonne) e do Corte Ingls (Coordinated Universal
Time). Qualquer pessoa familiarizada com a terminologia militar deve ter ouvido falar de''Zulu
tempo'', que o mesmo que UTC. fusos horrios internacionais so apontados como UTC
mais ou menos um nmero de horas. Este deslocamento pode mesmo variar ao longo do tempo,
quando
pases alterar o vero comear poupana ou data de trmino, ou quando um governo
(Por exemplo, Venezuela) decide afastar-se as normas internacionais. A
deslocamento fixo em nossa tabela de dimenso de tempo , portanto, uma simplificao do
mundo real.
Data Smart Keys
H uma exceo para o uso do sentido surrogate keys-chave para
a dimenso de data. Ns preferimos usar um inteiro no formato AAAAMMDD para
duas razes. Em primeiro lugar, essa chave pode ser facilmente produzida a partir de uma
data de entrada
e, portanto, salva uma operao de pesquisa na tabela de dimenso de data. Segundo
e provavelmente mais importante o fato de que este esquema de numerao pode ser
usados para dividir suas tabelas de fato. As parties de tabela tambm pode obter um nome
com um
Nmero de extenso da data para identificar facilmente, como para todos os P_200808 agosto
2.008 transaes. Para alm destas duas razes, a utilizao de uma data-chave inteligente
proibida e no pode, em circunstncia alguma, ser usado diretamente em consultas sobre o
tabela de fatos sem participar da tabela dimenso correspondente data.
Handling Time Relativa
Em muitos casos, no estamos interessados em um determinado perodo de tempo, como um
semana ou um ms, mas quero saber o que um perodo especfico de tempo parece
em relao ao outro. A questo como configurar a dimenso de tempo para
lidar com o tempo relativo, como na semana passada, no ms passado, ou mesmo ms do
ano passado.
Claro, voc pode escrever o SQL para recuperar as linhas correspondentes da
banco de dados, mas depois voc nem precisa ajustar a declarao para cada novo perodo,
ou necessidade de usar as funes e expresses para fazer uma dinmica de afirmao. A
exemplos nos blocos de consulta a seguir mostram o que queremos dizer. A primeira consulta
recupera o resultado do ms passado e atual, mas as declaraes so
codificada:
SELECT
DA
d.year4 d.month_number, f.sum (receitas), enquanto receitas
fact_sales AS f
Captulo 7 Modelagem de Negcios Usando esquemas Star 167
INNER JOIN dim_date d ON f.order_date_key d.date_key =
WHEREd.year4 = 2008 E d.month_number entre 7 e 8
Uma verso dinmica poderia ser algo como isto:
SELECT
DA
INNER JOIN
ONDE
E
ENTRE
E
d.year, f.sum, d.month (receitas), enquanto receitas
fact_sales AS f
dim_date d ON d.date_key f.order_date_key =
d.year4 = EXTRACT (ano de NOW ())
d.month_number
EXTRACT (ms de agora ()) -1
EXTRACT (ms de agora ())
Isto ir funcionar bem, exceto quando o ms atual de Janeiro. Para evitar
codificao complexa como esta melhor adicionar colunas adicionais com o tempo
tabela de dimenso que podem ser atualizadas durante o processo de ETL. Como um
exemplo,
ns vamos usar duas colunas: current_month e last_month. Quando aplicvel, os
conter o valor 1, caso contrrio, 0. A mesma tcnica pode ser aplicada a
indicar o ano at data, ms a data, e assim por diante.
Outra tcnica que gostaramos de mencionar o uso de compensaes para ser capaz de
executar aritmtica de data de uma forma simples. Um bom exemplo disso o uso
das datas do calendrio juliano, que so valores inteiros consecutivos. Isto torna muito fcil
para filtrar os ltimos 30 dias ou 30 dias antes da data escolhida. Novamente, voc
pode expandir esta a semanas, meses e anos tambm. Ao definir o atual
semana, ms ou ano a 0 e em contagem decrescente, possvel ter uma
indicador do perodo atual e um meio de filtragem dos ltimos trs meses, a ltima
seis quartos, etc
A Tabela 7-1 mostra uma coleo parciais de linhas e colunas a partir do momento
dimenso para ilustrar esta tcnica. A data atual neste exemplo julho
1, 2009, com uma semana a partir de segunda-feira.
Nesta tabela, voc pode ver trs maneiras de lidar com o tempo relativo:
Nmero de Seqncia-A data do calendrio juliano um nmero inteiro que permite a
simples
aritmtica, por exemplo,''ltimos 30 dias.''Qualquer data pode ser usado como o
deslocamento (a partir
ponto). True / false indicadores-As colunas de semana passado e atual so
atualizado a cada semana. Recuperando a semana em curso uma questo de
adicionar
current_week = 1 a uma consulta.
Seqncia com offset 0-Isto combina as duas primeiras opes em um
coluna. semana em curso sempre 0, na semana passada -1, e assim por diante.
A terceira opo pode parecer a soluo ideal para lidar com tudo relativo
questes de tempo, mas h um prendedor. A corrente extra e ltima semana, com colunas
apenas 1 e 0 permitem fazer clculos tambm. Em muitos casos, necessrio
168 Parte II Dimensional Modelagem e Design de Data Warehouse
lado para ver a ltima semana em curso e de receitas a lado, e isto pode ser facilmente
realizado usando uma declarao como a seguinte:
p.product_type,
SUM (d.current_week f.revenue *) AS current_week,
SUM (d.last_week f.revenue *) AS last_week
FROMfact_sales AS f
INNER JOIN dim_date d ON f.order_date_key d.date_key =
INNER JOIN p dim_product ON f.product_key p.product_key =
WHEREd.week_sequence entre -1 e 0
SELECT
Tabela 7-1: Relativo colunas de hora
date_key
20090620
20090621
20090622
20090623
20090624
20090625
20090626
20090627
20090628
20090629
20090630
20090701
20090702
20090703
20090704
20090705
20090706
date_value
20-jun-09
21-jun-09
22-jun-09
23 jun-09
24-jun-09
25 jun-09
26 jun-09
27-jun-09
28-jun-09
29-jun-09
30-jun-09
1-Jul-09
2-Jul-09
3-Jul-09
4-Jul-09
5-Jul-09
6-Jul-09
date_julian
2455002
2455003
2455004
2455005
2455006
2455007
2455008
2455009
2455010
2455011
2455012
2455013
2455014
2455015
2455016
2455017
2455018
current_week
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
last_week
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
week_seq
-2
-2
-1
-1
-1
-1
-1
-1
-1
0
0
0
0
0
0
0
1
Captulo 7 Modelagem de Negcios Usando esquemas Star 169
Desconhecido chaves de dimenso
Alm das vantagens j mencionadas para a utilizao de chaves substitutas
(Ea explicao programados neste captulo da histria da manipulao dos dados
warehouse), h outra boa razo para usar chaves substitutas. s vezes
os dados sero carregados em uma tabela de fatos e nenhuma tecla correspondente
dimenso pode
ser encontrada com base na chave natural e / ou validade da dimenso
registro. Para esses casos, voc precisa de um mecanismo que armazena os dados de
qualquer maneira
para se certificar de que nenhum dado seja omitido durante o processamento. Por esta razo,
recomendamos ter um registro de desconhecidos em cada tabela de dimenso. Key
gerao de uma dimenso geralmente comea em 1, o que deixa o nmero 0 como um
candidato perfeito para a chave de dimenso desconhecida registro. Este registro deve
ter um valor de''''desconhecidos em todos os campos de atributo. Tabela 7-2 mostra uma
parcial
exemplo do registro desconhecido em uma tabela de dimenso do cliente.
Tabela 7-2: registro de dimenso Desconhecido
chave
0
source_id
0
nome
Desconhecido
endereo
Desconhecido
telefone
Desconhecido
Usamos o valor Desconhecido para informar os nossos utilizadores empresariais que estes
dados no
disponveis. Esta uma alternativa muito melhor do que permitir que NULL valores, que
muitas vezes confunde os usurios. Alm disso, quando NULL Os valores so usados em um
clculo que
pode provocar resultados errados. Um teste simples pode ilustrar isso; apenas o comeo
MySQL Query Browser e digite 'Resultado' SELECT. Isto ir retornar o texto
resultado '. Agora altere a declarao em 'Resultado' SELECT + NULL e ver o que
acontece.
Em alguns casos, um nico indicador desconhecido no suficiente. s vezes, a
dimenso no relevante para um fato especfico. Isso pode ocorrer quando a tabela de fatos
contm diferentes tipos de fatos. Um exemplo disso uma tabela, clique fato fluxo.
Ns gostaramos de armazenar todos os cliques em conjunto para poder calcular facilmente
total de pginas
pontos de vista, mas nem todos os cliques so os mesmos. Alguns so apenas cliques de
navegao, alguns
confirmar a transao, e outros o download de um arquivo. No caso de uma navegao
clique, uma referncia a um arquivo de download no relevante, mas porque ns no
permitimos
NULL valores em nossa tabela de fatos colunas de chave estrangeira, acrescentamos um
substituto especiais
chave com o valor no relevante tabela de dimenso para alm da
desconhecido chave.
Tratando alteraes Dimenso
Dimensional alteraes de dados constantemente. mover clientes, novos produtos so
introduzidas, os funcionrios tero um aumento salarial, armazns obter novos gestores, e
170 Parte II Dimensional Modelagem e Design de Data Warehouse
assim por diante. Um dos principais desafios na construo de um data warehouse a forma
de
adaptar a estas mudanas de modo a que toda a histria relevante capturado e
todas as operaes ligadas correta registros de dimenso histrica. Alguns dos
essas mudanas ocorrem com freqncia, outros apenas ocasionalmente. Algumas alteraes
afetam
um nico registro, e algumas envolvem tabelas completas, como a introduo de um novo
cliente classificao. E algumas mudanas so relevantes para armazenar em um
historicamente
maneira correta para a organizao, enquanto outros podem simplesmente substituir dados
antigos.
Por todas estas situaes, uma estratgia diferente pode ser aplicada, e juntos
eles formam as diferentes formas de manipulao dimenses de alterao lenta (SCDs). Em
sua primeira edio O conjunto de ferramentas de Data Warehouse, Ralph Kimball introduziu
trs
diferentes estratgias SCD: substituir, pilha e adicione. Essas estratgias so
respectivamente chamado SCD tipo 1, 2 e 3, sero descritas em breve. Ao longo dos
anos, muitas outras pessoas da comunidade de modelagem de banco de dados adicionados
novos
tipos e variaes do tipo original do SCD, a atual abordagem abrange
a manipulao de todos as possveis mudanas que podem ser aplicados a dados de origem
e
como lidar com essas mudanas de forma mais eficaz em um data warehouse.
O termo dimenses de alterao lenta um pouco enganador, no sentido
que voc pode ter a impresso de que estes tipos devem ser aplicadas ao
tabela de dimenso completa. Esta uma suposio incorreta de que ns gostaramos
para resolver antes de irmos. Cada coluna em uma tabela dimenso deve ser
tratado individualmente. Por isso, possvel que, para algumas colunas do tipo 1 utilizado,
enquanto para outros o tipo 2 abordagem ser a mais adequada. Outras estratgias
ou combinaes tambm podem ser usados, mas identificar qual estratgia deve ser
aplicada a cada coluna uma parte importante do processo de concepo. Ns vamos dar
algumas dicas de design no prximo captulo sobre como fazer isso e document-lo.
A histria no comea com o tipo 1, no entanto. Existe tambm um tipo 0,
significando tanto no fazer nada''''ou''substituir completamente.''Em ambos os casos, trata-se
no a uma estratgia recomendvel, excepto se se tratar tabelas de dimenso esttica. O
mais
exemplo proeminente destes so as dimenses Data e Hora. muito
improvvel que o valor do ano da data de 20 de janeiro de 2008 nunca vai mudar. O que pode
mudana, no entanto, uma classificao Ano Fiscal, mas, nesse caso, os valores
normalmente
ser substitudas (tipo 1) ou armazenado em uma coluna adicional (tipo 3).
NOTA Nem todos os atributos de dimenso sero utilizados para fins de anlise e, portanto,
nem todos so de interesse para correo histrica. Quais so os atributos analticos e
quais so os detalhes difere por setor e organizao. Em alguns casos, um telefone
nmero apenas um detalhe da dimenso do cliente, que pode ser substitudo quando um novo
valor extrado do sistema de origem. Em outros casos, o nmero de telefone
sendo usado para fins analticos e as mudanas precisam ser controladas. Quando ns
analisar as vendas, geralmente suficiente para o grupo pela cidade, no necessariamente pela rua ou
endereo. Nesse caso, a coluna cidade um atributo analtico e da coluna
endereo um detalhe simples.
Captulo 7 Modelagem de Negcios Usando esquemas Star 171
SCD Tipo 1: Substituir
Um tipo 1 dimenso mudando lentamente o mais bsico e no
exigir qualquer modelagem especial ou campos adicionais. tipo SCD 1 colunas apenas
ser substitudas por novos valores, quando eles vm para o armazm de dados.
Figura 7-5 mostra o que um registro de dimenso parece antes e depois da aplicao
Neste caso, o cliente mudou-se para um novo endereo
em uma determinada data.
Situao existente
_Casos Cliente
1
Nova situao
_Casos Cliente
1
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Toronto
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Vancouver
Figura 7-5: SCD tipo 1 exemplo
Sem o conhecimento adicional, voc no tem nenhuma maneira de identificar quando esta
mudana ocorreu, e mesmo se voc inserir uma coluna extra com uma modificada pela ltima
vez
timestamp voc s sabe que alguma coisa mudou dentro do registro, no
a coluna que a mudana ocorreu. Um tipo 1 substituir abordagem usada
para as colunas que so de interesse para os nossos usurios (caso contrrio, as colunas no
estive l no primeiro lugar), mas apenas o estado atual dos dados
relevantes, mesmo quando se olha para as transaes mais antigas. Lembre-se que quando
voc
substituir uma coluna como esta e executar uma consulta, todos os resultados vo mostrar o
contedo
da coluna como agora, no o valor anterior.
SCD Tipo 2: Adicionar linha
Tipo 2 no ''o''prximo passo em termos de funcionalidade e complexidade, mas
na verdade, uma categoria prpria.
tipo de suporte 2 SCDs com assistentes, macros e outros suplementos nos ltimos
par de anos, ento hoje voc vai ser duramente pressionado para encontrar uma ferramenta
sem que isso
apoio. Claro, Chaleira / PDI tambm tem essa funcionalidade na Dimenso
Pesquisa / passo Update. Mas o que exatamente ele faz? SCD tipo 2 a histria
preservao e permite que uma organizao para captar alteraes em uma dimenso
tabela para recuperar o histrico de dados corretos ao consultar o data warehouse.
Figura 7-6 mostra o mesmo exemplo do pargrafo anterior, mas agora
Voc pode acompanhar as mudanas atravs do tempo, acrescentando alguns campos
extras. H
mltiplas formas de modelar este ou armazenar vrias verses, a mais bsica
uma a de adicionar apenas um valid_from hora para o registro de dimenso. Omitindo
correspondente valid_to timestamp adiciona complexidade extra ao tentar
recuperar a verso correta da entrada, por assim marcar este como um imperativo
172 Parte II Dimensional Modelagem e Design de Data Warehouse
campo para este tipo de mudana tambm. Duas outras colunas extras podem muitas vezes
ser
encontradas no tipo 2 mesas de apoio: a current_record coluna indica a
verso atual do registro de dimenso, e um nmero de seqncia ou verso
que incrementado cada vez que uma nova verso do registro adicionado.
Agora voc pode fazer muitas coisas interessantes com esses dados. Suponha que o Sr. ou
Sra. Humphries um cliente regular e ordens algo cada ms.
O que acontece em sua tabela de verdade, quando estas operaes so carregados que o
processo de ETL olha para o registro de cliente vlido para cada cliente em particular
no momento do embarque. Isso significa que toda a ordem linhas de fatos para o cliente
com o ID 22321 (a origem do nmero de clientes do sistema) ir armazenar customer_key
1at 01 de maio de 2008, ea utilizao customer_key 2 a partir desse dia at a prxima
mudana para este cliente aplicada. A tabela de fatos exemplo exibido na
Figura 7-7.
Situao existente
Customer_key
1
Customer_id
22321
Customer_Name
Humphries
Customer_City
Toronto
Valid_from
1900-01-01
Valid_to
9999-12-31
Current_record
1
Nova situao
Customer_key
1
2
Customer_id
22321
22321
Customer_Name
Humphries
Humphries
Customer_City
Toronto
Vancouver
Valid_from
1900-01-01
2008-05-01
Valid_to
2008-04-30
9999-12-31
Current_record
0
1
Figura 7-6: SCD tipo 2 exemplo
fatos Vendas
Customer_key
1
1
1
1
2
2
2
2
Date_key
20080123
20080208
20080315
20080421
20080511
20080609
20080729
20080817
Product_key
123
221
332
334
221
432
554
101
Itens
1
2
1
1
2
3
1
2
Receita
5
10
5
5
10
15
5
10
Figura 7-7: Fatos com SCD tipo 2
Agora, quando voc quer saber como a receita foi gerada em muito
Toronto em 2008, e voc executar essa consulta, em setembro, a condio
onde customer_city = 'Toronto'. O registro de dimenso com o valor 1
para customer_key o nico registro que satisfaa essa condio. E porque
a associao est em customer_key, Apenas as quatro primeiras linhas da tabela de fatos so
recuperados para este cliente. Quando a condio onde nome_cliente =
"Humphries ', Ambos customer_id 1 e 2satisfaz a condio e todos o fato de
linhas sero retornadas.
Captulo 7 Modelagem de Negcios Usando esquemas Star 173
PROCESSAMENTO DE DADOS TIPO 2 SCD
Um processo de ETL, se a mo codificados ou codificados com uma ferramenta, precisa ter
vrios recursos para tratar alteraes do tipo 2 dimenso. Primeiro de tudo, o
dados de entrada devem ser comparados com os dados que j existe na
Dimenso da tabela. A sada deste processo o conjunto de dados de entrada com
bandeiras acrescentado para novas linhas (I para Inserir) a serem inseridos, as linhas existentes que
necessitam de
ser atualizado (U para atualizao), e possivelmente at mesmo excludo linhas que no
existe mais no sistema de origem (D para Excluir). Com base na I U, ou D
bandeiras, em seguida, o processo deve atribuir novas teclas de substituto no caso de insero
ou atualizaes. Inseres so fceis: a nova linha pode ser adicionada com o padro
definies para valid_to e current_record. Para obter uma atualizao adicional
transformao necessria: a linha existente precisa ser detectado (por isso o
current_record indicador muito til), o valid_to timestamps necessidade
a ser definida para o valor correto, e os current_record bandeira tem de ser definido
para um valor de 0, N, ou qualquer lgica que voc desenhou para ela. Em seguida, uma nova
registro com os dados atualizados ter que ser criada, uma surrogate key gerada,
ea data e hora apropriada e current_record bandeira precisa ser definido.
Como excluir dados dimensional fora de questo (que provavelmente ainda
referenciada por fatos existentes), os registros com uma bandeira excluir obter a sua valid_to
timestamp definido. Alm disso, outro indicador pode ser usado para marcar o registro
como excludo. Uma possvel soluo usar um valor diferente de 0 ou 1 para o
current_record pavilho.
Claro que h mais para captar a histria em um data warehouse, que
apenas a verso simples de correo histrica. Por exemplo, pensar sobre o
seguinte questo: o momento em que ns usamos para o valid_from e valid_to
timestamps? o momento de inscrio da alterao no sistema de origem? A
vez que os dados foram carregados no data warehouse? O tempo real no real
mundo, quando ocorreu o evento? Ou o momento em que fomos notificados da presente
evento? A terceira opo parece ser a verso mais adequada ea
melhor representao do evento real, mas como vamos controlar isso? Em alguns
indstrias, tais como o negcio de seguros, todas estas horas devem ser
e armazenados no data warehouse deve ter uma explicao completa para o histria da
histria, como chamado, tambm. Uma discusso mais aprofundada do problema est alm
do
escopo deste livro, mas queramos a levantar a questo para ser completo aqui.
Para o restante deste livro, vamos usar a verso padro da histria
conservao, como mostrado nos exemplos mostrados nas Figuras 7-6 e 7-7. Ns
tambm adicionar uma coluna de verso extra para capturar o nmero de alteraes feitas em
um
registro de origem particular.
174 Parte II Dimensional Modelagem e Design de Data Warehouse
SCD Tipo 3: Adicionar Coluna
O tipo 3 A estratgia exige pelo menos uma coluna extra na tabela de dimenso.
Quando os dados para um tipo de trs alteraes de coluna, o valor existente copiado para
o extra _old coluna enquanto o novo valor colocado na coluna regular.
Figura 7-8 mostra um exemplo disso.
Situao existente
_Casos Cliente
1
Nova situao
_Casos Cliente
1
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Toronto
Cliente _City_Old
Toronto
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Vancouver
Cliente _City_Old
Toronto
Figura 7-8: SCD exemplo do tipo 3
Isso pode parecer uma estranha forma de manter os valores anteriores primeira vista, e na
maioria dos
casos ela . S possvel lidar com uma verso anterior. Armazenamento adicional
mudanas requer uma coluna extra para cada verso que voc deseja manter. Mas
imaginar que as alteraes da estrutura da organizao completamente, ou completamente
nova estrutura do grupo produto introduzido. Nesses casos, onde todos os registros
mudana, ao mesmo tempo, faz sentido usar uma coluna extra. Manuseamento
essas grandes mudanas com um cenrio do tipo 2, duplica o nmero de registros em
sua tabela de dimenso e na maioria dos casos, apenas a nova estrutura dos dados
relevantes. A verso antiga mantida apenas para efeitos de referncia ou como uma
traduo
tabela.
SCD Tipo 4: Mini-Dimenses
modelagem dimensional Kimball introduz o termo mini-dimenso. Alguns
fontes afirmam que este um cenrio do tipo 4, outros usam o termo''4''tipo de
outros fins. As noes de tipo 4 e 5 SCDs foram introduzidas em 1998
por Michael Schmitz, um renomado especialista em armazenamento de dados e dimensionais
modelagem. Estamos em conformidade com essa classificao aqui, em contraste com outras
fontes
como a Wikipedia, que usa uma classificao diferente.
Mini-dimenses resolver dois problemas especficos com a mudana de dimenso
tabelas. Um problema ocorre quando as tabelas de dimenso ficar realmente grandes,
digamos, um
dimenso do cliente, com 150 milhes de linhas (elas existem!). O segundo problema
ocorre quando as mudanas acontecem com muita freqncia, causando a tabela de
dimenso
dobrar ou triplicar de tamanho a cada ano. O truque aqui a primeira a identificar quais
atributos analticos mudam muito freqentemente e coloc-los como um grupo em um
ou mais tabelas de dimenso em separado. O resultado disso um ou mais extra
chaves de dimenso na tabela de fatos.
Captulo 7 Modelagem de Negcios Usando esquemas Star 175
Aqui est um exemplo. Suponha que voc tenha uma tabela de clientes com grande
dimenso
os atributos cidade,regio,pas,gnero,birth_dateE renda. O primeiro
trs campos podem ser classificados como dados geogrficos, os trs ltimos tm mais
natureza demogrfica. Naturalmente, a descrio do gnero no muda muito
muitas vezes, mas provavelmente um dos principais atributos para fins analticos. Estes seis
campos pode ser posta em duas dimenses diferentes mini, um dim_geography
e um dim_demography.
Mini-dimenses fazer honra ao seu nome: Eles geralmente so muito pequenas,
no s no nmero de registros, mas tambm no nmero de atributos, como no presente
exemplo. H, no entanto, uma troca envolvidos, a fim de manter este nmero
de registros to pequenos quanto possvel. Quando um atributo como a renda usada em
uma mini-dimenso, impossvel para armazenar todos os possveis valores diferentes, assim
voc
necessidade de trabalhar com valores em faixas ou intervalos. Lembre-se que quando se
utiliza campos
A, B e C para uma mini-dimenso, o nmero de registros determinada pela
multiplicando o nmero de possveis valores de A, B e C. Ento, se cada idade a partir de
0-100 usado, o multiplicador j 101. Faz mais sentido definir
idade e faixas de renda, talvez 10 de cada, resultando em 100 registros. Multiplicado
pelos trs valores possveis para o gnero (masculino, feminino e desconhecidos) a
nmero de linhas no mini-dimenso ser de 300, que muito pequeno, por qualquer
padro. Mini-dimenses, com 100.000 linhas no so incomuns e com o
estado atual da tecnologia tambm no um problema. Se o mini-dimenses obter qualquer
maior do que isso, aconselhvel para redesenhar a tabela de dimenso e talvez dividir
-lo novamente em dimenses menores. Figura 7-9 mostra um exemplo de modelo de dados
com uma tabela de fatos e trs tabelas de dimenso das quais duas so mini-dimenses.
A fim de fazer este trabalho necessrio identificar a dimenso correta mini-
chave quando o carregamento de dados, o que requer uma sobrecarga extra. Por exemplo,
para
determinar a faixa etria pertence a um cliente, preciso calcular a idade
com base na data de carga e data de nascimento do cliente. O mesmo vale para a renda
banda e todos os outros atributos necessrios para determinar a dimenso correta mini-
chave. A recompensa, porm, enorme. De repente, muitas poucas mudanas podem ocorrer
a sua tabela de dimenso''principal''. A histria est perfeitamente coberta no fato de
tabelas usando o mini-dimenso chaves estrangeiras, e ainda por cima, voc tambm
acrescentou a chave de dimenso mini-curso para a tabela dimenso principal. Este ltimo
Alm disso permite ao usurio utilizar o mini-dimenses em conjunto com o
dimenso principal, sem a necessidade de tabela de consulta fato. Na verdade, este modelo
serve a dois propsitos: ele d o valor do registro atual dimenso, que
muito til para selecionar os grupos-alvo, por exemplo, para marketing direto
campanhas, mantendo a histria completa dos atributos de anlise na
tabela de fatos.
176 Parte II Dimensional Modelagem e Design de Data Warehouse
dim_geography
Integer (10) [PK]: geography_key
geography_city: VARCHAR (50)
geography_region_code: CHAR (2)
customer_region_name: VARCHAR (50)
customer_country_code: CHAR (2)
customer_country_name: VARCHAR (50)
dim_customer
Integer (10) [PK]: customer_key
Integer (10): customer_id
customer_first_name: VARCHAR (35)
CHAR (1): customer_middle_initial
customer_last_name: VARCHAR (30)
customer_address1: VARCHAR (50)
customer_address2: VARCHAR (50)
customer_postal_code: VARCHAR (10)
customer_city_name: VARCHAR (64)
customer_email_address: VARCHAR (64)
customer_telephone_number: CHAR (12)
customer_date_of_birth: DATA (0)
customer_website_name: VARCHAR (50)
Integer (10) [FK]: geography_key
Integer (10) [FK]: demography_key
valid_from: DATA (10)
valid_to: DATA (10)
Verso: INTEGER (10)
current_record: TINYINT (10)
last_modified: TIMESTAMP (10)
fact_orders
Integer (10) [PFK]: geography_key
Integer (10) [PFK]: customer_key
Integer (10) [PFK]: demography_key
receitas: DECIMAL (6)
quantidade: SMALLINT (10)
shipping_cost: DECIMAL (6)
rental_duration: INTEGER (10)
dim_demography
Integer (10) [PK]: demography_key
age_group: VARCHAR (10)
Sexo: CHAR (10)
income_group: VARCHAR (20)
Figura 7-9: Mini-dimenses
SCD Tipo 5: Tabela de histrico separada
At agora, as mudanas de dimenso tm afetado a forma como voc olha para sua consulta
resultados com relao ao fato de as linhas correspondentes. As diferentes estratgias
permitem identificar qual verso de um registro de dimenso era vlido no
tempo de uma operao, seja uma venda, uma movimentao de estoque, ou algum outro
evento empresarial. Tipo 5 um pouco diferente, pois no pode ser usado para
executar consultas analticas que utilizam a tabela de fatos tambm. Com o tipo 5, uma em
separado
tabela de histrico criado para uma tabela de dimenso com o nico propsito de informar
corretamente
capturar todas as alteraes a todos os atributos na tabela de dimenso. Um tipo 5 Estratgia
, portanto, alm dos tipos existentes e SCD deve ser utilizado em
conjunto com um ou uma combinao das outras estratgias. Tipo 5 histria
tabelas no devem ser utilizadas para consultas analticas envolvendo tabelas de fatos.
Figura 7-10 mostra um exemplo deste tipo de mesa junto com o pai
Dimenso da tabela.
Captulo 7
dim_customer
Integer (10) [PK]: customer_key
Integer (10): customer_id
customer_first_name: VARCHAR (35)
customer_last_name: VARCHAR (30)
customer_address: VARCHAR (50)
customer_postal_code: VARCHAR (10)
customer_city_name: VARCHAR (64)
customer_email_address: VARCHAR (64)
customer_telephone_number: CHAR (12)
--- --- Colunas adicionais omitido: NULL (0)
Modelagem de Negcios Usando esquemas Star 177
customer_hist
change_timestamp: TIMESTAMP (10) [PK]
Integer (0) [PFK]: customer_key
Integer (10): customer_id
SMALLINT (2) [FK]: change_type_id
customer_first_name: VARCHAR (35)
customer_last_name: VARCHAR (30)
customer_address: VARCHAR (50)
customer_postal_code: VARCHAR (10)
customer_city_name: INTEGER (64)
customer_email_address: VARCHAR (64)
customer_telephone_number: CHAR (12)
customer_change_type
SMALLINT (2) [PK]: change_type_id
first_name_changed: BIT (1)
last_name_changed: BIT (1)
address_changed: BIT (1)
postal_code_changed: BIT (1)
city_name_changed: BIT (1)
email_address_changed: BIT (1)
telephone_number_changed: BIT (1)
Figura 7-10: Tipo 5 tabela de histrico
Isto quase parece uma tabela de fatos, e realmente tem alguns dos mesmos
caractersticas como uma tabela de fatos. No entanto, no existem fatos reais: No h nada
para resumir, porque no existem elementos mensurveis. O nico disponvel
opo contar o nmero de clientes ou de mudanas, mas que poderia ser uma
atividade bastante interessante: Quantas vezes os clientes recebem um novo e-mail
endereo? Qual a taxa mdia mvel?
Observe tambm que o esquema apresentado na Figura 7-10 contm uma tabela de tipo de
mudana que
serve como uma tabela que indica exatamente o que os valores mudaram.
Tabela 7-3 mostra os primeiros registros desta tabela para que voc possa ter uma sensao
de
O que estes dados se trata.
Tabela 7-3: Cliente tabela tipo de alterao
telephone_n
umber_chan
ged
verdade
verdade
falsa
falsa
1
2
3
4
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
falsa
verdade
falsa
verdade
verdade
falsa
email_addre
ss_changed
postal_code
_changed
first_name_
changed
last_name_
changed
city_name_c
hanged address_ch
anged
change_typ
e_id
178 Parte II Dimensional Modelagem e Design de Data Warehouse
tipos de mudana so tambm um indicador perfeito para as questes de qualidade de
dados. Olha, para
exemplo, no nmero de tipo 4, onde s o nome da cidade ser alterado. muito
improvvel que isso acontea sem a mudana de endereo, cdigo postal e
possivelmente o nmero de telefone tambm. Independentemente de saber se voc substituir
valores existentes em sua dimenso de clientes, as mudanas devem ser controladas em
tabela de histrico. O efeito final uma pista de auditoria completa das mudanas na
dimenso
de dados. Lembre-se, contudo, que este tem uma funo diferente do que o normal
tabelas de dimenso e de facto utilizados para relatrios e anlise.
O exemplo descrito anteriormente apenas uma das muitas solues possveis
para a modelagem de uma pista de auditoria completa de dados. Outra abordagem comum
imitar
as tabelas de alterao ou registro usado por muitos sistemas de gerenciamento de banco de
dados para
replicao e sincronizao de dados entre dois ou mais bancos de dados. Alm da
dados alterados, essas tabelas de alterao conter a chave de registro, alterar data e hora,
eo indicador de mudana de tipo I, U ou D para Insert, Update e Delete.
s vezes antes e depois imagens esto presentes nesses quadros, comparveis
para um tipo de cenrio SCD 3.
SCD Tipo 6: Estratgias Hbridas
Tipo 6 realmente no existe, mas s vezes descrito como 1 +2 +3 = 6, indicando
que uma mistura de diferentes estratgias aplicadas a uma tabela nica dimenso.
Kimball d um exemplo disso em O Data Warehouse Lifecycle Toolkit. A
pedido de negcios comuns ''Eu quero ver todas as receitas do produto de acordo com
a verso atual do grupo de produtos.''Esta consulta no pode ser respondida se um
grupo de produtos tratada como um atributo do tipo 2, que geralmente o caso. Um
maneira de resolver isso adicionar um atributo do produto extra para a tabela de dimenso
onde a verso atual do grupo o produto armazenado para todas as verses do
produto. Tabela 7-4 ilustra esta caracterstica.
Tabela 7-4: Hybrid estratgia SCD
product_gro
up_curr
101
102
103
ABC
ABC
ABC
AcidRip
AcidRip
AcidRip
Software
Freeware
Open Source
Open Source
Open Source
Open Source
1-1-1900
13-3-2002
1-1-2009
12-3-2002
31-12-2008
31-12-9999
falsa
falsa
verdade
current_reco
rd
product_gro
up
product_na
me product_key
valid_from product_id
valid_to
Captulo 7 Modelagem de Negcios Usando esquemas Star 179
Usando esta tcnica de modelagem, voc ainda pode armazenar a verso correta
do produto em sua tabela de fatos para correo histrica, mas essa tcnica
tambm permite ao usurio olhar para esta informao, como se toda a histria foram
baseados em
a classificao do grupo atual do produto. Isto , no entanto, no muito flexvel
soluo e funciona apenas para um ou poucos atributos. Outra maneira de resolver este
problema juntar a tabela mesma dimenso na identificao de origem, e restringir
a tabela extra juntou no registro atual. Ao fazer isso, todos os atributos podem
ser usado como''''e, ao mesmo tempo recuperar o histrico completo do fato
tabela com base nas chaves SCD. A ltima opo adicionar uma dimenso adicional
tabela com apenas os valores de corrente na mesma. Esta tabela dimenso atual, em
seguida, ser
obter sua prpria chave na tabela de fatos. Uma desvantagem desta soluo que voc
precisa de um
coluna de chave extra na tabela de fatos para cada dimenso atual de adicionar este caminho.
Advanced Concepts Modelo Dimensional
Projetando um armazm de dados pode ser uma tarefa difcil, especialmente quando parece
que nenhuma das tcnicas descritas at agora resolver o seu problema especfico.
O que voc deve fazer quando, por exemplo, a sua dimenso de cliente realmente,
realmente grande, como 150 milhes de discos? Essa a questo das dimenses monstro.
Ou o que se pode existir vrios valores para uma entrada nica dimenso? O WCM
banco de dados tem um dim_dvd_release dimenso do produto, mas cada filme tem
mltiplos atores em campo. Como voc se este modelo? E o que dizer quando
tiver terminado de modelagem e h alguns atributos que no sobra
parecem se encaixar em algum lugar? As prximas sees mostram-lhe os conceitos
avanados
necessrias para resolver estes problemas e explorar a modelagem dimensional
tcnica.
Dimenses Monster
Mencionamos os 150 milhes de tabela de clientes registro antes. Talvez o seu
dimenso do cliente no to grande, mas mesmo com 5 milhes de registros, mantendo-se
a tabela de dimenso em uma janela de lote limitado pode ser bastante difcil.
Ns mostramos uma das solues para fazer uma melhor dimenso do monstro
o desempenho da consulta gerenciveis e otimizar: a mini-dimenses. Ainda assim,
quando a sua dimenso monstro contm uma grande quantidade de colunas de detalhe que
no ser
utilizadas para fins de anlise de qualquer maneira, pode ser uma boa idia de dividi-las em
uma tabela separada, tambm chamado particionamento vertical. A velocidade de consulta
em uma linha-base
banco de dados como o MySQL no determinada apenas pelo nmero de linhas, mas
tambm
pelo tamanho total de bytes de cada linha. Quando um banco de dados baseado em colunas,
como
Infobright, LucidDB ou MonetDB usada, esta penalidade eliminada pelo
fato de que os dados j esto armazenados em forma de coluna por coluna, o que
eliminando a necessidade de particionar a tabela mesmo.
180 Parte II Dimensional Modelagem e Design de Data Warehouse
Uma terceira opo particionar a tabela horizontalmente. Este um bem comum
tcnica para as tabelas de fatos que normalmente so divididos por perodo de tempo, mas
no
muito utilizados para as tabelas de dimenso. O problema com o particionamento horizontal
que uma chave de partio deve ser definida de tal forma que o particionamento do
faz sentido. O benefcio de particionamento horizontal reside no fato de que, quando
uma consulta analisado, o otimizador pode determinar quais as parties de usar e
que no, com base na chave de partio. A maioria das consultas envolvem uma data /
horrio
atributo, por isso quando se usa um esquema de particionamento baseada no tempo, isto
fcil. Se a sua
de dados particionada por ms ea consulta afeta apenas as vendas do ms passado, o
otimizador pode selecionar uma partio para recuperar os dados.
Com os dados do cliente no to simples. Voc no pode usar um campo de data para
partio porque nenhuma data disponvel relevante para suas consultas analticas.
Outros atributos que podem servir como uma chave de particionamento pode ser candidato
uma geogrfica ou demogrfica entidades, mas a escolha dessas entidades s
permite uma forma de cortar os dados, o que no pode ser mais relevante em
dos casos. Somado a isso, voc tem que levar em conta que o desenvolvimento ea
manuteno de um esquema de particionamento no uma tarefa trivial. Exige avanada
habilidades de administrao de banco de dados para configur-lo e integrar a
compartimentao
regime com o carregamento de dados de processos para o data warehouse. Para domar
dimenses monstro, a combinao de particionamento vertical eo uso de
adicional de mini-dimenses Parece, portanto, a melhor alternativa disponvel. Para
determinar quais colunas se separou para o mini-dimenso (s) voc precisa
olhar para um par de coisas:
Similarity-Que colunas contm informaes similares ou informaes
que logicamente agrupados, tais como atributos demogrficos.
Cardinalidade-How muitos valores diferentes podem ocorrer em uma nica coluna?
As colunas de baixa cardinalidade (como gnero) so candidatos ideais para
mini-dimenses.
Como volatilidade frequentemente valores em uma coluna de mudana ao longo do
tempo? Nomes
no mudam com muita freqncia; atributos demogrficos, como idade ou renda
grupo fazer.
Lixo, heterogneo, e dimenses de degenerao
Ao desenvolver o modelo dimensional, voc provavelmente vai acabar com alguns
atributos que no se encaixam em uma das tabelas acordadas dimenso. Este
geralmente o caso com os atributos que tm um significado em um processo como
ordem ou transferncia sinalizadores de status, tipo de ordem, ou condies de pagamento. O
possvel
solues para estes atributos, como deix-los na tabela de fatos, que se deslocam
lhes dimenses separadas, ou deix-los por completo todos tm os seus
desvantagens especficas. A tabela de fatos deve ser to estreito quanto possvel, para
adicionar
Captulo 7 Modelagem de Negcios Usando esquemas Star 181
colunas de texto uma m idia. Modelagem de cada atributo como uma dimenso separada
uma idia to ruim, e omitindo estes atributos significa que eles no podem
ser usada para qualquer anlise. A melhor soluo agrupar esses atributos em uma
tabela de dimenso separada, denominada lixo dimenso no lixo no sentido literal
mas como uma coleo de restos que precisam ser tratados de uma maneira elegante.
Na verdade, voc j viu vrios exemplos da forma como essas dimenses
so modelados no tipo SCD n 4. A nica diferena entre um
mini e uma dimenso de lixo o fato de que este ltimo contm muitas vezes alheios
Considerando que os atributos de atributos em uma mini-dimenso regular tm uma relao
de algum tipo e pode ser nomeado em conformidade.
dimenses Heterogneos so uma variao sobre este tema, onde diferentes tipos
de itens so agrupados em uma tabela nica dimenso. Porque a nossa demo
empresa de classe mundial de filmes, tem apenas um nico tipo de produto no estoque
no serve como um bom exemplo. Para este caso, no entanto, podemos facilmente encontrar
uma
bom exemplo no supermercado local. Produtos em um supermercado pode pertencer
em diferentes categorias, como alimentos, no-alimentares e bebidas. Os alimentos podem
tambm ser
classificados em vrias categorias com caractersticas muito diferentes. Quando
esses produtos so armazenados em uma nica dimenso do produto, voc acaba com um
mesa onde a maioria dos atributos ser irrelevante para um determinado produto.
Indicando a data de vencimento ou o valor calrico de uma vassoura simplesmente no faz
um monte de sentido. O desafio aqui encontrar o equilbrio certo entre a
tabela de produto nico, com muitos atributos inteis e dezenas de produtos diferentes
tabelas de dimenso que esto perfeitamente adaptados para uma categoria de produto
especfico. Em
Neste caso, no h melhor resposta, mas tudo depende da situao na mo.
dimenses Degenerada so um tipo ligeiramente diferente de raa. Estes so dimen-
ses que no existem realmente, mas deve conseguir um lugar no modelo dimensional
de qualquer maneira. Um bom exemplo o nmero de ordem. Nmeros de ordem pode ajudar
a
traar algumas das informaes contidas no data warehouse de volta para o sistema de
origem,
mas no h nenhuma ordem real dimenso. Todos os atributos da linha da ordem e da ordem
so modeladas no nvel mais baixo de granularidade, que o fato da linha fim.
Os atributos que fazem parte de um pedido, como data do pedido e do cliente, so
j se mudou para os fatos da ordem. No final deste processo, o que fazer
com o nmero de ordem, ento? No h nenhum ponto na criao de uma dimenso de
ordem
porque todos os atributos relevantes j so empurradas para o fato
mesa e dimenses relacionadas. Nestes casos onde voc acaba com um nico
atributo, basta adicionar o atributo tabela de fatos. Esse atributo no uma medida
objeto e tambm no uma chave estrangeira para uma tabela de dimenso, pelo que
chamado de
degenerar dimenso.
Dimenses de Interpretao de
Papis
Isto no sobre as dimenses realizao Romeu e Julieta, mas destina-se a
indicam que a mesma dimenso pode ser usado para atuar como mltiplos, semelhantes
182 Parte II Dimensional Modelagem e Design de Data Warehouse
dimenses. O exemplo bvio a dimenso de tempo, que pode ser usado,
ou melhor, deve ser utilizado para acomodar vrias ocorrncias de data e hora.
Olhando para um quadro tpico de vendas verdade, voc v data do pedido, data de envio,
receber
data, data de retorno, e data de pagamento e cinco datas, uma dimenso. Fisicamente
falando, todas as datas apontam para a mesma tabela dimenso data, logicamente, de
mais claro, eles no fazem, porque voc iria acabar com um conjunto de resultados vazio em
dos casos em que se aplicam restries de datas mltiplas. Tomemos por exemplo a consulta
para recuperar o valor total da ordem de DVDs ordenado em Dezembro de 2007, que
no foram devolvidos no prazo de cinco dias aps a expedio. Esta consulta envolve trs
tipos de datas, e quando todas as restries data exigida esto sendo definidas no
tabela de dimenso mesma data, voc acaba com um conjunto de resultados vazio ou, pelo
menos um
conjunto de resultados que no responder corretamente a pergunta. O SQL para ilustrar a
soluo correta para isso semelhante consulta foi utilizado quando se discute
apelidos de tabela (que basicamente o mesmo):
SELECT
DA
INNER JOIN
INNER JOIN
INNER JOIN
ONDE
E
E
SUM (f.revenue) AS ordervalue
fact_sales AS f
SOBRE AS dim_date o f.order_date_key o.date_key =
dim_date AS s ON f.shipping_date_key s.date_key =
dim_date AS r ON r.return_date_key r.date_key =
o.year4 = 2007
o.month_number = 12
r.julian_date s.julian_date> + 5
Agora fcil ver que se voc aplicar as ltimas duas restries para o mesmo
tabela, isso causaria um conjunto de resultados vazio, no possvel para uma data a ser
maior que na mesma data, mais cinco dias.
Outro exemplo relacionado ao banco de dados WCM o ator e diretor
da informao. Podamos combinar estas duas entidades em um nico role-playing
artista ou movie_person dimenso. Um monte de atores tornam-se mais tarde na administrao
sua carreira e s vezes at mesmo o oposto ocorre. Tomemos, por exemplo Quentin
Tarantino, que comeou sua carreira como diretor e mais tarde podero ser encontradas na
qualidade
em seus prprios filmes tambm.
Multi-valued dimenses e tabelas de Ponte
Uma das mais difceis de resolver problemas de modelagem dimensional a
vrios valores de dimenso. Novamente, a tabela de ator um exemplo perfeito: o nosso
clientes comprar ou alugar um nico DVD, mas este item tem geralmente mltiplos atores
aparecendo no filme. Dependendo do tipo de informao que gostaramos de
recuperar a partir do armazm de dados, existem duas solues possveis para resolver este
problema. O primeiro a lista dos atores em um campo de texto a nvel de cinema, como
na Tabela 7-5.
Captulo 7
Tabela 7-5: Ator lista como atributo
dvd_key
101
dvd_id
AA332
Modelagem de Negcios Usando esquemas Star 183
dvd_name
Lagarto Wars
dvd_actors
Harry Protz; Pine Neill, Will Grant
Isso bom para fins informativos e responde pergunta''O que
atores jogado no filme''X?, mas no pode ser utilizado para outros, mais interessantes,
perguntas como''Em que filmes jogou ator Y?''ou''Quais so os top 10
atores com base na receita de aluguel?''Para resolver este ltimo problema, voc precisa de
uma maneira
relacionar fatos mltiplos valores de dimenso mltipla. E porque voc no pode
diretamente criar relacionamentos muitos-para-muitos em um banco de dados voc precisa de
uma ponte
tabela para executar a tarefa. Figura 7-11 mostra a parte do depsito de dados
modelo com o ponte tabela.
dim_actor
Integer (10) [PK]: actor_key
Integer (10): actor_id
actor_first_name: VARCHAR (35)
CHAR (1): actor_middle_initial
actor_last_name: VARCHAR (35)
fct_rental
Integer (10) [PK]: rental_date_key
Integer (10) [PFK]: dvd_release_key
rental_value: DECIMAL (8)
dim_dvd_release
Integer (10) [PK]: dvd_release_key
Integer (10): dvd_release_id
dvd_release_title: INTEGER (10)
dvd_actor_brdge
Integer (10) [PFK]: dvd_release_key
Integer (10) [PFK]: actor_key
dvd_actor_factor: DECIMAL (8)
Figura 7-11: tabela da ponte dvd_actor
Note que neste diagrama, a tabela dvd_actor_bridge contm um
dvd_actor_factor de campo. Este um complemento necessrio tabela da ponte para
vigor SQL para retornar os resultados corretos. Se omitir o fator em nossos clculos
envolvendo os atores, a receita ser multiplicado pelo nmero de atores
ligado a um DVD especfico. Debate , naturalmente, aberto ao se este deve ser
uma diviso em partes iguais (10 atores, fator 0,1) ou que o protagonista recebe uma maior
fator (10 atores, dos quais um Brad Pitt, Brad conta para 0,55, para os outros
0,05 cada). Isso representa um problema quando voc quer uma resposta para a pergunta
''Como muita receita que geramos com o cinema, estrelado por Brad Pitt?''Em
Nesse caso, apenas um ator selecionado fazendo com que o fator para retornar um valor
que
muito baixa de modo que o fator de clculo deve ser omitido ou definido como o valor
1 neste caso. As coisas ficam realmente ruins quando queremos conhecer o nosso top 10
estrelas de cinema com base na receita total dos filmes que jogou dentro de alguns
esses atores podem ter co-estrelou em um ou mais filmes no passado, causando
resultados incorretos. A mensagem aqui : Tenha cuidado quando estes tipos de modelagem
de relacionamentos e ter certeza de que voc fornecer acesso apenas a ponte
relaes quando o usurio ou o analista trabalhar com os dados sabe exatamente o que
ele ou ela est lidando. Tambm possvel usar uma camada de abstrao, como
a camada de metadados Pentaho onde os objetos de clculo podem ser criadas vrias,
uma para cada caso especfico, uma definio estrita documentado. Captulo
12 ir mostrar-lhe como configurar isso.
184 Parte II Dimensional Modelagem e Design de Data Warehouse
Criao de hierarquias
As hierarquias so instrumentos muito teis para navegar apesar dos seus dados. A
hierarquia permite que um usurio para iniciar em um alto nvel de agregao (por exemplo,
pro-
duto categoria) e suporta a perfurao nos detalhes de uma dimenso particular.
A maioria das hierarquias ser implicitamente modelado dentro das tabelas de dimenso. Boa
Exemplos disso podem ser encontrados dentro da dimenso de data com a hie-time
Chies trimestre do ano-ms-dia ou na semana do ano, ou a dimenso do cliente com
pas-regio cep endereo. Essas so simples, hierarquias fixas, onde todos os
folhas na hierarquia tm a mesma profundidade''.''Ela comea a ficar interessante quando
voc
necessidade de modelar hierarquias de profundidade varivel tambm. A forma mais comum
de
construo de hierarquias de profundidade diferentes em um sistema de origem ter os
registros
em uma tabela de referncia outros registros na mesma tabela. Pense, por exemplo, de um
tabela de funcionrios, onde cada trabalhador registro aponta para um gerente, que tambm
um empregado. Nesse caso, as referncias da tabela em si, pelo que na maior parte se
refere
como um auto-associao. Oracle SQL contm um conectar-se antes declarao, que pode
atravessar essas rvores relacionamento. Isto tambm chamado recurso, mas este no
um
Instruo SQL ANSI padro para a maioria dos bancos de dados, incluindo MySQL, no
suporte a isso.
Felizmente, voc tambm pode usar tabelas ponte aqui. Usando a tabela da ponte para
hierarquias desequilibrada opcional, sem a tabela da ponte, a dimenso
tabela podem ser unidas tabela de fatos, como de costume. A tabela a ponte est l apenas
para
ajudar na navegao de hierarquias adicionais. por isso que estes quadros so ainda
por vezes referido como ajudante tabelas. Figura 7-12 mostra o banco de dados resultante
diagrama quando utilizando uma tabela de hierarquia de ponte.
fct_rental
Integer (10) [PK]: rental_date_key
Integer (10) [PFK]: employee_key
rental_value: DECIMAL (8)
Integer (10) [FK]: manager_key
employee_bridge
Integer (10) [PK]: manager_key
Integer (10) [PFK]: employee_key
TINYINT (1): nest_level
is_top: BIT (1)
is_bottom: BIT (1)
dim_employee
Integer (10) [PK]: employee_key
Integer (10): employee_id
employee_first_name: VARCHAR (35)
CHAR (1): employee_middle_initial
employee_last_name: VARCHAR (35)
Figura 7-12: Hierarquia ponte
Tabela 7-6 mostra o que os dados dessa tabela parece que quando os dados para o
relaes empregado-gerente adicionado, como mostrado na Figura 7-13.
Esta tabela ponte permite acumular os dados com base em qualquer questo
voc gostaria de perguntar. O cuidado necessrio, no entanto, se voc no adicionar todos
os necessrios
restries, h um risco de dupla contagem de alguns dos valores. Suponha que voc
quero a receita total do empregado 2 filtrando a chave do empregado. Sem
filtros adicionais sobre nest_level o conjunto de resultados dobrado porque employee_key
2 feita duas vezes. Esta tambm a grande desvantagem de uma ponte de hierarquia
tabela: Cada caminho de cada item para qualquer outro item na mesma rvore armazenado
em um registro separado. Como resultado, a tabela da ponte fica muito maior do que o
tabela de dimenso a que pertence.
Captulo 7 Modelagem de Negcios Usando esquemas Star 185
Tabela 7-6: Empregado contedos tabela da ponte
manager_key
1
1
1
1
1
2
2
2
3
employee_key
1
2
3
4
5
2
4
5
3
nest_level
0
1
1
2
2
0
1
1
0
is_top
Y
N
N
N
N
N
N
N
N
is_bottom
N
N
N
Y
Y
N
Y
Y
Y
Emp1
EMP2 Emp3
Emp4 Emp5
Figura 7-13: hierarquia desbalanceada
Uma alternativa ao uso de tabelas de ponte para o modelo de hierarquias desequilibrada
para forar o achatamento da hierarquia. As manchas em branco no diagrama so
simplesmente preenchido, repetindo os valores do nvel acima. Tabela 7-7 mostra que este
princpio.
Tabela 7-7: Achatada hierarquia desbalanceada
employee_key
1
2
3
4
5
MANAGER_ID
1
1
1
2
2
boss_id
1
1
1
1
1
186 Parte II Dimensional Modelagem e Design de Data Warehouse
Agora voc pode criar uma estrutura de navegao do patro para o empregado
nvel em todos os nveis conter uma relao com o nvel acima. O nmero de
colunas que voc precisa depende do nmero de nveis na hierarquia, h
h necessidade de a sobrecarga adicional de uma mesa de carteado. Existe um potencial
risco envolvido aqui: Uma hierarquia achatada assume um nmero fixo de nveis.
Se um outro nvel adicionado aos dados, a tabela de hierarquia resultante tem de ser
reestruturado novamente.
No importa qual utilizado para construir o modelo de hierarquia, a transformao
dos dados a partir de uma auto-juno relao ao posicionamento correto em ponte ou
tabelas de hierarquia no uma tarefa trivial.
Flocos de neve e dimenses de agrupamento
At agora, temos sido quase sempre falando sobre a desnormalizao de dados nos dados
dimenses mart. Como resultado, a consulta a juntar os caminhos para a tabela de fatos so
apenas um
nvel de profundidade. A nica excepo at agora foi o uso de tabelas para a ponte
multi-valorizados colunas de dimenso. Voc viu que a regra geral do polegar
quando data marts modelagem desnormalizar as tabelas de dimenso. Quando
voc levar isso para o extremo, voc pode desnormalizar ainda mais. A derradeira
modelo de dados desnormalizada consiste em uma nica tabela, pelo menos a partir do
usurio
ponto de vista. autor holands e consultor Dr. Harm van der Lek descritos
este como o Um conjunto de atributos Interface (AHV) conceito, em que todos os no-chave
atributos em um esquema estrela so publicados para o usurio final e / ou consulta como
uma ferramenta
lista nica. No outro extremo da escala, voc pode encontrar o totalmente normalizada
modelos de dados que so usados principalmente em sistemas de operao. dados
dimensionais
marts so posicionados no meio do caminho entre esses dois extremos.
Utilizando a normalizao do esquema em estrela normalmente chamado snowflaking,
para
indicar a semelhana deste tipo de esquema com um floco de neve real.
Figura 7-6 no captulo anterior apresentou um exemplo deste para o
cliente-regio do pas-relacionamento. Como acontece com qualquer modelo de data
warehouse
tcnica, h defensores e opositores da utilizao de flocos de neve em
dimensionais de data marts. Ralph Kimball ope-se firmemente com flocos de neve
com uma nica exceo, explicada na seo seguinte. Gostaramos
a outra lista de exceo, que chamado clustering. Este conceito
descrita em um artigo pelo Dr. Daniel Moody, que pode ser baixado em
http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-28/
paper5.pdf.
O artigo original de 2000, e no vero e outono de 2003 Moody
escreveu dois artigos subseqentes para o Data Warehouse Institute (TDWI), que
ainda digno de leitura. Estes artigos ltima gota o termo clustering e
introduzir o termo starflake, que se resume a mesma coisa. A questo
na mo causada por mltiplas referncias mesma tabela normalizada em
um data mart. No nosso exemplo WCM, temos esta situao com os clientes,
Captulo 7 Modelagem de Negcios Usando esquemas Star 187
armazns, empregados, fornecedores e todos eles de referncia da mesma regio
e mesa pas em seus campos de endereo. Em um esquema em estrela com rigor, ns
necessidade de construir quatro transformaes desnormalizao, uma para cada dimenso.
Neste caso, a Moody aconselha a se aglomerar na regio mesa pas / e fazer este
uma subdimenso partilhada por todas as quatro tabelas de dimenso. A regra de ouro que
assim como uma chamada garfo aparece no modelo de dados, a tabela de pesquisa no
desnormalizada mas usado como uma mesa de cluster. Uma bifurcao significa que dois
candidatos
referncia as tabelas de dimenso da mesma tabela de pesquisa, como voc pode ver na
Figura 7-14.
O diagrama mostra um exemplo de uma soluo estritamente normalizado esquerda
e estrela de um cluster ou esquema starflake direita.
dim_customer_purestar
Integer (10) [PK]: customer_key
INT (8): customer_id
customer_region_code: CHAR (2)
customer_region_name: VARCHAR (50)
customer_country_code: CHAR (2)
customer_country_name: VARCHAR (50)
dim_employee_purestar
INT (8) [PK]: employee_key
INT (8): employee_id
employee_region_code: CHAR (2)
employee_region_name: VARCHAR (50)
employee_country_code: CHAR (2)
employee_country_name: VARCHAR (50)
dim_customer_starflake
INTEGER (8) [PK]: customer_key
Integer (10): customer_id
INTEGER (8) [FK]: region_key
lkp_region
INTEGER (8) [PK]: region_key
region_code: CHAR (2)
VARCHAR (50) [AK]: region_name
country_code: CHAR (2)
country_name: VARCHAR (50)
dim_employee_starflake
Integer (10) [PK]: employee_key
Integer (10): employee_id
Integer (10) [FK]: region_key
Figura 7-14: esquema Starflake
Esta abordagem tem vrias vantagens. Primeiro de tudo, uma questo menor, mas o
tabela de dimenso fica um pouco menor. De maior importncia a manuteno da
tabelas starflake: As mudanas ocorrem apenas em uma mesa eo processo de ETL tem
apenas
para atualizar uma tabela em vez de dois ou mais. H desvantagens, bem como,
claro. Voc precisa criar exibies extras (quando o modelo de soluo em
antecedncia) ou usar apelidos na sua consulta extra, porque voc no pode fazer referncia
a
mesma tabela de consulta em uma consulta, onde clientes e funcionrios esto envolvidos.
A maior desvantagem, entretanto, que voc est criando dependncias no seu
ETL processo. Voc precisa ter certeza de que a regio / pas tabela de pesquisa
processado antes de as dimenses que usar essa tabela ou voc corre o risco de
inconsistncias em seu data warehouse.
Se voc quiser aderir a um modelo rigoroso esquema em estrela, o que significa um
nvel mximo de 1 para a junta entre fatos e dimenses, h tambm
outra soluo. Em vez de snowflaking as tabelas em cluster, voc pode tratar
-los como dimenses regulares. Isto significa que as chaves de dimenso faro parte do
a tabela de fatos tambm. Inconvenientes para essa forma de modelagem so que voc
sempre
necessidade de percorrer a tabela de fatos para chegar regio / pas de um cliente,
e claro que voc precisa teclas extras em sua tabela de fatos, o que pode torn-lo
desnecessariamente larga.
188 Parte II Dimensional Modelagem e Design de Data Warehouse
Estabilizadores
H, na opinio de Kimball, um nico caso permitido para o uso do
tcnica de floco de neve. Ele usa o termo guiga tabelas para descrever esta parti-
ular tipo de snowflaking, assim que ns gentilmente adotar a mesma palavra para isto para
evitar
qualquer confuso. Primeiro, vamos explicar o que entendemos por um outrigger: Suponha
que voc
tem um conjunto de atributos que so dependentes de um dos maiores da dimenso
nvel de atributos. Um exemplo so os dados Zipcensus, que contm um grande conjunto
de atributos analticos. CEP um atributo de nvel superior ao cliente (voc
pode ter vrios clientes compartilhando o mesmo cdigo de endereamento postal) e todos os
Zipcensus
atributos so dependentes CEP. Se voc armazenar todas estas colunas adicionais
na tabela de clientes, voc a desnormalizao um monte de dados e desordenar o
tabela de dimenso com um monte de atributos extra, neste caso, 112 atributos extras
alm do cdigo postal prprio. Figura 7-15 mostra um exemplo do Zipcensus
tabela estabilizadores em combinao com a dimenso do cliente.
dim_customer
Integer (10) [PK]: customer_key
Integer (10): customer_id
customer_first_name: VARCHAR (35)
CHAR (1): customer_middle_initial
customer_last_name: VARCHAR (30)
customer_address1: VARCHAR (50)
customer_address2: VARCHAR (50)
customer_postal_code: VARCHAR (10)
customer_city_name: VARCHAR (64)
customer_email_address: VARCHAR (64)
customer_telephone_number: CHAR (12)
customer_date_of_birth: DATA (0)
customer_website_name: VARCHAR (50)
Integer (10) [FK]: zipcensus_key
geography_key: INTEGER (10)
demography_key: INTEGER (10)
valid_from: DATA (10)
valid_to: DATA (10)
Verso: INTEGER (10)
current_record: TINYINT (10)
last_modified: TIMESTAMP (10)
lkp_zipcensus
Integer (10) [PK]: zipcensus_key
postal_code: VARCHAR (10)
populao: BIGINT (20)
housing_units: BIGINT (20)
110 --- --- outras colunas: OUTROS (0)
Figura 7-15: exemplo Outrigger
Tabelas Consolidao multi-gro
A ltima questo de modelagem um pouco diferente daquelas descritas assim
agora, uma vez que no aborda a modelagem de uma nica dimenso. O caso o seguinte:
suponha que voc tenha uma tabela de fatos contendo dados de nvel de transao e voc
quer
comparar estes valores reais para um oramento ou previso. A maioria das organizaes no
criar oramentos para o cliente individual e nvel de produto, mas fazer isso, por
exemplo, no ms e de nvel de grupo de produto, omitindo o cliente
e outras dimenses. Assim como voc acomodar essa diferena no
granularidade? Uma coisa muito clara: voc no pode comparar um valor mensal para
um dia, sem primeiro resumindo os valores dirios do nvel meses. Assim
Captulo 7 Modelagem de Negcios Usando esquemas Star 189
A primeira coisa necessria uma tabela resumida, fato que pode ser feito tanto em
A (tabela extra plus processo de carga) de forma fsica ou virtual (ver). O ltimo
mais fcil criar, mas pode ser proibitivo devido aos problemas de desempenho. A
tabelas de dimenso que acompanham devero estar disponveis no mesmo nvel, bem como,
quer pela criao de uma tabela separada ou criando um ponto de vista. (Lembre-se que,
quando
se juntar a uma tabela de fatos no nvel do ms com uma tabela de dimenso a nvel dia,
os resultados so multiplicados pelo nmero de dias no ms!)
Figura 7-16 mostra um exemplo com base no armazm de dados WCM que
contm tanto o oramento e os dados reais a um nvel consolidado de granularidade.
por isso que Ralph Kimball chama esse consolidada tabelas de fatos.
dim_region
region_key: INTEGER [PK]
customer_region_code: CHAR (2)
customer_region_name: VARCHAR (50)
customer_country_code: CHAR (2)
customer_country_name: VARCHAR (50)
dim_month
month_key: INTEGER [PK]
fact_budget_actual
region_key: INTEGER [PFK]
month_key: INTEGER [PFK]
dvd_genre_key: INTEGER [PFK]
targetrevenue: DECIMAL (6,2)
actualrevenue: DECIMAL (6,2)
month_number: TINYINT
month_abbreviation: CHAR (3)
MONTH_NAME: CHAR (12)
ano2: CHAR (2)
ano4: CHAR (4)
quarter_name: CHAR (2)
quarter_number: TINYINT
year_quarter: CHAR (7)
year_month_number: CHAR (7)
year_month_abbreviation: CHAR (8)
dim_dvd_genre
dvd_genre_key: INTEGER [PK]
dvd_release_genre: VARCHAR (35)
Figura 7-16: Real e oramento consolidado
As tabelas da Figura 7-16 podem ser criados diretamente a partir das tabelas existentes no
o data warehouse. Observe tambm que quando os dados esto disponveis em uma tabela
de dimenso
em um nvel mais alto de granularidade, ele mantido na tabela de dimenso derivada como
tambm. Este o caso para as colunas de trimestre e ano na dimenso ms,
e as informaes do pas na dimenso regio.
Resumo
Este captulo apresenta uma grande coleo de tcnicas de modelagem para trabalhar
com os dados dimensionais. Ns abordamos os seguintes assuntos:
esquema em estrela terminologia bsica e modelagem
Uma introduo ao SQL necessrios para consultar esquemas em estrela
Aplicando a arquitetura de barramento para colar todos os data marts para formar um
dimensional data warehouse empresarial
Um conjunto de princpios de design para usar na construo de um data
warehouse
As vrias estratgias para captar a histria do modelo tridimensional
190 Parte II Dimensional Modelagem e Design de Data Warehouse
Conceitos avanados que podem ser usados para a construo de dados dimensional
armazns
Como mencionado, recomendamos o Data Warehouse Toolkit srie por Ralph
Kimball e companhia sobre o assunto, e tambm recomendo vivamente uma visita ao
o site www.kimballgroup.com, Onde voc pode encontrar muitas dicas mais em
desenho dimensional.
CAPTULO
8
O Data Mart Processo de Projeto
Captulos 6 e 7 apresenta-lhe o armazenamento de dados, a tecnologia disponvel
e as tcnicas de modelagem predominante usado. Estes captulos constituiu uma base slida
fundamentao terica que voc pode construir em vez de realmente comear a desenvolver
e
criao de sua primeira solues reais. Agora hora de explicar os passos necessrios para
obter essas solues no lugar. Como explicado no captulo 6, um data warehouse
um processo, no um projeto. Um processo consiste em mais do que apenas tecnologia e
especialmente no caso de uma soluo de business intelligence, envolvendo o seu fim
usurios no processo essencial para seu sucesso.
Antes que voc possa iniciar a construo de um data warehouse ou data mart primeiro
o data warehouse, voc precisa saber o que voc quer colocar nele. Em
maioria dos casos existe uma demanda existente por uma soluo que ir entregar a
insights e relatrios necessrios para melhor gerir uma organizao. O primeiro passo
no processo do projeto identificar essas demandas, muitas vezes latente e converter
los em requisitos concretos para a soluo de business intelligence. Com o
necessidades identificadas, voc pode comear a projetar e construir um data warehouse
soluo que pode atender a essas demandas que oferecer sua organizao
valor real.
Anlise de Requisitos
O ponto de partida de qualquer projeto de data warehouse definir claramente o
requisitos do ponto de vista empresarial. Quantos dados sero provenientes
para a organizao, desde que as fontes, e em que condio? Que tipo
de informaes, em formatos que, a sua organizao precisa? Que se afastem-
mentos vai executar relatrios, quantas vezes, e em que dados? Quanto tcnica
191
192 Parte II Dimensional Modelagem e Design de Data Warehouse
conhecimento que os usurios tenham o seu negcio, eles precisam de um pacote de
relatrios ou
eles vo executar consultas ad hoc? E o mais importante, a informao que
ajudar os usurios a identificar se o negcio est ainda na trilha para alcanar
os objectivos definidos na estratgia corporativa? Com base nesses requisitos, uma
de negcios adequado deve ser desenvolvido. O negcio , em ltima anlise o
justificativa para o incio do projeto de data warehouse, em primeiro lugar. Sem
um caso de negcio, h obviamente nenhuma razo aparente para embarcar em um
frequentemente projeto caro e demorado como o desenvolvimento de uma base de dados
warehous-
ing soluo para sua organizao. Assim como voc reunir os requisitos e
desenvolver um business case (BC) para um projeto de data warehouse?
Primeiro, como explicamos nos captulos anteriores, um data warehouse e
soluo de inteligncia de acompanhamento de negcios so um meio para terminar. Este
fim''''
o que sobre tudo e deve ser descrito no BC em termos de negcios
beneficia de uma perspectiva de negcio. Em outras palavras, voc no quer para justificar
um investimento em tecnologia pela tecnologia, mas o valor pode
trazer para a organizao. A melhor maneira de se comear a envolver um ou mais chave
stakeholders e criam em conjunto o plano de negcios e requisitos.
Isso nos leva a um dos aspectos mais importantes, ou talvez o mais
aspecto importante, de uma equipe de projeto de data warehouse. A equipe deve ser
multi-disciplinar e consistem de duas pessoas tecnicamente qualificados e de negcios
usurios. Escusado ser dizer que, em todos os casos, o departamento de TI devem estar
envolvidos, bem
porque voc vai precisar de uma infra-estrutura de TI para executar o banco de dados e
relatrios. A prxima seo ajuda a identificar os usurios de negcios que sero
mais til na identificao de suas necessidades.
Obtendo o direito de usurio Envolvidos
Ausurio algum na organizao que ir trabalhar com o front-end-Pentaho
ferramentas para dashboards, relatrios e anlise. Normalmente, existem quatro tipos
de usurios:
One-click (consumidor) do usurio podem apenas consumir informao que est sendo
empurrada em um formulrio pr-formatado, geralmente por e-mail ou atravs de um
portal.
Dois cliques (reciclagem) do usurio-Usos um portal para procurar um painel ou
abre relatrios predefinidos. Pode abrir e atualizar documentos sob demanda,
mas pede-se preencher a interatividade somente envolvidos.
Multi-clique (construtor) do usurio podem trabalhar de forma interativa com os
apresentados
informao e pode criar relatrios adicionais e anlise com vistas
Ad-Hoc componente Relatrio e Mondrian frente JPivot.
Power User (analista), possvel criar relatrios usando o Designer de Relatrios e
cria novos modelos de Mondrian. Os usurios mais avanados tambm podem funcionar
com a bancada de minerao de dados Weka.
Captulo 8 O Data Mart Processo de Projeto 193
Curiosamente, estes tipos de usurios mapa para diferentes partes e os nveis da
organizao. Para o sucesso do seu projeto, sua primeira prioridade conseguir o
um-clique os usurios a bordo. Estas so as pessoas que alocam oramentos e pode
puxar as cordas direito de voc ir. Eles tambm so chamados gerentes, e
porque um projeto de data warehouse tende a exigir um oramento considervel e
tem um forte impacto e visibilidade dentro da organizao, seu desafio
convencer pelo menos um executivo de nvel C para patrocinar o projeto de data warehouse.
Com este patrocnio, fcil de atrair outros usurios-chave para se envolver.
Sem ele, voc ter um tempo difcil convencer a empresa que todo o esforo
ea despesa de valor.
O segundo grupo de pessoas geralmente maior. Eles tm a capacidade de
puxar a informao a pedido de um cliente de software de portal ou especiais
pedido. Apenas um pouco de treinamento necessrio para o uso dessas ferramentas,
geralmente um
Basta breve introduo para obter os usurios vo. Normalmente, a combinao
dos usurios de um e de dois cliques chamado usurios finais.
O terceiro grupo e os que voc estar trabalhando com a forma mais frequente
base pode ser encontrada no grupo de usurios clique com o boto multi. Esses usurios
podem ajud-lo
na definio de''que''do armazm de dados em termos da produo. Este
grupo geralmente composto por pessoas que j fornecem informaes para o
organizao sob a forma de planilhas Excel ou outros formatos similares, e normalmente
trabalham em departamentos como finanas ou marketing. No coincidncia que
a maioria dos projetos de data warehouse comear de qualquer uma instituio financeira,
vendas ou marketing
perspectiva, e essas pessoas podem explicar-lhe que o resultado final deve
aparncia.
O quarto grupo composto dos usurios avanados ou analistas. Eles podem fazer
sua vida muito fcil, porque eles provavelmente sabem onde os dados vem,
que a qualidade dos dados , e como ela pode ser integrada. Eles tambm podem
tornar a sua vida complicada, porque eles tm altas exigncias que so normalmente
no abrangidos durante a primeira iterao do data warehouse. Voc precisa deles
na equipe, mas tem que gerir as suas expectativas de antecedncia. Alm disso, ser muito
cuidado em fazer promessas para este grupo sobre o que vai e no vai ser
possvel na primeira fase do data warehouse.
Coleta de Requisitos
O processo de levantamento de requisitos requer a disponibilizao de uma chamada
analista de negcios. Em muitos casos, esta tarefa cabe a um consultor externo. Tanto
como ns gostaramos que voc vai contratar uma consultoria externa, h uma armadilha
possvel aqui
que voc deve estar ciente. No importa o quo experientes so essas pessoas, elas
No sei todos os cantos e recantos da organizao e da empresa
cultura. Os projetos de inteligncia de negcios mais bem sucedidos trabalham com insiders,
pelo menos em um papel de apoio. Um analista de negcios deve no apenas entender
o negcio, mas tambm precisa ser capaz de traduzir os requisitos de negcio em
194 Parte II Dimensional Modelagem e Design de Data Warehouse
a soluo certa. Ele ou ela tambm deve ser capaz de fazer essa traduo dos outros
caminho de volta, para explicar questes tcnicas da terminologia empresarial.
Uma maneira comum de recolha de requisitos a entrevista de usurios potenciais,
gestores e membros da equipe. Essas entrevistas devem ser realizadas por dois
pessoas, onde o analista de negcios tem o papel principal e geralmente acompanhada
por algum da equipe do data warehouse que tem discernimento na disposio
dados e funcionalidades das ferramentas que sero utilizadas. Explicando a entrevista
processo em profundidade est fora do escopo deste livro, mas o j mencionado
Data Warehouse Lifecycle Toolkit por Ralph Kimball um excelente recurso para
neste tpico.
Em muitos casos, j existe alguma forma de comunicao no local e estes
relatrios existentes, muitas vezes fazer um excelente conjunto de requisitos, ou pelo menos
uma boa
ponto de partida. Se este for o caso, ainda uma boa idia para realizar entrevistas para
afirmar o envolvimento do usurio no projeto, e determinar os pontos fortes
e fracos dos relatrios atuais.
Quer entrevistas ou outros meios de coleta de informaes utilizado, o
resultado final deve ser um conjunto bem definido de requisitos, anotadas na plancie Ingls.
Os requisitos devem ser agrupadas por actividade principal processos porque
seu data warehouse ser construda em torno de processos de negcios principais, tais como
vendas, reteno de clientes, gesto de armazns e finanas. O documento
deve conter no mnimo os seguintes dados:
Tpico-A principal rea ou processo a exigncia pertence.
Pblico-Quem a soluo para?
Dona-Quem ser o proprietrio do negcio da soluo?
demanda do usurio em texto explicando o que os usurios precisam e como eles iro
utilizar a soluo descrita.
Questes respondidas-A questes de negcios que sero respondidas por
a soluo. Captulo 5 contm vrios exemplos destas questes.
Benefcios para a empresa, que ser o ganho de organizao com a construo do
parte especfica do armazm de dados?
Como mecanismo de entrega as informaes sero disponibilizadas para
os usurios? Isso pode ser qualquer coisa, desde uma simples lista enviada por e-mail
para um
painel anlise interativa.
As fontes de informao, onde obter informaes adicionais sobre este requi-
mento disponvel, o que as pessoas possam ser feitas?
As fontes de dados, que sistemas ou bancos de dados podem ser usados para obter a
dados?
A cobertura dos dados Indicao- da integridade dos dados disponveis para
responder s questes de negcios.
Captulo 8 O Data Mart Processo de Projeto 195
A estimativa de custo indicao aproximada do tempo e investimentos necessrios
para desenvolver esta soluo.
Cada um desses documentos serve como um caso de pequenas empresas por conta prpria
e
deve se encaixar no caso de negcios global do projeto de data warehouse. Ao preencher
em todos os tpicos da lista, a coleta de requisitos tambm pode ser usado para
priorizar incrementos projeto.
Anlise de Dados
A fonte para cada soluo de data warehouse um dado. Os dados podem ser obtidos
de muitas fontes e cada fonte pode ter desafios especficos de recuperao
e transformar os dados para ser utilizado no data warehouse. Os seguintes
lista serve como um guia para ajudar voc a selecionar as fontes de dados e endereo certo
alguns dos desafios envolvidos:
A maioria dos sistemas ERP- organizaes de hoje executar um ou mesmo vrios
Enterprise Resource Planning (ERP) como SAP, Oracle Financials,
COMPI `re ou OpenERP (s para citar alguns). Estes sistemas se esforam para
supporte
o processo de negcios completos e abrangem tudo, desde contabilidade
a comprar para a fabricao de RH. Isto tambm significa que esses sistemas
so notoriamente complexo, o amplamente utilizado sistema ERP SAP R / 3 contm
mais de 70.000 mesas! Estes quadros, muitas vezes no podem ser acessados
diretamente, mas
expor seu contedo atravs de uma API ou camada outros metadados. Como
consequncia,
no o suficiente para ser capaz de se conectar ao banco de dados, que
frequentemente
proibidas pelas licenas de qualquer maneira. Voc precisa de um software
especializado para ser
capaz de ler os metadados do sistema e, como voc j deve ter adivinhado
j, muito poucas solues open source j esto disponveis que oferecem este
funcionalidade. Para Pentaho Data Integration, um comercial do plugin
A empresa alem ProRatio est disponvel. A soluo de ETL francs Talend
Open Studio tem um nativo de cdigo aberto conector SAP, mas se voc executar
E-Business Suite da Oracle, JD Edwards EnterpriseOne, ou qualquer dos outros
suites principais ERP, voc enfrentar alguns desafios na obteno de dados corretos.
sistemas de Home-grown-se a sua organizao desenvolveu a sua prpria sup-
sistemas de portabilidade, voc pode ter uma vantagem sobre as solues pr-
construdas
porque o conhecimento sobre as estruturas de dados subjacente j est dis-
capaz. Cuidado, porm, que nestes casos a documentao no pode ser
up-to-date, as pessoas que inicialmente desenvolveu o sistema pode ter deixado
da empresa, ou voc simplesmente no esto autorizados a acessar os dados dos
sistemas
diretamente.
sistemas mainframe Grande corporaes, como bancos ou seguros
empresas ainda dependem fortemente do mainframe para a sua informao essencial
196 Parte II Dimensional Modelagem e Design de Data Warehouse
necessidades de processamento. Isso significa que voc precisa para obter os dados do
mainframe, que pode ser uma tarefa desafiadora. A maneira mais fcil de obter
esses dados que ele seja entregue rea de carga do armazm de dados em um
padro de caracteres ASCII de arquivos separados.
Planilhas-A apenas um bom conselho quando uma organizao quer usar
planilhas como uma fonte de dados : no! Planilhas so freqentemente usados como
subsistemas completa, especialmente nos departamentos de finanas e contabilidade.
Sua grande vantagem a flexibilidade ea facilidade de uso, e exatamente
por que voc deve se recusar a aceitar as planilhas como uma fonte. Eles tambm usam
formatos de exibio que mostra os dados de uma forma formatada, mas ao ler
os dados diretamente contm algo completamente intil. Assim, mesmo que o PDI
capaz de planilhas de leitura, no torn-los parte do processo. Se
nenhuma fonte alternativa est disponvel (tpico de oramentos e previses), tm
o proprietrio da planilha, exportar os dados em uma pr-definidos e acordados
formato como um arquivo de texto ASCII.
bases de dados dos computadores de mesa Veja a entrada anterior para planilhas. No
h
uma regra muito simples para os quais fontes de dados podem ser aceites para os dados
armazm e que no pode: Se o sistema no suportado pela TI
departamento ou h apenas um usurio a manuteno do sistema, no perca
muita energia sobre ele.
Estruturado de dados externos Estruturada significa que os dados sejam entregues em
um formato bem definido por um terceiro, que disponibiliza esses dados, ser
on-line ou em qualquer outra forma. Bons exemplos destas fontes de dados so
os dados Zipcensus define que usamos para WCM ou os dados do mercado de varejo
que
pode ser obtido a partir de Nielsen.
-Mais de dados on-line e mais informaes podem ser obtidas diretamente
na web e consumido sob a forma de um servio Web ou feeds RSS. Pentaho
Integrao de dados contm todos os recursos para trabalhar com dados on-line.
Weblogs Esta- um caso especial de dados estruturados, pois voc vai precisar
um pouco de expresses regulares customizadas para rasgar as linhas de log separados
e
tornar a informao til fora dele.
XML O Extensible Markup Language (XML) tornou-se a lingua
franca do mundo da informtica. Todos os produtos da Pentaho armazenar suas (meta)
informaes em um formato XML, e muitos outros produtos so capazes de
exportao de dados em formato XML tambm. A entrega das informaes
no limitado a arquivos, a maioria dos sistemas de mensagens baseados em fila ou
entregar a sua
mensagens em formato XML tambm. A grande vantagem do XML que ele
basicamente um arquivo de texto, apenas como um ASCII regular por vrgula ou por
tabulao
arquivo. Isto significa que os arquivos XML podem ser abertos com qualquer editor de
texto para
visualizar o contedo. O desafio com arquivos XML, porm, que assim
flexvel que pode ser difcil de transformar a estrutura aninhada a uma utilizvel
Captulo 8 O Data Mart Processo de Projeto 197
formato relacional utilizado no data warehouse. Felizmente, ao contrrio de muitos outros
ferramentas de integrao de dados, o PDI tem um passo de entrada muito forte e pode
XML
RSS, leia tambm alimenta diretamente (que um formato XML).
Estivemos envolvidos em projetos de data warehouse desde o incio dos anos 90 e
descobriu que cada atribuio e caso diferente. Qualquer organizaes de tamanho
razovel,
nizao tem uma mistura de todas as fontes de dados descritas. s vezes a parte do ERP
da equao preenchida por um nico sistema financeiro ou de RH, e vrios
sistemas de home-grown ou feitos sob medida rodeiam este. Em nenhum dos projetos para
agora poderia todas as informaes necessrias ser encontrada em um nico sistema
integrado.
Todos os dados estruturados normalmente armazenado em um banco de dados relacional,
o que faz
facilmente acessvel, pelo menos do ponto de vista tcnico. O mais comum
dados adicionais no so armazenados em bases de dados consiste de oramentos,
estimativas, previses,
e planos de conta e normalmente mantida em planilhas. O desafio
para decifrar o contedo, estrutura, qualidade e significado de todos esses dados, e
isso o que voc precisa de documentao (se disponvel, do contrrio ela precisa ser
criado) e dados de perfil para.
Data Profiling
Dados perfis o processo de recolha de estatsticas e outras informaes sobre
os dados disponveis nos sistemas de origem diferente. A informao obtida
inestimvel para o design ainda mais do seu armazm de dados e processos de ETL.
perfis de dados tambm uma parte importante de qualquer iniciativa de qualidade dos
dados, antes
qualidade pode ser melhorada, uma linha de base tem de ser estabelecida, indicando quais
o estado atual dos dados . Perfil pode ser executada em trs diferentes
nveis:
Perfil de Coluna-Coleta estatsticas sobre os dados em uma nica coluna
Dependncia do perfil Cheques para as dependncias de uma tabela entre
diferentes colunas
Junte-se do perfil Cheques para as dependncias entre tabelas diferentes
O ponto de partida para definio de perfil sempre o perfil do nvel de coluna, que
gera informaes teis sobre os dados em uma coluna, incluindo, mas no
se limitam a:
Nmero de valores distintos, como muitas entradas exclusivas que a coluna
contm?
Nmero de NULL e valores vazios-How muitos registros no tm valor
ou um valor vazio?
valores mximos e mnimos, no apenas numricos, mas tambm para tex-
dados contratuais.
198 Parte II Dimensional Modelagem e Design de Data Warehouse
Numrica soma, mdia, mediana e desvio-padro Vrios cal-
Os clculos feitos sobre os valores numricos e distribuio de valor.
String e padres de comprimento so os valores armazenados corretamente? (Para
exemplo, alemo cdigos postais deve conter cinco dgitos).
Nmero de palavras, o nmero de caracteres maisculos e minsculos
contagens de freqncia, que esto no topo e no fundo Nitens em uma coluna?
A maioria dos dados de perfis ferramentas podem fornecer essas informaes e s vezes
at
mais. Ele fica mais complicado quando voc olha os perfis dentro de uma tabela nica para
identificar correlaes e interdependncias. Exemplos disso so as combinaes
de cdigo postal para cidade, a cidade-regio, e, regio para outro pas. Obviamente, uma
cidade
nome dependente de um cdigo postal, o nome da regio sobre a cidade, e os
pas na regio. A existncia destas dependncias violar o terceiro
forma normal, ento quando encontrar essas relaes em uma terceira forma normal
sistema de origem, voc deve tomar cuidado extra, principalmente em relao ao endereo
da informao. s vezes as relaes no so muito claras ou so mesmo confusas,
o que torna difcil a distino correta de entradas incorretas. Esta
exatamente a razo pela qual tantas caras endereo de correspondncia e limpeza
As solues existem. Tomemos, por exemplo, a combinao cidade-regio: H mais
de dez estados nos Estados Unidos com uma cidade chamada Hillsboro. Sem
conhecimento adicional dos cdigos de pas ou zip, difcil dizer se
um registro contm informaes erradas ou no. Para esses casos, voc vai precisar
informaes externas para validar os dados contra.
As relaes inter-table so mais fceis de perfil, simplesmente uma questo de ava-
equacionar a possibilidade de uma relao aplicada corretamente. Em um sistema de
entrada de ordem,
no deve ser possvel encontrar um nmero de cliente na tabela para que no
no existe na tabela de clientes. O teste mesma relao pode ser usada para encontrar
quantos clientes esto na tabela de clientes, mas no (ainda) na ordem
tabela. O mesmo se aplica aos produtos e detalhes dos pedidos, estoques e fornecedores,
e assim por diante.
Usando DataCleaner eobjects.org
Atualmente, o Pentaho BI Suite no contm dados de perfis de capacidades,
por isso vamos usar uma ferramenta chamada DataCleaner desenvolvidos pela comunidade
open source,
Comunidade eobjects.org. O software pode ser obtido a partir de http://datacleaner
. Eobjects.org e muito fcil de instalar. No Windows, basta descompactar
o pacote e iniciar datacleaner.exe. Em uma mquina Linux, depois descompactar-
o da tar.gz arquivo que voc primeiro precisa fazer o datacleaner.sh shell script
executvel para iniciar o programa. Se voc estiver usando o ambiente desktop GNOME
ente, isto muito fcil: basta o boto direito do mouse no arquivo e abra as propriedades.
Em seguida, v para a aba Permisses e marque a caixa de seleo antes de permitir a
execuo
Captulo 8 O Data Mart Processo de Projeto 199
arquivo como programa. Agora voc pode clicar duas vezes sobre o datacleaner.sh arquivo eo
programa ser iniciado. Se voc quiser uma maneira mais conveniente de iniciar o programa
da prxima vez, voc pode criar um atalho (no Windows) ou um lanador (no GNOME).
DataCleaner prev trs tarefas principais:
Perfil-Tudo as tarefas coluna perfis descritos anteriormente. A idia aqui
para obter insights sobre o estado dos seus dados. Assim, voc pode usar o perfil
tarefa, sempre que voc quiser explorar e tirar a temperatura do seu
banco de dados.
Validar-To criar e testar as regras de validao com os dados. Estes
regras de validao podem posteriormente ser traduzido (por mo) em Pentaho Data
validao de medidas de integrao. O validador til para a aplicao das regras
sobre os dados e controlar os dados que no estejam em conformidade com esses
regras.
Compare-To comparar dados de diferentes tabelas e esquemas, e
verificar a consistncia entre eles.
A partir dessas descries, claro que no DataCleaner
fornecer recursos de profiling tabela intra-como uma opo direta, mas h outros
maneiras de fazer isso com a ferramenta, como mostraremos mais tarde.
A primeira coisa que voc precisa, claro, uma conexo com o banco de dados que voc
quer
ao perfil. Para cada tipo de banco de dados, DataCleaner necessidades dos correspondentes
driver, que permite a comunicao entre a ferramenta ea base de dados.
Antes de explicar como adicionar drivers e conexes, vamos dar uma primeira olhada
nas funes disponveis. DataCleaner comea com o painel de tarefas Novo aberta,
que permite que voc escolha uma das trs opes principais: perfil, validar,
e Compare. Clique no perfil para iniciar uma tarefa de perfis novos. Voc ver um
tela vazia quase dois painis com algumas opes e os dados selecionados no
indicao no painel esquerda (ver Figura 8-1).
Figura 8-1: tarefa Criao de Perfil
200 Parte II Dimensional Modelagem e Design de Data Warehouse
Agora selecione Abrir banco de dados, selecione a entrada de SampleData DataCleaner
Na lista de conexo Named drop-down e clique em Conectar ao banco de dados. Todos
outros campos tm sido definido. Quando voc abre o n da rvore PBLICO
esquerda, clicando no +sinal, a lista com as tabelas exibida. Cada tabela
pode ser aberto individualmente, o que exibe as colunas disponveis. Para adicionar um
coluna para a seleo de dados, basta clicar duas vezes nele. Voc notar que a tabela
nome acrescentado ao campo de tabela (s), ea coluna para o campo de coluna (s).
Para remover uma coluna da seleo, clique duplo-lo novamente ou utilize Limpar
Seleo para remover completamente a tabelas e colunas selecionadas. O Preview
opo mostra uma amostra dos dados selecionados, o nmero de linhas a serem recuperadas
pode ser ajustado aps clicar no boto. O valor padro geralmente suficiente para
obter uma primeira impresso do contedo dos dados. Cada tabela comea seu selecionados
colunas exibidas em uma janela separada.
Ao lado da guia de seleo de dados o guia Metadados. Ao clicar nesta, o
metadados tcnicos das colunas selecionadas exibida. O tipo de campo, campo
comprimento e, especialmente, a indicao Nullable lhe dar uma primeira impresso de
o tipo de dados que podem ser esperados.
Adicionando tarefas perfil
Depois de selecionar algumas colunas para o perfil, voc pode adicionar perfis diferentes.
Dados
Cleaner contm as seguintes opes de perfil padro:
As medidas padro-Row contagem, o nmero de valores nulos, valores vazios,
valor maior e menor.
anlise String Porcentagem de caracteres maisculos e minsculos, por cento
idade de caracteres no-letra, nmero mnimo ou mximo de palavras,
eo nmero total de palavras e caracteres na coluna.
Time-anlise Menor e maior valor de data, acrescido de nmero de registros
por ano.
anlise do nmero-Maior, menor soma, mdia, mdia geomtrica, nor-
desvio padro e varincia.
Localiza-finder Padro e conta com todos os padres em uma coluna de caracteres.
Geralmente usado para nmeros de telefone, cdigos postais, ou outros campos que
devem
obedecer a um padro especfico alfa-numrico. exemplos padro 9999
aa (4 dgitos, espao 2 caracteres), (hfen trs personagens, trs dgitos) aaa-999.
Dicionrio matcher-Jogos as colunas selecionadas contra o contedo
de um arquivo externo ou outra coluna de banco de dados (um dicionrio'''').
Regex matcher-Jogos colunas contra uma expresso regular.
Data matcher mscara Jogos colunas de texto contra padres de data, esta
no pode ser usado com campos de data, apenas com campos de texto contendo a data
e / ou tempo de informao.
Captulo 8 O Data Mart Processo de Projeto 201
distribuio de valor Calcula o topo ea base valores de N em um col-
umn com base na sua freqncia, ou classifica o nmero de ocorrncias e
calcula a porcentagem de freqncia para cada valor. O valor para Npode
ser qualquer nmero entre 0 e 50, o padro 5.
A coleo de perfis em uma tarefa muito flexvel, possvel adicionar
perfis do mesmo tipo a uma nica tarefa. Cada tarefa pode ser salvo, bem como,
mas isso s vai salvar os perfis de conexo e de tarefas, no os resultados de perfil.
Esta ltima opo uma funo distinta e salva os resultados em um arquivo XML,
que infelizmente uma rua de sentido nico; DataCleaner no pode ler esses arquivos
de volta. Persistindo resultados de perfil faz parte do roteiro para futuros lanamentos.
Adicionando conexes de banco de dados
Uma das primeiras coisas a fazer, ao estabelecer o ambiente de dados de perfis
para adicionar os drivers de banco de dados e ao armazenamento correto das ligaes para
o seu prprio
bases de dados para facilitar a seleo. A primeira tarefa bastante simples e, no
DataCleaner tela principal, selecione Arquivo, Registro driver de banco de dados. H dois
maneiras de adicionar um novo driver. A primeira baixar e instalar automaticamente
elas. Esta opo est disponvel para MySQL, PostgreSQL, SQL Server / Sybase,
Derby, e SQLite. A segunda maneira de fazer isso para registrar manualmente uma
Jar. arquivo com os drivers. Para ajudar voc a encontrar os drivers, DataCleaner contm
a opo de visitar o site do driver para os drivers de banco de dados mais comuns,
tais como os de Oracle ou IBM DB2. Depois de baixar um driver, voc precisar
fazer referncia a ela, selecionando o arquivo e da classe driver correto. Para o MySQL, ns
usar o download automtico e instalar opo.
DICA Se voc j instalou o driver JDBC do MySQL, no h necessidade de download
-lo novamente, basta registar o seu vigor Jar. arquivo.
Adicionando a conexo para que voc possa selecion-lo na lista drop-down na
Abra a caixa de dilogo banco de dados um pouco mais complicado. Para isso, precisamos
de alterar
o arquivo de configurao DataCleaner, que pode ser encontrado no DataCleaner
pasta e chamado datacleaner-config.xml. Para editar arquivos XML, melhor
usar um editor de texto simples que compreende a sintaxe XML. Para o Windows
plataforma, o Notepad + + de cdigo aberto pode ser usado; em uma mquina Linux, apenas
direito do mouse no arquivo e abra com o editor de texto. Olhe para a parte do arquivo
que diz:
<-! Conexes nome. Adicione suas prprias conexes aqui. ->.
Abaixo desta linha h uma entrada vazia para o drop-down list, basta deixar
que onde ele est. A segunda entrada a conexo com os dados da amostra. Cpia
parte da amostra de dados que comea com feijo < e termina com </ Bean>, Incluindo
202 Parte II Dimensional Modelagem e Design de Data Warehouse
o comeo eo fim feijo tags. Cole-o logo abaixo da marca de fechamento da amostra
entrada de dados e ajustar a informao para refletir suas prprias configuraes. Abaixo est
a entrada, ele deve procurar a conexo com o banco de dados WCM no seu
mquina local:
class="dk.eobjects.datacleaner.gui.model.NamedConnection"> <bean
<property name="nome_qualquer" value="WCM MySQL database" />
<Nome da propriedade = "connectionString" value = "jdbc: mysql: / / localhost:
3306 "/>
<property name="username" value="yourusername" />
<property name="password" value="yourpassword" />
name="tableTypes"> <property
<list>
<value> TABELA </ value>
</ Lista>
</ Property>
</ Bean>
Para ter DataCleaner tambm ligar para o catlogo correto, no nosso caso o
Catlogo de WCM, uma linha extra deve ser adicionada abaixo da propriedade senha
linha, como este:
valor <property name="catalog" = "wcm" />
No recomendvel armazenar senhas em arquivos de texto simples, na verdade, ns
se opem fortemente a faz-lo, e neste caso voc pode deixar o campo de senha
vazia tambm. Nesse caso, voc precisar fornecer a senha cada vez que voc
criar um novo perfil de tarefa.
Para usar DataCleaner com outras fontes de nosso banco de dados WCM, voc pode
encontrar exemplos do elemento XML de feijo para outros bancos de dados populares no
documentao DataCleaner online.
Fazer um perfil inicial
O Profiler DataCleaner foi otimizado para permitir que voc faa uma vez
rpida e, ao mesmo tempo perspicaz perfil com pouco esforo. Para comear
com perfil, voc pode adicionar as medidas padro, String Anlise, Nmero
Anlise e Anlise Tempo perfis clicando repetidamente o perfil Adicionar
boto no canto superior direito da janela de tarefa perfil. Voc pode aplicar esses
perfis para todas as colunas de seu banco de dados para obter a percepo inicial.
Trabalhando com Expresses Regulares
As expresses regulares ou expresses regulares so uma forma de mascarar e descrever os
dados,
principalmente para fins de validao, mas tambm para encontrar certos padres em um
texto. Vrios
livros foram escritos sobre como trabalhar com expresses regulares, assim ns nos referimos
Captulo 8 O Data Mart Processo de Projeto 203
a informao existente aqui. Alm disso, o captulo 11 contm alguns exemplos
de como voc pode usar expresses regulares para analisar dados de websites. Dados
Limpador contm matcher uma regex como um dos perfis, bem como uma regex
validao como parte do validador. Antes que voc pode usar expresses regulares,
voc precisar adicion-los ao catlogo Regex DataCleaner na tela principal.
Inicialmente, este catlogo est vazio, mas fcil de adicionar regexes. Quando voc clica
regex Nova, trs opes aparecem. A primeira criar um homem novo regex
vamente eo ltimo conseguir uma regex do propriedades. arquivo. A segunda
a opo mais interessante: Ao selecionar Importar da RegexSwap,
uma biblioteca on-line aberto com uma grande coleo de expresses regulares existentes
para escolher
a partir de. tambm possvel contribuir com a sua prpria regexes ao RegexSwap
em http://datacleaner.eobjects.org/regexswap para outros (re) utilizao. Depois
importao de uma regex do RegexSwap, voc pode abri-lo a mudar seu nome e
a prpria expresso, e no h uma opo para testar a expresso, introduzindo
strings que voc deseja validar. Se o RegexSwap no satisfazer as suas necessidades, uma
vasta
nmero de expresses regulares esto disponveis em sites da internet de outros tambm.
O site http://regexlib.com, Por exemplo, contm regexes por telefone nos EUA
nmeros e cdigos postais. Outro site muito interessante, sobretudo se voc quiser aprender a
sintaxe de expresso regular, www.regular-expressions.info. Use o seguimento
ing etapas para tentar uma para os nmeros de telefone na nossa base de clientes WCM.
1. Uma expresso que ir coincidir com a maioria dos nmeros, com ou sem extenso
parecido com este:
(((\ D {3} \)) |?. (\ D {3} [- \ .]))? \ d {3} [-] \ d {4} (\ s (x \ d + ?)) {0,1} $
Clique regex novo na tela principal DataCleaner e criar um novo
expresso. D o nome de expresso e digite a expresso acima,
ou copi-lo a partir de amostras de WCM no site da companhia.
2. Salvar a expresso (voc pode, naturalmente, test-lo primeiro com um telefone real
nmero) e comear uma nova tarefa. Abra o banco de dados WCM e clique duplo
sobre o telephone_number campo na tabela de clientes.
3. Adicionar um perfil matcher Regex, ative a guia matcher Regex e selecione
somente o nome da expresso que voc criou. DataCleaner, por padro,
seleciona todos os regexes disponveis por isso, se este o nico disponvel j
selecionado. Caso contrrio, clique em nenhum Selecione primeiro e depois ativar os EUA
Nmero de telefone. Se o nmero de telefone a nica coluna nessa tarefa,
no h diferena entre a aplicao do jogo, para todos os dados selecionados, mas
melhor selecionar explicitamente a telephone_number coluna como um subconjunto
de dados.
Sua tela deve agora olhar como o exemplo na Figura 8-2.
Se voc no selecionar o nmero do telefone como um subconjunto de dados e adicionar
mais
colunas mais tarde, eles sero automaticamente digitalizados com a mesma regularidade
expresso, que no faz muito sentido na maioria dos casos.
204 Parte II Dimensional Modelagem e Design de Data Warehouse
Figura 8-2: Regex matcher definio
A caracterizao e explorao de resultados
Agora voc est pronto para o perfil dos nmeros de telefone, ento clique em Executar de
perfil para
iniciar o processo. DataCleaner ir exibir uma tela de status, onde voc tambm pode
acompanhar o andamento do processo perfil. Quando o perfil concludo, um
guia resultados adicionado tela, um para cada tabela que continha perfilado
colunas. Abra a guia ao cliente, ea tela de resultado deve ser algo
como na Figura 8-3.
Figura 8-3: resultados Profiler
Ns deliberadamente alterou um pouco os nmeros de telefone aqui para obter algumas
excees
e ser capaz de mostrar outro recurso interessante DataCleaner: perfurao at a
detalhes. Clicando na seta verde ao lado do abre trs excees encontradas
a tela mostrada na Figura 8-4.
Figura 8-4: Excees
Este no o fim, porm. Quando voc clica direita, voc ver dois de exportao
opes: uma para as clulas seleccionadas e uma para a tabela inteira. A ltima opo
Captulo 8 O Data Mart Processo de Projeto 205
tambm ir adicionar o cabealho da coluna para a rea de transferncia, o primeiro de cpias
apenas o
dados selecionados. As clulas selecionadas no precisam ser adjacentes. Ao usar a tecla
Ctrl
Voc pode, por exemplo, selecionar o cdigo do cliente e nmero de telefone e apenas
copiar as colunas para a rea. Depois disso, voc pode facilmente colar os dados
em uma planilha ou outro arquivo para posterior explorao.
Validao e comparao de dados
Validao funciona de forma semelhante como a tarefa de perfil, mas acrescenta algumas
capacidades. Voc pode verificar os valores nulos ou fazer uma verificao do intervalo de
valor para descobrir
se as entradas de coluna em uma queda entre um valor inferior e superior. A
caracterstica mais avanada a avaliao de JavaScript, que permite usar qualquer
JavaScript expresso para avaliar os dados. A diferena a sada: o val-
tarefa idation exibir apenas as entradas que no passarem nos testes com uma contagem
dos registros. O roteiro inclui DataCleaner futuros planos para integrar o
perfil e validao de tarefas e oferecer uma nica interface integrada para ambas as tarefas.
Na comparao dos dados permite a comparao de bases de dados diferentes ou
esquemas, ou comparar os dados com um arquivo. Portanto, essa tarefa pode ser usado para
verificar se todos os clientes no ordens tabela tambm existem no cliente tabela
e as funes idnticas comparao.
Usando um dicionrio para verificaes de dependncia Coluna
DataCleaner no fornece uma soluo out-of-the-box para verificar a combi-
naes de colunas, ou se uma coluna dependente contm um invlido
entrada com base nas informaes em outra coluna. H, no entanto, uma forma
para fazer essas anlises usando um dicionrio, combinadas com vistas banco de dados.
A DataCleaner dicionrio um arquivo de texto contendo os valores que podem ser usados
para
validar os dados em uma tabela de banco de dados. Por exemplo, voc pode baixar a ISO
mesa pas, armazenar os valores em um arquivo de texto, e usar este arquivo de texto como
um catlogo
para verificar as entradas em uma coluna pas. Se voc tomar um passo adiante,
tambm possvel armazenar vrios campos concatenados por linha e criar uma viso
no banco de dados, que concatena as colunas a serem validados no mesmo
caminho. Agora, a viso pode ser perfilado usando o dicionrio com a concatenadas
entradas, cada linha que no corresponde com os valores corretos no arquivo de texto
ser reconhecido pelo DataCleaner. Como uma alternativa ao uso de arquivos de texto,
tambm
possvel utilizar uma''verdadeira''banco de dados do dicionrio. Esta base de dados do
dicionrio necessidades
a ser adicionada ao arquivo de configurao DataCleaner como explicado no''Adicionar
Conexes de banco de dados''seo.
Solues Alternativas
Muito poucas alternativas open source existem para autnomos ou de dados incorporados
profiling. A ferramenta de modelagem de dados de SQLPower, que apresentamos em breve,
206 Parte II Dimensional Modelagem e Design de Data Warehouse
tem alguns recursos bsicos de perfis, e oferece uma Talend Profiler dados tambm.
Se qualquer uma dessas ferramentas de trabalho para voc, basta us-los. Outra
frequentemente utilizados
alternativa para criao de perfis de dados criar scripts personalizados para perfis de dados
SQL
finalidades. Recomendamos que isso s se voc tiver muito especializadas
requisitos que no so fornecidos fora da caixa por DataCleaner. Embora
est fora do escopo deste livro, possvel estender a DataCleaner
funcionalidade com suas tarefas de perfil do prprio cliente, que lhe d uma
soluo mais rpida, mais confivel e mais flexvel do que totalmente a partir de
zero.
Desenvolvimento do Modelo
Depois que as exigncias so claras, as fontes de dados corretos foram identifi-
cados, e os dados de perfis processo tiver fornecido suficientemente detalhada
informaes sobre o contedo ea qualidade dos dados de origem, voc pode comear por
desenvolvimento global de data mart modelo de dados. Antes de criar o real
modelo de dados detalhados em uma ferramenta de modelagem de dados, primeiro voc
precisa identificar quais
temas e medidas que voc ir criar na sua data mart inicial. a que
os requisitos criado anteriormente entram em jogo. Uma exigncia que cobre
''Cliente do produto de anlise de vendas''claramente precisa de ter os assuntos cliente,
produto,e tempo adicionado com as medidas receita de vendas e nmero de
itens. Sem descrever estas entidades em detalhes, possvel j a desenhar
o modelo de alto nvel, como mostrado na Figura 8-5.
Produto
Cliente
* Receita
* Itens Vendidos
Time
Figura 8-5: Alto nvel do modelo estrela
Este um ponto de partida perfeito para especificar melhor o contedo exato da sua
tabelas de dimenso e de fato, pois este modelo fcil de entender, mesmo para um
usurio de negcios no-tcnicos. O prximo passo no refinamento do modelo a
determinao
quais atributos devem fazer parte de cada dimenso. Ela ajuda a diferenciar
entre os atributos de anlise e de detalhe. Um atributo um campo de anlise que
ser usada para informar ou agrupar os dados sobre como um grupo de clientes, cidade,
gnero,
e ms. Detalhe atributos so em sua maioria de elementos descritivos, tais como o cliente
nomes, nmeros de telefone e endereo. Voc pode at considerar
deixando os detalhes atributos fora do armazm de dados completo. Isso no
Captulo 8 O Data Mart Processo de Projeto 207
sempre uma boa idia, no entanto. Suponha que voc queira gerar listas de discusso
directamente a partir do armazm de dados com base em algumas anlises, ou processo de
seleo;
voc vai precisar das informaes de endereo, nmeros de telefone, e-mail
endereos.
DICA Nos quadros de pequenas dimenses, a distino entre detalhe e analtica
atributos desprezvel, mas quando a tabela de dimenso fica muito grande, isso
distino auxilia na determinao de quais atributos podem ser movidos para uma
mini-dimenso.
Para cada atributo, voc precisa definir que tipo de dados e comprimento,
estar. Tambm uma boa idia para adicionar uma descrio de cada campo, o que pode
parecer
complicado no incio, mas este metadados adicionados muito til tanto para final
usurios e pessoas que sero a manuteno do sistema. Tabela 8-1 contm uma
exemplo parcial de uma dimenso de cliente. Uma coluna muito importante a
com o ttulo SCD (por tipo de Dimenso de Alterao Lenta). Isso determina
como as atualizaes para essas colunas sero tratadas pelo processo de ETL.
Tabela 8-1: dimenso Cliente
CAMPO
Customer_key
Customer_id
Customer_name
Customer_city
Customer_phone
_number
Customer_register
_date_key
ANLISE
N
N
N
Y
N
Y
TIPO
INT
INT
VARCHAR
VARCHAR
CHAR
INT
DISTNCIA
4
4
63
64
12
4
2
2
2
1
SCD DESCRIO
Substituto
chave de dimenso
Fonte original
chave do sistema
Nome completo (primeiro +
mdia +passado)
Nome da cidade
Telefone
nmero
Primeiro registo
data de cliente
Mais adiante neste captulo, vamos estender essa tabela com origem e transformao
informaes, bem como, inicialmente, mas para discutir e documentar a data mart
mesas, o arranjo mostrado aqui funciona bem.
Uma observao final sobre comprimentos de campo: Pode acontecer que o sistema de sua
fonte
esquema diz que o campo de nome da cidade de 64 caracteres de largura. Quando voc
perfil os dados, voc encontrar alguma coisa, ou seja, que o nome a maior cidade
apenas 30 caracteres (o que verdadeiro para o banco de dados exemplo WCM: STE Marthe
LA MADELEINE DU CAP). Por favor, no caia na armadilha de cortar a cidade
208 Parte II Dimensional Modelagem e Design de Data Warehouse
campo Nome na tabela de dimenso de 30 caracteres, nesse caso. O mesmo
se aplica a outros campos descritivos, tais como descrio do trabalho, ttulo do DVD, e assim
em. Mesmo que as entradas atuais so todos menores que o comprimento especificado
no significa que em algum momento algum no vai entrar um valor que excede
esse nmero. Isso pode levar tanto a uma entrada incompleta ou uma falha no
ETL processo, que precisa ser tratada. Tome sempre o comprimento da fonte
campos da tabela, no mnimo, para a meta de comprimentos de campo da tabela.
Especial ateno deve ser dada tabela de fatos e, especialmente, o
granularidade (nvel de detalhe) dos fatos. Os usurios corporativos deveriam acordar
sobre o significado de um nico registro. Quando olhamos para os fatos ordem em nosso
exemplo, a linha de ordem o menor nvel de detalhe e, assim, a granularidade da
o modelo.
Modelagem de dados com Power * Architect
At agora temos analisado os dados e trabalhou com aplicaes de escritrio para
documentar
nosso projeto. Agora hora de traduzir essa informao em um modelo de dados reais
em um banco de dados. Porque Pentaho BI um conjunto e no uma ferramenta de
modelagem de dados,
ir usar uma soluo de terceiros aqui tambm. H alguns dados de cdigo aberto
ferramentas de modelagem disponveis, mas a maioria deles tm capacidades limitadas. s
vezes
a limitao em termos de funcionalidade, por exemplo, voc no pode fazer engenharia
reversa
bases de dados existentes e, por vezes, a limitao das bases de dados a ferramenta pode
trabalhar com ele. Por estas razes, ns no vamos usar o MySQL Workbench. Ele pode
s podem ser utilizadas em conjunto com o MySQL ea verso de cdigo aberto um
despojado edio do comercial. DICA Assumimos uma compreenso bsica dos conceitos de modelagem de dados e teoria. Se
este no o caso, o livro Dominando Data Warehouse Design por Claudia Imhoff
et al. (Wiley, 2003) tem uma excelente introduo sobre o assunto e tambm fornece
um mergulho mais profundo em alguns dos conceitos de modelagem que introduzimos neste e nos
captulo anterior.
Ao olhar para uma ferramenta de modelagem de dados, certifique-se que pelo menos os
seguintes
funcionalidade est disponvel:
Multi-banco de dados de suporte Talvez voc deseja fazer engenharia reversa de uma
exis-
o de banco de dados Oracle e gerar um banco de dados MySQL a partir de uma
adaptao
modelo. Mais tarde voc pode decidir mudar para o PostgreSQL, mas se a ferramenta
no suporta isso, voc tem um problema.
Encaminhar engenharia Gerar novos objetos de banco de dados a partir de um
modelo.
A engenharia reversa Gerar um modelo de um banco de dados existente.
Captulo 8 O Data Mart Processo de Projeto 209
Modelo comparao Compare o modelo com o esquema de banco de dados (ou
vice-versa) e gerar scripts de modificao.
As ferramentas mais avanadas no mercado tambm oferecem recursos como verso
gesto e verso de comparao, a diviso entre as empresas, lgica e
modelos fsicos de banco de dados, recolher e expandir elementos grficos, e
caractersticas documentao. Os preos para ferramentas comerciais com um ou mais dos
esses recursos avanados variam de US $ 200 a US $ 5.000, mas se voc est projetando um
sistema de banco de dados de misso crtica para uma grande empresa, esses custos no
podem
ser um problema. Ns estaremos usando o cdigo-fonte aberto Power * Architect (P * A)
ferramenta
de SQLPower (www.sqlpower.ca), Porque um dos poucos ou talvez
mesmo a ferramenta de cdigo aberto apenas disponvel que suporta as quatro funes
na lista anterior. Power * Architect est disponvel para Linux, Windows e
Mac e pode ser baixado do site SQLPower. A verso para Windows
um instalador executvel, tal como qualquer outro programa do Windows, definindo o
programa em Linux leva um pouco mais de esforo (mas no muito). Download
o tar.gz arquivo e extra-lo para um diretrio de sua escolha. O programa uma aplicao Java
arquivo (Architect.jar), Que pode ser iniciado com o comando java-jar
architect.jar na linha de comando dentro da pasta Architect. Voc
tambm pode criar facilmente um lanador ou um novo item de menu para o programa.
Podemos acrescentar muito pouco ao Poder excelente guia de usurio * Arquiteto desde
por SQLPower. Como voc vai descobrir muito rapidamente, a ferramenta inclui ainda um
dados de perfis de opo. Para uma viso bsica sobre os dados, essa funcionalidade
suficiente
mas no existem validadores regex ou domnio, como em DataCleaner. Um outro
ponto de cuidado aqui: O profiler pode trabalhar em uma tabela completa apenas, e no em
colunas individuais. Perfil de tabelas muito grandes podem, portanto, ter uma longa
tempo para completar.
Mais prs e contras de ARQUITETO POWER *
Alguns recursos que voc pode encontrar em outras ferramentas, mas no em P * A uma seleo de
opes de exibio que permitem exibir somente o nome da tabela, ou somente a chave primria
campos, ou todos os campos. E embora haja um zoom in e out facilidade, isso funciona
para todo o modelo, no para uma rea selecionada. Mas tudo isso so questes de menor importncia
e no nos impediu de usar e recomendar esta ferramenta. Na verdade, h uma
Casal de caractersticas nicas no disponveis em qualquer outra ferramenta, como a ETL e
opes OLAP. Um gadget muito bacana (que pode realmente provar ser muito
til) a possibilidade de copiar as tabelas de um banco para outro. Imag-
ine voc tem um banco de dados Oracle e querem alguns quadros copiados para um MySQL
instncia. Basta criar uma conexo com bancos de dados e utilize a tabela de cpia
dados de opo no menu Ferramentas para selecionar uma tabela de um banco de dados de origem,
clique em um esquema de destino e clique em OK.
210 Parte II Dimensional Modelagem e Design de Data Warehouse
Construindo o Data Marts WCM
Depois de ter consultado o Poder guia do usurio * Arquiteto e fez-se
familiarizado com a ferramenta, hora de comear a construir data marts WCM. Voc
precisa de duas conexes para fazer isso, uma ao banco de dados WCM e outro para
WCM_DWH um novo banco de dados, que servir o armazm de dados.
Em muitos casos, o data warehouse ir puxar os dados de mais de uma fonte
do sistema. s vezes voc no vai mesmo ter acesso direto a estas bases de dados, ou
pelo menos no quando voc est projetando a data marts. Isso torna difcil para construir
o modelo baseado em um ou mais sistemas de origem. Se voc pode fazer e usar
conexes diretamente aos bancos de dados fonte, existem algumas vantagens quando
trabalhar com P * A. A ferramenta''''lembra os mapeamentos que voc faz quando
arrastar uma coluna a partir de uma conexo de fonte para o painel do projeto. Voc tambm
pode
ver isso no editor de propriedades da coluna, onde as duas primeiras linhas logo acima do
nome da coluna exibir o nome da fonte bases de dados e nome da fonte
coluna da tabela. Uma coluna que adicionada mo ir exibir o texto''Nenhum
''Especificado para o banco de dados e nome da coluna.
DICA Para abrir rapidamente as propriedades de uma tabela ou coluna, clique na tabela ou
nome da coluna e pressione Enter.
Voc provavelmente j viu o Criar Chaleira Job opo no menu de ETL
e questionou se esta uma forma rpida de construir postos de trabalho de transformao. A
resposta : depende. Se todas as colunas so mapeadas a partir de uma fonte
banco de dados, voc pode considerar a gerao de empregos como uma chaleira de incio
rpido para o seu
transformaes. Em todos os outros casos, essa opo intil, porque um trabalho s pode
ser criada se houver um mapeamento real.
DICA Com Power * Architect fcil migrar parte ou um banco de dados inteiro do
uma plataforma para outra usando a opo Criar Chaleira Trabalho. O trabalho pode ser Chaleira
criado como uma coleo de arquivos (um arquivo de trabalho de mais um arquivo de transformao para
cada
tabela) ou diretamente na Chaleira repositrio. Uma soluo ainda mais rpido usar a cpia
Quadros Assistente em Pentaho Data Integration (Spoon) diretamente.
O diagrama na Figura 8-6 exibe os pedidos do esquema de data mart, que
provavelmente a primeira vez que ser criado. Usando esta data mart, uma multido de
questes comerciais podem ser respondidas:
Quais gneros de filme ou sites geram mais receita?
Como eficazes so as promoes que o lanamento?
Quem so nossos clientes mais rentveis?
Como a nossa receita evoluindo ao longo do
tempo?
Qual a relao entre os nossos sites e grupos demogrficos?
Em que hora do dia em que os clientes, o lugar mais pedidos?
dim_dvd_releasedvd_release_key: INTEGER (10) [PK] dvd_release_aspect:
VARCHAR (10) dvd_release_id: INTEGER (10) dvd_release_title: INTEGER (10)
dvd_release_release_date: DATA dvd_release_rating_code (10): VARCHAR (10)
dvd_release_rating_desc: VARCHAR (35) dvd_release_genre: VARCHAR (35 )
dvd_release_studio: VARCHAR (20) dvd_release_ean: VARCHAR (35)
dvd_release_status_code: VARCHAR (15) dvd_release_sound: VARCHAR (20)
dvd_release_versions CHAR (13) dvd_rental_duration: CHAR (13) dvd_release_upc
SMALLINT (10) dvd_rental_price: dvd_purchase_price (10) DECIMAL : DECIMAL
(10) valid_from: valid_to (10) DATA: verso (10) DATA: SMALLINT (10)
last_modified: INTEGER (10) is_current TIMESTAMP (10)
dim_promotionpromotion_key: INTEGER (10) [PK]
promotion_id: INTEGER (10) promotion_name:
INTEGER (10) promotion_start_date: DATA (10)
promotion_end_date: DATA promotion_type (10):
VARCHAR (35) promotion_website_title: VARCHAR
(50) promotion_website_uri: VARCHAR (60 ) valid_from:
DATEvalid_to: DATEversion: TINYINT (3)
last_modified: INT (8) current_record TIMESTAMP
dim_websitewebsite_key: INTEGER (10) [PK]
website_id: INTEGER (10) website_title:
VARCHAR (50) website_uri: valid_from
VARCHAR (60): DATA (10) valid_to: verso
(10) DATA: INTEGER (10) is_current:
SMALLINT (10 ) last_mofidied:
TIMESTAMP (10)
dim_warehousewarehouse_key: INTEGER (10) [PK] warehouse_id:
INTEGER (10) warehouse_name: VARCHAR (35) warehouse_address1:
VARCHAR (50) warehouse_address2: VARCHAR (50)
warehouse_postal_code: VARCHAR (10) warehouse_city_name:
VARCHAR (64) warehouse_region_code: CHAR (2 )
warehouse_region_name: VARCHAR (50) warehouse_country_code:
CHAR (2) warehouse_country_name: VARCHAR (50)
warehouse_email_address: VARCHAR (64)
warehouse_telephone_number: CHAR (12) valid_from: valid_to (10)
DATA: verso (10) DATA: INTEGER (10) is_current : SMALLINT (10)
last_modified: TIMESTAMP (10)
dim_datedate_key:
INTEGER (10) [PK]
date_value: (10) DATA
<<total de 40 colunas>>
Integer (10)
dim_zipcensuszipcode: CHAR (5) [PK] Estado: CHAR (2) populao: BIGINT (19) housingunits:
BIGINT (19) landareameters: BIGINT (19) waterareameters: BIGINT (19) landareamiles: DUPLO
(17) waterareamiles: DUPLO (17 ) latitude: longitude DUPLO (17): DUPLO (17) numstates:
BIGINT (19) pop: BIGINT (19) popedu: BIGINT (19) hh: BIGINT (19) fam: BIGINT (19)
hhunits: BIGINT (19) hhmedincome : DUPLO (17) hhssincome: DUPLO (17) hhnossincome:
DUPLO (17) faminc000_010: DUPLO (17) faminc010_015: DUPLO (17) faminc015_020:
DUPLO (17) faminc020_025: DUPLO (17) faminc025_030: DUPLO (17) faminc030_035:
DUPLO (17) <<total de 113 colunas>>: DUPLO (17)
dim_timetime_key: INTEGER (10)
[PK] time_value: CHAR (5)
time_hour: INTEGER (2)
time_minute: INTEGER (2)
time_daypart: VARCHAR (15)
dim_demographydemography_k
ey: INTEGER (10) [PK]
age_group: VARCHAR (10)
gnero: CHAR (10)
income_group: VARCHAR (20)
fact_ordersfact_order_key: INTEGER (10) [PK] website_key: INTEGER (10) [FK]
customer_key: INTEGER (10) [FK] dvd_release_key: INTEGER (10) [FK] promotion_key:
SMALLINT (5) [FK] local_order_date_key: INTEGER (10 ) [FK] local_order_time_key:
INTEGER (10) [FK] demography_key: INTEGER (10) [FK] customer_order_id: INTEGER
(10) from_warehouse_key: INTEGER (10) [FK] to_warehouse_key: INTEGER (10) [FK]
utc_order_date_key: INTEGER ( 10) [FK] utc_order_time_key: INTEGER (10) [FK]
shipping_date_key: INTEGER (10) [FK] delivery_due_date_key: INTEGER (10) [FK]
delivery_date_key: INTEGER (10) [FK] return_due_date_key: INTEGER (10) [FK]
return_date_key: INTEGER (10) [FK] order_status_key: INTEGER (10) [FK] receitas:
quantidade (6) DECIMAL: SMALLINT shipping_cost (10): order_to_delivery_lag (6)
DECIMAL: INTEGER (10) rental_duration: INTEGER (10)
dim_order_statusorder_status
_key: INTEGER (10) [PK]
order_status_id: INTEGER
(10) order_status_desc:
VARCHAR (15)
dim_customercustomer_key: INTEGER (10) [PK] customer_id: INTEGER (10)
customer_first_name: VARCHAR (35) customer_middle_initial: CHAR (1)
customer_last_name: VARCHAR (30) customer_address1: VARCHAR (50)
customer_address2: VARCHAR (50) customer_postal_code: VARCHAR (10 )
customer_city_name: VARCHAR (64) customer_region_code: CHAR (2)
customer_region_name: VARCHAR (50) customer_country_code: CHAR (2)
customer_country_name: VARCHAR (50) customer_email_address: VARCHAR (64)
customer_telephone_number: CHAR (12) customer_date_of_birth: DATA
customer_website_name (0) : VARCHAR (50) demography_key: INTEGER (10) [FK]
valid_from: valid_to (10) DATA: verso (10) DATA: INTEGER (10) current_record:
TINYINT (10) last_modified: TIMESTAMP (10) CEP: CHAR (5) [FK]
Figura 8-6:
Pedidos de
data mart
212 Parte II Dimensional Modelagem e Design de Data Warehouse
O diagrama contm a concluso das encomendas data mart, mas, para maior clareza, ns
abreviou o data dimenso, que abordado no pargrafo seguinte. A
dim_zipcensus tabela tambm est includa em uma forma abreviada. Primeiro, vamos
ter um olhar para o diagrama e explicar algumas das escolhas que fizemos.
Fato tabela para evitar duplicaes, ns explicitamente adicionado um banco de dados
gerado
fact_order_key como uma chave primria para a tabela. H tambm um casal
de entradas calculado: order_to_delivery_lag e rental_duration. Estes
clculos no esto definidos no banco de dados, mas fazem parte da ETL
processo.
Demografia dimenso Este uma tabela de dimenses regulares, mas ns
necessidade de os dados do cliente durante o processo de carregamento para
determinar a
valor correto. Por favor, note que existem dois caminhos possveis de juno entre
fact_orders e dim_geography: uma direta e uma via dim_customer.
No modelo do usurio final, precisamos criar um alias extra para dim_geography
para contornar isso.
Regio / pas Baseada na nossa discusso no captulo 7 sobre
starflakes poderamos ter snowflaked regio e pas medida que ocorrem
em ambos os dim_warehouse e dim_customer mas ns decidimos fazer o
esquema em estrela como''pura''possvel.
Para colunas de Auditoria clareza que deixou as colunas de auditoria batch_insert,
batch_update (Que em lotes inseridos ou atualizados o registro?), E
dt_insert e dt_update (Quando o registro foi inserido e atualizado?).
colunas SCD2-A tabelas de dimenso para o tempo, o status do pedido, data e
demografia no contm os campos de gesto de mudana lenta
tipo 2 dimenses, porque estes quadros so considerados estticos ou
totalmente do tipo 1 (substituir).
DICA tabelas Power * Architect pode ser dada a sua prpria cor na barra de ttulo. Voc pode
usar este recurso para diferenciar as tabelas de dimenso e de fatos e fazer
mesas especiais, tais como a dimenso da demografia e da mini-Zipcensus
tabela outrigger facilmente reconhecvel.
Gerando o banco de dados
Com P * A, a criao do modelo fsico de dados muito simples. Primeiro voc precisa
para se certificar de que o catlogo de destino ou o esquema existe e adicionar uma conexo
para
neste catlogo. Com a opo do menu Ferramentas Forward Engineer, P * A pode gerar
o SQL para a criao de tabelas e ndices em vrios dialetos SQL. Clique
OK, para que a ferramenta gera o script e exibi-lo em um painel de visualizao. Agora
voc tem duas opes: executar o script diretamente usando a conexo selecionada
informao, ou copiar o contedo do painel para a rea de transferncia para uso em um
ferramenta externa. Se voc quiser modificar o script antes da execuo, ter
Captulo 8 O Data Mart Processo de Projeto 213
usar a opo de copiar, porque no possvel alterar o script no
painel de visualizao.
Dimenses gerar esttica
Nosso projeto inicial mart de dados contm duas tabelas estticas que no recebem os seus
dados
dos sistemas de origem, mas ser gerada usando scripts. A primeira a
dimenso temporal, que contm uma linha para cada minuto em um dia (1440 registros).
A dimenso de data especial e pode ser configurado para acomodar-resposta
eliminao de muitas questes relacionadas ao tempo, como voc viu no Captulo 7. Embora
no
h regras rgidas para as colunas que devem estar presentes em uma dimenso de data,
Tabela 8-2 mostra a estrutura de uma dimenso de data que lhe dar uma grande
de flexibilidade quando se trabalha com questes relacionadas ao tempo. A dimenso de data
apresentado tem uma granularidade de um dia, por isso a cada dia no calendrio traduz
em um nico registro. Observe tambm que a tabela no realmente esttica como a data
relativa
colunas precisam ser atualizados toda noite. Ento verdade que a gerao da tabela
um processo de um tempo, um outro processo necessrio para manter a tabela atualizada.
Voc deve ter notado que o ttulo contm a tabela''norte-PT''adio.
Nomes e abreviaes para dias, meses e trimestres pode variar para cada
linguagem, e voc precisa encontrar uma maneira de acomodar este em sua soluo. No
duas alternativas para implementar isso. A primeira a de adicionar campos adicionais
para cada idioma na tabela de mesma data, eo segundo a criao de separar
tabelas que contm apenas as colunas descritivo para cada idioma. Ns
preferem a ltima vez que oferece mais flexibilidade. O parente colunas de data
s precisam ser armazenados e mantidos, uma vez que permanecem os mesmos
independentemente da linguagem utilizada.
No s uma questo de nomes diferentes em linguagens diferentes, alguns
partes da data pode variar tambm. O primeiro dia da semana diferente
em pases europeus (segunda-feira) do que nos Estados Unidos (domingo), e
a maioria dos pases europeus aderem ao padro ISO 8601 para a numerao
semana e ano. Isto significa que um nmero de semanas em que os EUA poderiam diferir
na mesma semana no Reino Unido Por esta razo, foi includo o _ISO colunas
para a semana, ano, e na semana do ano. importante quando voc est construindo uma
base de dados
armazm para uma organizao multinacional de ter estas diferenas em
conta e tentar acordar um modo padro de usar estes nmeros. Outras
colunas que voc pode precisar em sua prpria situao so indicadores perodo fiscal.
Nem todas as organizaes usam o ano civil como o seu ano fiscal, e quando esta
o caso, voc deve incluir o ano fiscal, o ms fiscal, e em seu trimestre fiscal
dimenso de data tambm. A lista de entradas possveis quase ilimitado; ns
indicadores de visita para o dia de trabalho e nmero de dias teis no ms e
semana, os indicadores para as frias com referncias a tabelas que contm descries
de viagens internacionais e religiosas, e assim por diante. Ns limitamos nossa concepo de
o padro de campos de calendrio e as respectivas colunas de tempo relativo, mas
sinta-se livre para experimentar outros conceitos em seu prprio data mart.
214 Parte II Dimensional Modelagem e Design de Data Warehouse
Tabela 8-2: Data dimenso (EUA-PT)
CAMPO
date_key
date_value
date_julian
date_short
date_medium
date_long
date_full
TIPO
INT
DATA
INT
CHAR
CHAR
CHAR
CHAR
DISTNCIA
4
4
4
12
16
24
32
DESCRIO
dimenso Substituto
chave
Data-valor do dia
Arredondado data do calendrio
juliano
valor de texto curto para a data
Valor mdio de texto para
data
Long valor de texto para a data
texto completo o valor para a data
EXEMPLO
20091123
23-11-2009
2455159
11/23/09
23 de novembro de 2009
23 de novembro de
2009
Segunda-feira,
23 de novembro de
2009
2
23
327
0
0
0
0
Segunda-feira
Seg.
47
3
47
0
1
day_in_week
day_in_month
day_in_year
is_first_day_in
_month
is_first_day_in
_week
is_last_day_in
_month
is_last_day_in
_week
day_name
day_abbreviation
week_in_year
week_in_month
week_in_year
_ISO
is_weekend
is_weekday
TINYINT
TINYINT
SMALLINT
TINYINT
TINYINT
TINYINT
TINYINT
CHAR
CHAR
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
1
1
2
1
1
1
1
12
3
1
1
1
1
1
Nmero de dias na semana
Nmero de dias em
Ms
Nmero de dias no ano
1 para o primeiro dia, 0 para
outros
1 para o primeiro dia, 0 para
outros
1 para o ltimo dia, 0 para
outros
1 para o ltimo dia, 0 para
outros
Nome completo do dia
Nome abreviado do dia
Nmero da semana
Semana nmero no ms
Nmero da semana
1 para o Sat-Sun
1 para Mon-Fri
Captulo 8 O Data Mart Processo de Projeto 215
CAMPO
month_number
MONTH_NAME
Ms
_abbreviation
ano2
ano4
year2_iso
year4_iso
quarter_number
quarter_name
year_quarter
YEAR_MONTH
year_week
year_week_iso
current_week_cy
current_month_cy
last_week_cy
last_month_cy
current_week_ly
current_month_ly
last_week_ly
last_month_ly
ytd_cy_day
ytd_cy_week
ytd_cy_month
ytd_ly_day
ytd_ly_week
ytd_ly_month
TIPO
TINYINT
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
TINYINT
CHAR
CHAR
CHAR
CHAR
CHAR
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
TINYINT
DISTNCIA
2
12
3
2
4
2
4
1
2
7
7
7
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
DESCRIO
Nmero de meses em
ano
Nome completo do ms
Nome abreviado do ms
indicador do ano Curta
Long indicador do ano
Curta indicador do ano ISO
Long indicador do ano ISO
Nmero de quarto
Texto valor do trimestre
Valor Ano trimestre
valor de Ano-ms
semana do ano o valor
ISO valor de semana do ano
*
*
*
*
*
*
*
*
*
*
*
*
*
*
EXEMPLO
11
Novembro
Novembro
09
2009
09
2009
4
Q4
2009-Q4
2009-11
2009-47
2009-47
1
1
0
0
1
1
0
0
0
0
0
0
0
0
Continuou
216 Parte II Dimensional Modelagem e Design de Data Warehouse
Tabela 8-2 (Continuao)
CAMPO
current_year
last_year
week_sequence
TIPO
TINYINT
TINYINT
INT
DISTNCIA
1
1
4
DESCRIO
*
*
0 para a semana em curso, -1
para a anterior, uma para a prxima,
e assim por diante
0 para o ms atual, -1
para a anterior, uma para a prxima,
e assim por diante
EXEMPLO
1
0
0
month_sequence INT 4 0
*
Consulte a seo''Special Data Fields e Clculos''mais adiante neste captulo.
Uma ltima observao sobre a gerao das tabelas de data e hora: Pode ser tentador
incluir a definio destas tabelas diretamente em um Pentaho Data Integration
SQL transformao, mas ento voc ter que criar um cdigo de banco de dados especfico
para
gerar a tabela. Ao utilizar uma ferramenta de modelagem de banco de dados dados
independentes para
isso, manter o projeto genrico, o que torna mais fcil alternar para outro
banco de dados quando necessrio.
Especial campos de data e Clculos
Captulo 7 j introduziu a current_week e last_week colunas. Em
Tabela 8-2 e nossa amostra de data warehouse, estendemos esta construo com
campos adicionais que so grandes para comparar diferentes perodos de tempo. Estes
campos so todos do tipo TINYINT e s pode ter valores 0 ou 1, o que significa que
podemos us-los em clculos. As abreviaturas cy e ly so para a corrente
ano e no ano passado, ytd para o ano at data, ea ltima parte, dia,semanaOu
Ms Indica os perodos cumpridos para comparar.
Neste caso, segunda-feira da semana nmero 47, o que significa que todas as datas
com um nmero de 46 semanas ou menos vai ter o valor 1 para ytd_cy_week. A
coluna ytd_ly_week conter o valor 1 para todos os dias do ano anterior
(Neste exemplo, 2008) que tm um nmero de 46 semanas ou menos. Para relatar
receita deste ano at a ltima semana em relao ao mesmo perodo do ano passado
pode ser realizada facilmente com a seguinte consulta:
p.product_type SELECT
, SUM (d.ytd_cy_week f.revenue *) AS ytd_current_year
, SUM (d.ytd_ly_week f.revenue *) AS ytd_last_year
, ROUND (SUM (f.revenue d.ytd_cy_week *) /
SUM (f.revenue * d.ytd_ly_week) * 100,0) como ndice de
FROMfact_sales AS f
INNER JOIN dim_date SOBRE AS d f.order_date_key d.date_key =
INNER JOIN dim_product SOBRE AS p = f.product_key p.product_key
Captulo 8 O Data Mart Processo de Projeto 217
O que acontece na consulta anterior que para cada linha na tabela fato,
o valor da receita multiplicado pelos valores dos campos ytd_cy (semana)
e ytd_ly (semana). Em seguida, os resultados desses clculos esto resumidos
e agrupadas por tipo de produto. Tabelas 8-3 e 8-4 mostram um exemplo de como isso
realmente funciona.
Tabela 8-3: Relativo clculos de data
PRODUCT_TYPE YTD_CY RECEITAS YTD_LY O VALOR YTD_CY YTD_LY
Blu-ray3010300
DVD
DVD
Blu-ray
Blu-ray
DVD
Blu-ray
DVD
40
25
33
21
56
45
35
1
0
0
1
0
0
0
0
1
0
0
0
1
1
40
0
0
21
0
0
0
0
25
0
0
0
45
35
Tabela 8-4: resultado relativo data definida
PRODUCT_TYPE
Blu-ray
DVD
YTD_CY
51
40
YTD_LY
45
60
NDICE
113
67
A grande vantagem do uso dessas reas especiais que voc no precisa
combinar vrias consultas, cada um com seus prprios filtros, para gerar a necessria
relatrios. De fato, possvel obter todos os resultados e as comparaes de perodo
o armazm de dados em uma nica consulta, o que simplifica bastante a construo do
consultas e relatrios. Outros elementos comuns em vendas e anlise de receitas
so movimento totaliza e mdias. Para este tipo de clculo, o total das
ltimos 12 meses (para um total anual ou em movimento MAT) comparado com o total
dos 12 meses anteriores aos 12 ltimos. Para uma comparao ms a ms, voc
tambm pode calcular a MAT por ms para eliminar as influncias sazonais
os clculos e obter uma melhor viso sobre a evoluo das vendas reais. Para calcular
um tapete, a seqncia de ms uma grande ajuda, mas o SQL necessrio um pouco mais
complexa, pois voc vai precisar de um caso declarao para determinar se um perodo
218 Parte II Dimensional Modelagem e Design de Data Warehouse
devem ser includos no resultado final. A instruo a seguir ir calcular
o MAT e MAT - 1 ano:
SUM (CASE WHEN * f.revenue d.month_sequence entre -12 e -1
Ento 1 ELSE 0 END) AS mat1,
SUM (CASE WHEN * f.revenue d.month_sequence entre -24 e -13
Ento 1 ELSE 0 END) AS mat2
Captulo 13 fornece vrios exemplos de como voc pode usar a data
e dimenso de tempo para simplesmente analisar os resultados sem ter que depender de
frmulas complexas no prprio relatrio. Na maioria dos casos, mais fcil para modelar
esses
construes diretamente no banco de dados, o que economiza tempo mais tarde, no edifcio
o modelo de meta ou nos relatrios.
Fonte para Alvo Mapeamento
A etapa ltimo projeto antes que possamos comear a construir os processos reais de ETL
identificar os mapeamentos do sistema de origem (s) para o data warehouse de destino.
Uma boa maneira de comear pelo primeiro desenho os fluxos de dados de alto nvel, no
nvel da tabela
sem se preocupar muito com os detalhes. Figura 8-7 mostra um exemplo de
esse mapeamento de alto nvel, onde ns fingimos as tabelas pas ea regio vm
de outra fonte (banco de dados mestre). O diagrama mostra apenas uma parte
o armazm de dados completo, claro, e exibe o mapeamento lgico, no
o fsico. O mapeamento fsico provavelmente incluir intermediria
tabelas de teste que so usados para armazenar os dados extrados dos sistemas de origem
ser transformados e carregados em suas tabelas de dimenso destino final.
customer_
ORDER_LINE
customer_
fim
banco de dados WCM
fact_orders
Data Warehouse
armazm
banco de dados WCM
dim_
armazm
regio
Data Warehouse
pas
banco de dados Master
Figura 8-7: Alto nvel de mapeamento
Captulo 8 O Data Mart Processo de Projeto 219
Agora que ns determinamos que a nossa data mart olhar como e feito um
mapeamento global do sistema de origem para as tabelas de data mart. A prxima etapa
criar o mapeamento detalhado em nvel de campo. Este processo no de fonte para
alvo, mas na verdade o contrrio. Ns j sabemos que a nossa meta
deve ser semelhante, ento agora hora de encontrar as fontes de direito e as
transformaes
para obter os dados. Voc trabalha a partir de destino para a fonte porque possvel que haja
nenhuma fonte disponvel para os campos de determinada meta. Quando voc trabalha''para
trs''da
as tabelas de destino, essas lacunas so capturados mais cedo do que quando se trabalha
para a frente''''
a partir das fontes. Para cada campo de destino (veja a Figura 8-1 para um exemplo),
precisamos
identificar os seguintes elementos:
Sistema-In nosso caso, a maioria dos campos so originrios do banco de dados WCM,
mas
as chaves geradas e colunas de auditoria no tem um sistema de origem. Eles
so preenchidos a partir da ETL processo, que pode ser inserido como o sistema de
origem
para estas colunas.
Quando esquema aplicvel, digite o nome do esquema do banco de dados ou
catlogo.
Quando a Objetos aplicvel, digite o nome da tabela, exibio ou armazenados
procedimento que serve como fonte para a coluna.
Campo-A nome do campo no objeto de origem.
O tipo de dados tipo de dados da coluna.
Durao-O comprimento da coluna.
Descreve-Transformao os passos necessrios para converter o valor de
o sistema de origem para o valor correto da meta. Isso pode (e deve!)
incluem pesquisas com outras tabelas tambm.
Comentrios adicionais- observaes que podem ajudar o programador de ETL para
construir as transformaes de dados correto.
DICA Com DataCleaner, voc pode facilmente selecionar as tabelas de origem e cpia da
Gerao de mesa a partir da guia de metadados em uma planilha. Isto lhe dar
o esquema, campo, objeto de dados, tipo e comprimento, que voc pode usar para
ampliar as informaes de mapeamento.
Depois de concludo o mapeamento global e detalhada, voc deve verificar
a integralidade de seus esforos de modelagem com os usurios de negcios.
no quer magoar a ter uma anlise tcnica por um DBA, se tiver um
ao redor. O mais importante verificar se o modelo gerado pode ser
utilizado para responder s questes de negcios que foram inicialmente apresentados
pela comunidade de utilizadores. Se no, voc deve identificar as partes que faltavam e
voltar prancheta de desenho para ajustar o modelo e mapeamento. Basta fazer
certeza de que o modelo inicial capaz de lidar com as prioridades do negcio
as partes interessadas. Se o seu projeto fsico e lgico acaba por ser completa,
voc est pronto para avanar com o desenvolvimento dos processos de ETL.
220 Parte II Dimensional Modelagem e Design de Data Warehouse
Resumo
Este captulo introduziu-lhe duas peas importantes do software em seu
ferramentas: eobjects DataCleaner e SQLPower Dados * Arquiteto. DataCleaner
permite analisar os dados de origem e informar sobre as questes de qualidade que
possam surgir, e Dados * Arquiteto ajuda na construo do modelo fsico de dados
para os data marts, e finalmente, o data warehouse. Como tal, este captulo
atua como uma ponte entre os captulos mais tericos anteriores e mais
captulos prticos que se seguem. Ns abordamos os seguintes itens para come-lo em
seu caminho com o seu primeiro data mart:
Os diferentes grupos de usurios que voc precisa para entender e trabalhar
com
A anlise dos dados e os desafios envolvidos com acesso a diferentes fontes
de dados
O objetivo da caracterizao de dados, com uma introduo ao uso de dados
profiling ferramenta para avaliar a estrutura de dados, contedo e qualidade
Uma introduo modelagem de dados com dados * Arquiteto
O projeto da ordem de data mart fatos que vamos utilizar no restante
do livro para a prestao de ETL, anlise e exemplos
Um modelo mais refinado da dimenso de data com o benefcio adicional
de operaes aritmticas em datas avanadas e simplificao do processo de
comunicao
As informaes de mapeamento final necessrio para criar as transformaes ETL
Parte
III
Integrao de dados e ETL
Nesta parte
Captulo 9: Primer Pentaho Data Integration
Captulo 10: Projeto Pentaho Data Integration Solutions
Captulo 11: Implantando Solues Pentaho Data Integration
CAPTULO
9
Pentaho Data
Integrao Primer
Quando o projeto do data warehouse estabilizado, um processo deve ser projetado
para preencher o data warehouse com dados. Ns usamos o termo geral integrao de dados
para descrever o conjunto de atividades que resultem ou contribuir para o preenchimento de
o data warehouse. Pentaho oferece uma coleo de ferramentas conhecidas coletivamente
como
Pentaho Data Integration que so projetados para suportar essa tarefa.
Este captulo fornece algumas informaes bsicas sobre a integrao de dados
processo de imigrao em geral. Ns fornecemos uma viso geral dos dados Pentaho
ferramentas de integrao, e explicar em detalhe como essas ferramentas podem ser usadas
para projetar
e criar uma soluo de integrao de dados para carregar o data warehouse.
Viso geral de integrao de dados
De um modo geral, a palavra''integrao''denota um processo que constitui um todo
de vrias partes. O termo''''integrao de dados geralmente entendida como a
processo que combina dados de diferentes fontes para fornecer uma nica compre-
preensvel vista sobre todos os dados combinados. Um exemplo tpico de integrao de dados
seria uma combinao dos dados de um sistema de inventrio do armazm com a de
o sistema de entrada de modo a permitir o cumprimento fim de estar diretamente relacionado
s mudanas
no inventrio. Outro exemplo de integrao de dados est se fundindo ao cliente e
dados de contacto do gerenciamento de relacionamento com clientes do departamento
separado
sistemas corporativos em um sistema de gesto de relacionamento com clientes.
Na introduo a este captulo, afirmou que compreende a integrao de dados
as atividades que resultam no preenchimento de um data warehouse. Esta uma considervel
simplificada noo de integrao de dados no que diz respeito sua definio geral, mas
223
224 Parte III Integrao de dados e ETL
pode ser justificada, ao considerar que um devidamente concebidos data warehouse
automaticamente fornece uma viso unificada dos dados de diferentes sistemas.
Nesta seo, vamos explicar algumas das caractersticas fundamentais dos dados
processo de integrao e de seus componentes para fornecer o contexto necessrio para
os leitores que so completamente novos para o tpico. Uma discusso detalhada sobre
integrao de dados est alm do escopo deste livro. Felizmente, muitos bons
livros esto disponveis, que abrangem este tema, como O ETL do Data Warehouse
Toolkit por Ralph Kimball e Caserta Joe (Wiley, 2004).
Atividades de Integrao de Dados
Uma forma de compreender a integrao de dados decompor o processo de
encher o depsito de dados em uma srie de atividades distintas. Nesta subseo
Ns descrevemos um nmero de tipos essenciais de atividades de integrao de dados.
Em um nvel muito alto, o problema do preenchimento de um armazm de dados consiste
em
apenas trs grandes tipos de actividades:
Extrao de aquisio dados de um ou mais sistemas de origem. Para
exemplo, a obteno e carregar todos os registros de clientes que foram adicionados
ou alterados desde o ltimo carregamento de dados.
Transformao Mudar a forma e / ou contedo dos dados para adequ-lo
na estrutura do data warehouse de destino. Por exemplo, olhando para cima
estado e do pas nomes para valores de chave.
Carregando -Na verdade, o armazenamento de dados no data warehouse de
destino.
Essas trs atividades-Extrao, Transformao e Carga so freqentemente
referidas pela sigla ETL.
Em alguns casos, o ETL termo entendido literalmente, e levado para
significa que as atividades individuais de extrao, transformao e carregamento
so realmente executados nessa seqncia. A partir desta escola de pensamento, o
termos relacionados ELT (Extrao, carga, transformar) e ETLT (Extrao, transformao,
carga,
transformao) foram introduzidos para fazer justia ao fato de que os dados transformando-
atividades podem ser aplicadas por qualquer um RDBMS (ELT), ou por um tcnico
especializado
ferramenta fora do RDBMS (ETL), ou ambos (ETLT).
Embora possa haver alguns contextos onde ela vantajoso usar
esses diferentes termos, a distino no explorado mais adiante neste livro.
Em vez disso, preferem usar apenas o termo de ETL, sem limitar de antemo o que
componentes de software so ocupadas com a transformao dos dados. Como voc deve
ver, Pentaho Data Integration perfeitamente capaz de transferir certas tarefas
o RDBMS, e no faz nada para impedir que o RDBMS de participar de dados
transformao. Portanto, ns tratamos de ETL como um termo guarda-chuva que pode
implicar
em vez de excluir ELT e ETLT.
Captulo 9 Primer Pentaho Data Integration 225
ETL apenas uma classificao muito ampla de atividades de integrao de dados. Dentro
cada um dos principais processos de Extrao, Transformao e Carga, podemos
identificar uma srie de atividades de apoio. Alguns destes esto listados abaixo:
Para a extrao podemos discernir:
Change Data Capture-In extrao muitos casos, limitada parte
de fonte de dados que mudou desde a ltima extraco. O processo de
identificar os dados alterados chamado Change Data Capture.
preparao de dados -Nem sempre possvel ou eficiente imediatamente
transformar os dados extrados. Muitas vezes, o extrato armazenada temporariamente
at que
entra no processo de transformao. Isso chamado dados de teste.
A transformao um processo amplo e variado. No possvel fornecer
uma lista exaustiva das actividades descritas, mas algumas atividades tpicas so:
Os dados de validao de dados validao o processo de verificar a fonte
dados esto corretos, e possvel filtrar dados invlidos.
limpeza de dados -Data limpeza o processo de correo de dados invlidos.
Decodificao e renomear -Em muitos casos, os dados brutos do sistema de origem
no adequado para fins de notificao, pois contm os nomes obscuros
e cdigos. Uma grande parte do processo de transformao est ocupada com
convertendo isso para um nome mais descritivo e user-friendly e etiquetas.
Agregao-geral, aplicaes de BI apresentar dados agregados para o
utilizadores finais. s vezes, os agregados so calculadas de forma antecipada como
parte da
processo de transformao.
A gerao ea gesto - Novas linhas de dimenso so excepcionalmente
identificados por chaves substitutas, que devem ser gerados. Para armazenar
dados de fatos novos, estas chaves devem ser procurados.
No processo de carregamento, podemos discernir duas atividades
principais:
Carregando as tabelas de fatos-geral, tabelas de fato crescer pela adio de novas linhas.
s vezes, as linhas existentes so atualizados para refletir um novo status.
Carregamento e manuteno de tabelas de dimenso-Nova linhas de fatos podem dar
origem a linhas de dimenso.
Vamos olhar para essas atividades em mais detalhes nas subsees a seguir.
NOTA Esta no uma lista exaustiva, embora estas atividades so bastante tpicos.
Voc pode encontrar muito uma viso completa das atividades de ETL no artigo Ralph Kimball
''Os 38 subsistemas de''ETL na http://www.intelligententerprise.com/
showArticle.jhtml? articleId = 54200319.
226 Parte III Integrao de dados e ETL
Extrao
A primeira etapa em todo o processo de integrao de dados a aquisio de dados.
Este processo geralmente chamado extrao.
Muitas vezes, a fonte de dados um sistema de banco de dados relacional que faz parte de
trs
fim de algum aplicativo operacional. Nestes casos, pode ser possvel
acesso fonte de dados diretamente atravs de uma conexo de dados. Neste caso,
extrao pode ser uma tarefa relativamente fcil. No entanto, nem sempre pode ser vivel
para ter acesso direto ao sistema de banco de dados back-end.
Pode haver polticas em vigor que probem o acesso de banco de dados alm dos
aplicao operacional. Os sistemas operacionais so cada vez mais esperadas ou
obrigado a estar sempre disponvel, e o impacto de um processo de aquisio de dados
pode simplesmente ser incompatvel com estes requisitos. Nestes casos, os dados
pode ter de ser extrados dos dados do sistema de backup ou arquivos de log do banco de
dados.
Outro fator que pode complicar a extrao o fato de que, muitas vezes, no
todos os dados de origem podem ser adquiridos no mesmo local. Pode haver mltiplas
sistemas operacionais em uso a partir do qual os dados devem ser adquiridos. De fato, o
obrigao de comunicar atravs de mltiplos sistemas de informao muitas vezes a
conduo
fora por trs de BI e data warehousing projetos.
Change Data Capture
Change Data Capture (CDC) o processo de rastreamento de alteraes de dados na fonte
sistemas, a fim de atualizar o armazm de dados em conformidade. Por um lado,
CDC um processo que conduz a extrao, pois os dados precisam ser adquiridos somente
at o ponto em que faz a diferena em relao ao estado actual da
o data warehouse. Por outro lado, o CDC tem tambm funcional e lgica
facetas, pois determina em que medida o armazm de dados capaz de
registrando a histria do negcio.
H uma srie de mtodos para implementar praticamente CDC:
Gravao de dados''natural''caso dos sistemas operacionais. Em muitos casos,
os principais eventos so registrados como parte do processo de negcios operacionais.
Para
exemplo, o registro do cliente, colocao de pedidos e expedio de ordem so
normalmente registadas a nvel da data no sistema operacional.
Usando dados sequenciais chave nos sistemas de origem.
Journaling com banco de dados gatilhos. Em sistemas de banco de dados de muitos,
possvel
adicionar gatilhos para o banco de dados de esquemas de aplicaes operacionais.
Lendo banco de dados de log.
Data Staging
Extrao de dados pode ter um impacto considervel sobre o desempenho e dis-
capacidade do sistema operacional de fonte. Muitas vezes, existe uma obrigao estrita de
Captulo 9 Primer Pentaho Data Integration 227
manter a quantidade de tempo gasto na extrao de um mnimo em uma tentativa de
diminuir o impacto sobre as operaes normais, como entrada de dados. Normalmente, esses
limitaes de tempo no deixa tempo suficiente para completar o processo todos os dados
antes
armazenando-o no armazm de dados.
Para alm da durao efectiva do processo de extrao, a questo da
tempo tambm pode entrar em jogo. Em no poucos casos, dados de vrios distintos
sistemas operacionais podem precisar de ser combinado antes de ser alimentada em dados
armazm. Muitas vezes no se pode confiar em todos os sistemas de origem para ser
simultaneamente
disponveis para a extrao.
Para lidar com estes problemas, os dados so normalmente armazenados temporariamente
em uma chamada
rea de teste imediatamente aps a extrao. Esta abordagem permite a extrao
atividades a serem realizadas no quadro menor tempo possvel, porque o tempo no
gasto espera de tratamento posterior. Ele tambm permite a sincronizao de
processos que combinam dados de fontes distintas chegam em momentos diferentes.
Na maioria dos casos, a rea de preparao de dados simplesmente um banco de dados
relacional que
especificamente concebido para servir como um amortecedor entre os sistemas de origem e
os
data warehouse. Isso nos leva a uma outra vantagem de preparao de dados. Porque
os dados so armazenados em um sistema de banco de dados distintos, ndices que podem
ajudar a melhorar
o desempenho do tratamento dos dados podem ser livremente adicionadas sem
alterando o sistema de origem.
Validao de dados
Uma vez que os dados so adquiridos (e possivelmente armazenado em uma rea de teste),
h geralmente
algum processo no local para avaliar a validade dos dados. Dados invlidos devem ser
tratados de forma diferente do que os dados vlidos, pois pode manchar a confiabilidade dos
dados
armazm. Detectando dados invlidos uma condio indispensvel para o tratamento de
forma diferente.
No contexto da ETL e validao de dados, os dados so considerados invlidos, quando
ela contm erros lgicos. Isso ocorre quando so encontrados registros de origem
que jamais poderia ter sido inscrito, se todas as restries implementadas pelo
aplicao de origem (e seu sistema de banco de dados subjacente) havia sido executada.
Por exemplo, os dados para os campos obrigatrios podem estar faltando, ou valores em um
campo
pode contradizer os valores em outro campo, como quando cai uma data de entrega
antes da data da ordem correspondente.
Pode parecer desnecessrio para verificar se h erros lgicos quando os dados so
adquiridos
de aplicaes e sistemas de banco de dados que so conhecidos para fazer cumprir
rigorosamente
restries. No entanto, a realidade que no h nenhuma maneira de avaliar os dados
validade que no sejam realmente verificar. Se a fonte de dados invlidos acidentalmente
termina no armazm de dados, pode ser descoberto pelo usurio final. Isso pode
levar desconfiana geral do armazm de dados e apoio integrao de dados
os processos.
Fazendo validao de dados uma parte dos dados de resultados do processo de integrao
benefcio imediato. Se no houver dados invlidos for pego, ele oferece a paz de esprito
228 Parte III Integrao de dados e ETL
que o sistema de origem pode ser confivel. Por outro lado, se os dados invlidos so
capturados pode solicitar apoio extra para o projeto de integrao de dados, pois
oferece uma oportunidade nica para melhorar o sistema de origem.
De limpeza de dados
Em muitos casos, possveis problemas com os dados de origem so conhecidos
antecipadamente e
processos podem ser criados para ajudar a corrigir os dados que seriam invlidos.
Isso conhecido como limpeza de dados.
A soluo mais simples para lidar com dados invlidos para descart-lo. Embora esta
impede que os dados invlidos de manchar a confiabilidade dos dados conhecidos correta
isso geralmente no uma opo aceitvel. A melhor soluo manter conhecidos
dados invlidos de lado, e, se possvel, corrigi-lo.
Manter os dados invlidos, desde que ele est marcado e classificados em conformidade,
tem muitas vantagens. No futuro, de alguma forma pode ser encontrada para corrigir ou
caso contrrio conciliar os dados invlidos para que ele possa ser carregado depois de tudo.
Pode ser
vale a pena usar os dados invlidos como meio de prova, na tentativa de convencer qualquer
responsveis para reparar ou melhorar o sistema de origem. Por exemplo, ns
pode obter nmeros de telefone a partir de um sistema de CRM em todos os tipos de formatos
diferentes:
alguns podem conter um cdigo de pas, enquanto outros podem omitir isso. Alguns podem
contm um cdigo de rea, e outros podem omitir isso. Os cdigos de pas pode ser denotado
usando um + outros podem utilizar um 0. s vezes contm nmeros de telefone
parnteses, traos ou caracteres de espao para facilitar a leitura. Em muitos desses casos
podemos analisar os nmeros de telefone e padronizar a notao. Em alguns casos,
podemos fazer um palpite com base no endereo do cliente para o preenchimento de um
omitido cdigo do pas ou cdigo de rea.
Outra possibilidade carregar os dados invlidos, depois de devidamente marcao dele.
Como os dados invlidos esteja marcada como tal, podem ser includas ou excludas da
analisa a critrio do usurio. Ele tambm permite que os usurios finais para inspecionar a
natureza
dos dados invlidos, e que lhes permite fazer um julgamento informado com
em conta a qualidade dos dados. Essa abordagem tambm pode atuar como uma alavanca
para corrigir os dados
problema de qualidade na origem, porque todos os interessados podem agora ver o impacto
dos dados invlidos em seus relatrios por si.
Decodificao e Renomeando
Renomeando e decodificao esto entre as atividades de transformao mais bsica.
Embora humilde por natureza, estes so talvez os tipos mais ubquo de
transformaes.
Decodificando ocorre quando os valores de um campo no sistema de origem so mapeados
a outros valores no sistema de destino. Por exemplo, um campo de origem contendo a
valores 1e 0pode ser descodificada em valores mais compreensvel Sim e
No no sistema de destino.
Captulo 9 Primer Pentaho Data Integration 229
Renomeando ocorre quando o nome de um determinado campo na fonte dado
um novo nome no sistema alvo. Por exemplo, um campo que chamado zip na
sistema de origem pode acabar como postal_code no sistema de destino.
importante perceber que, normalmente, nem decodificar nem renomear adicionar
qualquer informao no sentido formal. No entanto, essas atividades podem ajudar a
tornar os dados mais acessveis para o usurio final. Isto particularmente verdadeiro quando
o
sistema de origem usa abreviaturas de nomes de campo ou valores de campo.
Key Management
Captulo 6 explicou que as tabelas do data warehouse no uso natural
chaves primrias. Todas as tabelas de dimenso tm substituto chaves primrias, e de facto
tabelas so associadas s tabelas dimenso usando somente referncias a estes substitutos
chaves. Os valores para essas chaves no devem ser provenientes de sistemas de origem
que alimentam o armazm de dados (com a possvel exceo da dimenso data
tabela). Em vez disso, eles devem ser gerados como parte do processo de integrao de
dados.
Agregao
H vrios casos em que o processo de integrao de dados envolve a agregar o
o de dados.
As tabelas de dimenso podem conter atributos que so obtidos por agregao.
Por exemplo, uma tabela de dimenso do cliente podem conter atributos, tais como
montante total despendido. Carregando tabelas agregadas com pr-calculados, agregados
mtricas podem ser necessrias para melhorar o desempenho de determinados relatrios e
ROLAP
cubos.
O Pentaho Analysis Server (Mondrian) um servidor ROLAP que pode levar
vantagem de tabelas agregadas. Pentaho fornece tambm a agregao Pentaho
Designer, que especialmente adaptado para a criao e manuteno de agregados
tabelas para essa finalidade. Por esta razo, discutimos agregao no captulo 15
ao invs de neste captulo.
Dimenso e Manuteno de Tabelas Ponte
A maioria das tabelas de dimenso no so estticos. Seu contedo necessidade de se
adaptar de acordo
para adies e mudanas que ocorrem nos sistemas de origem.
H exemplos simples, tais como novos produtos que precisam ser adicionados
tabela de dimenso do produto. Exemplos mais complexos incluem manipulao
vrios tipos de alterao lenta dimenso. Mesmo exemplos mais complexos
ocorrer quando a tabela de dimenso necessita de apoio para a navegao ao longo de uma
recursiva
relao pai-filho.
Guardar as alteraes nas tabelas de dimenso uma das responsabilidades nobre
vnculos do processo de integrao de dados.
230 Parte III Integrao de dados e ETL
Carregando Tabelas de fatos
Carregando as tabelas de fato a atividade mais importante da integrao de dados
o do processo. O processo de integrao de dados precisa superar uma srie de
desafios ao carregar as tabelas de fatos.
Em muitos casos, a enorme quantidade de dados de fato em si um desafio. Dimenso
chaves devem ser consultadas para cada linha que ser armazenado na tabela de fatos,
eo desempenho muitas vezes um problema, especialmente quando muitas tabelas de
dimenso
esto envolvidos, que tendem a ser grandes se (como de produtos e clientes
tabelas). Mtricas devem ser armazenados corretamente, e s vezes, mtricas adicionais
precisam ser calculadas, tambm. Para complicar ainda mais as coisas, alguns tipos de fato
tabelas exigem linhas existentes para ser atualizado para refletir as mudanas no estatuto
sistemas de origem.
Pentaho Data Integration Conceitos e Componentes
Solues Pentaho Data Integration so construdas a partir de dois tipos diferentes de
objetos:
Transformaes
Empregos
O corao do produto Pentaho Data Integration formado pela Pentaho
dados do motor de integrao. Este motor um componente de software que capaz de
interpretar e executar trabalhos e transformaes, assim, realizar o
dados reais de tarefas de integrao em conformidade. Alm do motor, Pentaho
Integrao de dados oferece uma srie de ferramentas e utilitrios para criar, gerenciar e
transformaes lanamento e empregos.
Todas as ferramentas Pentaho Data Integration e componentes esto disponveis para down-
carga como um nico Zip. arquivo. Este arquivo pode ser encontrado na rea de downloads da
a pgina do projeto Pentaho em sourceforge.net / projects / pentaho. Pentaho
integrao de dados no requer um procedimento de instalao separada que no
descompactar o download.
Para uma viso geral de alto nvel dos componentes de integrao Pentaho de dados,
consulte
Figura 9-1.
Os componentes so descritos nas seces seguintes.
Ferramentas e Utilitrios
Pentaho Data Integration compreende o seguinte conjunto de ferramentas e utilitrios:
Spoon-A IDE integrao grfica de dados para criar transformaes
e empregos
Cozinha-A ferramenta de linha de comando para a execuo
de trabalhos
Pan-A ferramenta de linha de comando para a execuo de
transformaes
Captulo 9 Primer Pentaho Data Integration 231
Carte-A servidor para executar trabalhos leves e transformaes em um
host remoto
NOTA Como voc pode ver, um tema culinrio foi usado para nomear as ferramentas. Este
esquema de nomeao de volta aos dias em que o software que agora conhecido como
Pentaho Data Integration foi criado. O produto original foi chamado Chaleira
(Ou realmente chaleira, que um acrnimo recursivo para Chaleira Extrao,
Transformao, Transporte, Meio Ambiente e de carga). A chaleira termos,
Chaleira e Pentaho Data Integration podem ser usados alternadamente.
Sistema de Informao
Fonte Alvo
Efeito fsico
Extrato Transformar Carga
Pentaho Data Integration
Data Integration Engine
Trabalho
Mecanismo
Chamada
Transformao
Mecanismo
Executar
Trabalho Transformao
Interno
Representao
INCIO Transformao Trabalho Extrato Transformar Carga
Ferramentas e Utilitrios
Lanamento:
Cozinha, Carte
Desenvolver: Colher
Lanamento:
Pan
Carregar, Salvar
Repositrio
(RDBMS)
Armazenado
Representao
. KJB
Arquivos
. KTR
Figura 9-1: dados Pentaho ferramentas de integrao e de componentes
232 Parte III Integrao de dados e ETL
O Mecanismo de Integrao de Dados
O mecanismo de integrao de dados responsvel por interpretar e executar os dados
trabalhos de integrao e transformaes. Empregos e as transformaes so realmente
manipuladas por diferentes partes do motor. No entanto, porque os empregos podem conter
transformaes e execuo de um trabalho pode resultar na execuo de uma ou mais
transformaes, geralmente mais conveniente considerar o mecanismo de trabalho e
o mecanismo de transformao como um todo (o motor de integrao de dados).
O mecanismo de integrao de dados fisicamente implementado como uma biblioteca
Java.
As ferramentas de front-end usar uma API pblica para que o motor de executar trabalhos e
transformaes em seu nome, em resposta a interao do usurio.
Usando o motor desta forma no se limita s ferramentas de front-end: O
motor pode ser usado por qualquer aplicao. O mecanismo de integrao de dados tambm

includo no servidor de BI Pentaho, permitindo que os trabalhos e as transformaes a serem
executada como parte de uma seqncia de ao.
Repositrio
Empregos e as transformaes podem ser armazenados em um banco de dados do
repositrio. O front-end
ferramentas podem se conectar ao banco de dados e transformaes de carga e definio de
postos de trabalho
es armazenadas no repositrio. Usando o repositrio tambm oferece uma maneira fcil
para mltiplos desenvolvedores a colaborar quando se trabalha em uma integrao de dados
soluo.
Note-se que o repositrio no um requisito. Quando no
trabalho com o repositrio, as transformaes e os trabalhos so armazenados como arquivos
em um
formato XML. Neste caso, um sistema de controle externo a verso, como subverso
ou CVS pode ser utilizado para facilitar a colaborao.
Empregos e Transformaes
Agora que explicamos as ferramentas e componentes, hora de tomar uma anlise mais
olhar para os trabalhos e transformaes.
J mencionamos que o mecanismo de integrao de dados e interpreta
executa trabalhos e transformaes. Isto sugere uma semelhana entre os trabalhos e
transformaes, por um lado e um programa de computador os arquivos de cdigo-fonte em
o outro. No entanto, h boas razes para rejeitar essa noo.
Normalmente, o cdigo de um programa de computador de origem composta de um
conjunto de mais
instrues literal, e cabe ao programador para garantir que esses instru-
es juntos alcanar o efeito desejado. Para a maior parte, as transformaes
e emprego no consistem de um conjunto literal de instrues. Pelo contrrio, o emprego ea
trans-
formaes so declarativas de natureza: eles especificam um determinado resultado que
ser alcanado, e deix-lo at o motor de descobrir uma maneira de conseguir
esse resultado. Outra maneira de coloc-la dizer que o mecanismo de integrao de dados

Captulo 9 Primer Pentaho Data Integration 233
orientada por metadados: transformaes e trabalhos contm informaes sobre os dados,
o sistema de origem, eo sistema alvo, e ao executar um trabalho ou transfor-
informao, esta informao utilizada para realizar as operaes necessrias para alcanar
o resultado. Isso feito sem gerar o cdigo do programa intermedirio.
A diferena entre o computador de cdigo-fonte do programa e do emprego e trans-
formaes tambm evidente na forma como estes so desenvolvidos. O cdigo fonte
normalmente baseados em texto, e desenvolvido por declaraes de digitao de acordo com
a
gramtica da linguagem de programao (codificao). Em contraste, o emprego ea trans-
formaes so desenvolvidas de uma forma bastante grfica. Eles so criados por
arrastar e soltar elementos em uma tela e conect-las
para formar um grfico ou diagrama. Este processo semelhante ao desenho de um
fluxograma.
Transformaes e empregos podem conter elementos que possam envolver o script, mas
esta uma excepo e no a regra.
Transformaes e empregos so ambos constitudos por um conjunto de itens que so
interligados por lpulo (Veja a seo seguinte). A este respeito, h uma
similaridade entre as transformaes eo emprego. Esta semelhana torna-se especialmente
resulta na representao visual, como ambas as transformaes e os trabalhos so
descrito como grficos.
No entanto, um olhar mais atento as transformaes e os trabalhos revela que a seme-
dades so realmente poucos em nmero e bastante superficial na natureza. H
diferenas importantes nos conceitos subjacentes empregos e transformaes,
ea semntica dos seus elementos constitutivos e lpulo so muito diferentes
um do outro. Esperamos que isso ficou claro pela leitura do seguinte
sees.
Transformaes
Uma transformao Pentaho representa uma tarefa ETL em sentido estrito. Trans-
formaes so orientadas a dados, e sua finalidade extrair, transformar e
carregar dados.
A transformao consiste de uma coleo de etapas. Um passo denota uma particular
operao em um ou mais registro de crregos. As etapas podem ser conectados por lpulo.
A hop como um gasoduto atravs do qual os registros podem fluir de uma etapa para
outro passo.
Um fluxo de registro uma srie de registros. Um registro uma coleo de valores que
est estruturado de tal forma que cada valor est associado com exatamente um de campo.
A coleo de campos associados com todos os valores em um registro chamado de registro
tipo. Todos os registros em um fluxo de registro deve ser do mesmo tipo de registo.
Cada campo tem um nome que deve ser exclusivo dentro do tipo de registro. Campos
definir propriedades, como tipo de dados eo formato que, coletivamente, descrever o
natureza de qualquer valor associado com o campo. Essas propriedades formam o seu valor
metadados (Dados sobre dados''''). De maneira semelhante, o tipo de registro constitui a
metadados do registro. Veja a Figura 9-2, para uma representao grfica destes
conceitos.
234 Parte III Integrao de dados e ETL
Etapa
(Meta)
Gravar Stream
MetadataData
Registro 1
Tipo de registro
Campo 1
Campo ...
Campo N
propriedades
propriedades
propriedades
Record ... 1Value
Record N 1Value
Valor ...
Valor 1 Valor ...
Relao N
Valor ... Nvalue
Relao N
Hop
Etapa
(Fonte)
Figura 9-2: Passos, lpulo e recorde crregos
etapas de transformao produzir registros de forma contnua. Registros
viajar atravs de sada da etapa do lpulo imediatamente aps serem produzidos
at chegar ao passo do outro lado do lpulo. L, a chegada
registros esto na fila e esperar para ser consumido pela etapa de recebimento. Para cada
registro de entrada, a etapa de recebimento realiza algumas operaes pr-definidas.
Normalmente, isso gera registros de sada, que so ento empurrados para a etapa de
registro de sada de fluxo.
Uma coisa importante a perceber sobre todo o processo que as etapas do trabalho
simultaneamente e de forma assncrona. Ao executar uma transformao, as etapas
que sabem para gerar linhas baseado em alguma fonte de dados externos
basta comear a gerar filas at a fonte de dados est esgotada. Records
imediatamente o fluxo para os prximos passos a jusante, onde so processados o mais
rpido
possvel que eles chegam: as etapas a jusante, no espere para o montante
etapas para terminar. Desta forma, os registros de gotejamento, atravs da transformao.
A operao realizada por uma etapa de transformao depende do tipo de
o passo ea forma como ele est configurado. H um pouco de variedade na etapa
tipos. Alguns tipos de etapas de gerar um registro de sada nica para cada entrada
registro. Outros tipos de etapas de agregao de um grupo de linhas de entrada em um nico
Captulo 9 Primer Pentaho Data Integration 235
sada de linha. No entanto, outros tipos de medidas podem dividir uma nica linha de entrada
em uma coleo
de registros de sada. Para alguns tipos de etapas, os fluxos de sada tm o mesmo
tipo de registro como os fluxos de entrada, mas outros tipos de etapa pode adicionar, remover
ou
renomear campos a partir dos registros de entrada.
Algumas das etapas de transformao disponveis so discutidos em detalhe no
Captulo 10.
Empregos
Normalmente, os trabalhos so compostos de uma ou mais transformaes. Por exemplo,
para
carregar um esquema em estrela, normalmente voc construir uma transformao para fazer
o
extraco em si, e construir uma transformao para cada tabela de dimenso, e
uma transformao para carregar a tabela de fatos. A Emprego seria usado para colocar todos
esses
transformaes na seqncia correta (primeiro extrato, em seguida, carregar todas as
dimenses
tabelas, e ento carregar a tabela de fatos). Como transformaes, trabalhos consistem em
uma
nmero de itens interligados, mas a semelhana termina a.
Os trabalhos so processuais e orientado para a tarefa, em vez de orientadas a dados. Os
itens
aparecendo em empregos so chamados entradas de emprego, e denotam a execuo de um
determinado
tarefa. A ligao entre as etapas de um trabalho denota a ordem seqencial
dessas tarefas.
Execuo de uma entrada de emprego sempre resulta em um estado de sada. Isto usado
para
saber se a tarefa de base foi executada com xito. Dependendo
sobre o valor do status de sada, a execuo do trabalho continua com a adequada
entrada de trabalho subseqente.
Ao comparar a natureza das entradas trabalho para as etapas de transformao, a chave
diferena que as etapas de transformao operar em fluxos de dados. entradas de Job
operar no estado de sada resultante da execuo da tarefa.
entradas de emprego so tipicamente usados para executar transformaes, mas tambm
podem
ser usado para executar outras tarefas de apoio, tais como o esvaziamento tabelas de dados,
iniciar a transferncia de arquivos de um host remoto, ou enviar uma mensagem de correio
electrnico.
Pentaho empregos so discutidos em mais detalhes nos Captulos 10 e 11.
Plug-Arquitetura na
Pentaho Data Integration apresenta uma arquitetura plug-in. Passos, bem como trabalho
entradas podem ser implementadas separadamente do principal produto de software
componentes chamados plug-ins. Plug-ins podem ser carregados dinamicamente, sem
recompilar o ncleo.
Atualmente, existem muito poucos de terceiros plug-ins para o Pentaho Data
Integrao. Alguns deles so de cdigo fechado e est disponvel sob os termos de um
licena comercial. Muitos outros so licenciados sob alguma forma de cdigo aberto
licena.
236 Parte III Integrao de dados e ETL
Comeando com uma colher
Spoon o nome do Pentaho Data Integration grfica de desenvolvimento
ambiente. Ele pode ser usado para criar transformaes e empregos.
Nesta seo, voc aprender como usar Spoon. Aps iniciar o aplicativo,
e falar brevemente sobre alguns dos principais elementos da interface do usurio, voc vai
rapidamente comear a construir uma''Ol, Mundo! transformao''para se familiarizar
com a interface do usurio. Ns, ento, apresentar a voc alguns economizam tempo
funcionalidades que podem ajudar voc a solucionar problemas de forma eficiente. Em
seguida, voc vai
aprender a trabalhar com conexes de banco de dados e aumentar a''Ol, mundo!''
exemplo, para colocar esse conhecimento em prtica.
Iniciando o aplicativo Spoon
Spoon pode ser iniciado executando o script de inicializao colher no inte-Pentaho
grao diretrio home. Para os sistemas Windows, o script chamado Spoon.bat.
Em sistemas Windows, voc tambm pode iniciar Kettle.exe. Para sistemas baseados em
UNIX,
Este script chamado spoon.sh.
NOTA Usurios de sistemas baseados em UNIX precisa habilitar permisses de execuo para
o script antes de execut-lo:
$ Chmod ug + x spoon.sh
Todos Pentaho ferramentas de integrao de dados so iniciadas atravs de um script, assim que voc
poderia muito bem
permitir que as permisses de execuo para todos eles:
$ Chmod ug + x *. sh
Depois comea a colher, voc ver uma tela inicial. Algum tempo depois, um dilogo
aparece, solicitao de credenciais repositrio. Vamos explorar as possibilidades
do repositrio no Captulo 11. Por enquanto, voc vai trabalhar sem um banco de dados
repositrio. Para continuar, clique no boto com a legenda no repositrio.
Opcionalmente, voc pode limpar o Presente esta caixa de dilogo na inicializao para evitar
a caixa de dilogo de aparecer na prxima vez que voc abre Spoon.
A janela principal do aplicativo deve aparecer. Voc pode ver uma colher
dicas janela mostrando uma dica do dia, e, opcionalmente, voc pode limpar o Show
dicas na inicializao? caixa para impedir que ele aparecer na prxima vez que voc
Spoon aberto. Prima Fechar para fechar a janela de dicas Spoon.
A janela do aplicativo Spoon, mostrado na Figura 9-3, dividido em uma das principais
espao de trabalho direita e um painel lateral esquerda. A principal rea de trabalho pro-
nece uma guia de interface / pgina para trabalhar com todas as transformaes e abriu
postos de trabalho.
Inicialmente, uma pgina de boas-vindas especiais podem aparecer automaticamente no
espao de trabalho
logo aps o aplicativo iniciado. Tambm possvel que a pgina de boas-vindas aparece
Captulo 9 Primer Pentaho Data Integration 237
em seu navegador de Internet. A pgina inicial contm links teis
o funcionrio Pentaho documentao de integrao de dados, bem como para a comunidade
recursos e blogs de desenvolvedores.
Figura 9-3: A janela principal Spoon
Se voc gosta, voc pode impedir que a pgina de boas-vindas aparecer, limpando
Mostrar a pgina de boas-vindas na caixa de arranque na caixa de dilogo Opes. As
Opes
dilogo pode ser aberto usando o menu principal (Menu Editar Opes).
Um mundo simples''Ol,!''Exemplo
Spoon oferece uma nica interface de usurio para criar e projetar os postos de trabalho e
transformaes. Apesar de postos de trabalho e as transformaes so tipos completamente
diferentes
das coisas, h muitas semelhanas na maneira como eles so representados visualmente,
e isso se reflete em uma interface quase idntica para projet-los.
A melhor maneira de se familiarizar com a interface do usurio comear a construir uma
Mundo muito simples''Ol!''Exemplo, o estilo de ETL. Isso descrito em detalhes no
o restante desta seo.
Construindo a Transformao
As instrues seguintes descrevem em detalhes como construir uma transformao
que extrai os nomes das pessoas a partir de um arquivo de texto para gerar um''Ol, mundo!''
mensagem. Finalmente, as mensagens so armazenadas em um arquivo de texto novo.
1. Usando um editor de texto simples como o Notepad (Windows) ou vi
(Sistemas baseados em UNIX), crie um arquivo texto com o texto na Listagem 9-1. Nome
238 Parte III Integrao de dados e ETL
o arquivo hello_world_input.txt e salv-lo em algum lugar voc encontra
conveniente.
Listagem 9-1: O contedo do hello_world_input.txt
Nome
George Clooney
Daniel Lay Lewis
Johnny Depp
Tommy Lee Jones
Viggo Mortensen
2. Iniciar Spoon (se ele no estiver em execuo) e criar uma nova transformao
escolhendo Arquivo nova transformao a partir do menu principal. Um novo
pgina aberta automaticamente no espao de trabalho, ea transformao
tambm adicionado exibio em rvore no painel lateral, como mostrado na Figura 9-
4.
Alm de utilizar o menu principal, voc pode criar uma transformao por
usando o atalho do teclado Ctrl + N, ou usando a barra de ferramentas: Barra de
ferramentas
Nova Transformao. O boto da barra de ferramentas mostrada na Figura 9-4.
Figura 9-4: Usando a barra de ferramentas para criar uma nova transformao
3. No painel do lado, mudar de modo de visualizao para o modo Design, clicando em
o boto Design. No modo Design, o painel lateral exibe uma exibio de rvore
contendo um nmero de pastas que representam categorias de tipo de etapa. Expanda
a pasta chamada de entrada que fica no topo da rvore.
4. Arraste o item de input do arquivo de texto marcado a partir da pasta de entrada e solte-o
Pgina da transformao para criar um novo passo, como mostrado na Figura 9-5.
Quase todos os passos requerem alguma forma de configurao para controlar a sua
comportamento. Passos so configurados atravs de sua janela de configurao, que
pode ser levantada, clicando duas vezes o passo, ou escolhendo Editar etapa
a partir do menu de contexto do passo.
Captulo 9 Primer Pentaho Data Integration 239
PASSOS: tipos, criar, mover, E RETIRAR
Observe que o cone voc arrastou a exibio de rvore era um tipo degrau, vez
do que um passo real. Abolindo o tipo de passo para a tela, voc criou
um passo real desse tipo.
Passos tambm podem ser criados usando o menu de contexto de transformao. Para
exemplo, o texto de entrada em degrau de arquivos tambm podem ser adicionados clicando no
Pgina de transformao e escolhendo Nova etapa de entrada de entrada de arquivo de texto.
Uma vez que uma etapa criado, ele pode ser colocado em qualquer lugar da transformao
pgina usando drag-and-drop. Basta colocar o ponteiro do mouse sobre a etapa e
em seguida, pressione e segure o boto esquerdo do mouse. Movendo o ponteiro do mouse agora
arraste a passo ao longo at que o boto do mouse liberado.
Para excluir uma nica etapa, boto direito do mouse para abrir o menu de contexto do passo;
em seguida, escolha Excluir etapa.
Figura 9-5: A pgina de transformao com o seu primeiro passo
240 Parte III Integrao de dados e ETL
Uma coisa que pode ser configurado para todas as etapas o nome. Cada passo
tem um nome que deve ser exclusivo dentro da transformao. O nome
tambm usado como uma legenda para a etapa na pgina de transformao. Na
janelas de configurao, o nome da etapa aparece sempre antes de qualquer outra
opes de configurao.
Por padro, o nome da etapa o nome do seu tipo de passo, possivelmente
seguido de um nmero para garantir o nome exclusivo. Por enquanto, voc
pode deixar o nome padro (arquivo de entrada de texto), mas geralmente o padro
nome seria alterado para refletir a propsito da etapa dentro do
transformao (em oposio a um rtulo que s descreve o funcionamento
executada). Especificando um nome descritivo para as etapas fundamental para a
concepo
transformaes sustentvel.
Outros elementos de configurao que se repetem com freqncia em diferentes etapas
de
tipos so pginas de guia para as opes relacionados a um grupo e grades para
configurar o
campos de dados da etapa crregos. No entanto, a maioria dos disponveis
opes de configurao depende do tipo de etapa.
5. Na pgina de transformao, clique duas vezes no arquivo de entrada de texto passo
para abrir
sua janela de configurao. Na pgina da guia do arquivo da caixa de dilogo, use o
boto Procurar
boto para selecionar o hello_world_input.txt arquivo. Em seguida, clique em Adicionar
boto para atribuir o arquivo para a grade de arquivos selecionados.
Em seguida, clique na pgina guia Contedo e defina a lista suspensa Formato na
metade inferior do formulrio para misto.
6. Finalmente, ative a ficha de Campos, e clique no boto Get Campos. Este
boto diz Colher para digitalizar os dados para descobrir os campos na entrada. Voc
primeiro ser solicitado o nmero de linhas de varredura. Voc pode deixar o
nmero padro (100) para agora. Aps a confirmao, uma janela mostrando o
resultados da verificao ser exibida. Isso tudo mostrado na Figura 9-6.
Note-se que um campo foi descoberto, e note o mnimo eo mximo
valores. Feche essa janela, e observe o campo a ser adicionado Campos
grade. Feche a janela de configurao clicando em OK.
NOTA Aps criar e configurar uma etapa, voc sempre pode voltar a abrir o
janela de configurao e reviso de suas propriedades. No entanto, para rpida inspeo,
Spoon oferece funcionalidades mais conveniente a partir do menu de contexto do passo.
Os campos de entrada Show e Show campos de opes de sada pode ser usado para inspecionar o
tipo de registro da entrada e sada de fluxos, respectivamente. Estas opes de trazer um
janela que exibe uma grade que contm uma linha para cada campo no crrego
mostrando o nome do campo, tipo de dados e nome da etapa, onde o campo foi
originalmente criado.
Captulo 9 Primer Pentaho Data Integration 241
A etapa de entrada de arquivo de texto no espera um fluxo de entrada, e isso est devidamente
indicado na janela pop-up. A janela para a opo Mostrar campos de sada
mostrado na Figura 9-7.
Figura 9-6: Definindo os campos com o boto Get Campos
Figura 9-7: Os campos de sada para a etapa de arquivo de entrada de texto
7. Adicionar Encontre o tipo de etapa constantes na categoria Transform, e
adicionar um para a transformao perto a etapa de introduo de texto de arquivo. Abra
a sua
janela de configurao e digite o seguinte duas linhas na grade de Campos
(Ver Figura 9-8):
Nome: mensagem; Tipo: String; Valor: Ol
Nome: exclamao; Tipo: String; Valor:!
242 Parte III Integrao de dados e ETL
NOTA Spoon suporta selees criao de uma ou mais etapas. Isso ajuda muito
facilita o trabalho com vrias etapas, porque isso lhe permite mover ou remover
todas as medidas includas na seleo de uma vez. passos escolhidos so reconhecveis pelos seus
borda preta grossa.
Voc pode selecionar uma etapa individual, basta clicar nele. Normalmente, isso desfaz a
seleo anterior. No entanto, se voc pressionar e segurar a tecla Ctrl e clicando em um
etapa desmarcada ir adicion-lo seleo, e clicar em um j selecionado
etapa ir remov-lo da seleo.
Voc tambm pode selecionar todos os passos de uma rea retangular ao apontar o mouse para um
lugar vazio na pgina de transformao, pressionar e segurar o boto do mouse
e arrastando o ponteiro do mouse para outro local vazio abaixo e direita
do ponto de partida. Uma faixa de borracha''''aparece e quando o boto do mouse
lanado, todas as medidas que se situam entre os limites da faixa de borracha tornam-se
a nova seleo.
Figura 9-8: A etapa constantes Adicionar
O lpulo pode ser criada para direcionar o fluxo de sada de uma etapa para a entrada
fluxo de outro. Neste exemplo, voc quer criar um salto a partir do
Texto etapa arquivo de entrada para as constantes Adicionar passo para adicionar os
campos
Adicionar ao passo que os registros constantes do fluxo de sada do Texto
arquivo de entrada em degrau.
Para criar um salto, segure a tecla Shift e arraste a etapa de origem para
a etapa de destino. A tecla Shift pode ser liberado depois de deixar o
Captulo 9 Primer Pentaho Data Integration 243
etapa. Quando no estiver segurando a tecla Shift, a etapa s movido, mas no
conexo feita. Alternativamente, se voc tiver uma roda do meio do mouse,
basta pression-lo na etapa de origem, mant-lo pressionado e mover para a
alvo etapa. Existe ainda uma outra maneira de criar um pulo: ativar o Vista
modo no painel lateral e se a visualizao em rvore n correspondente
para a transformao expandido. Em seguida, boto direito do mouse no n do lpulo
abrir o menu de contexto. No menu de contexto, clique em Novo para trazer
o dilogo de lpulo. Neste dilogo, voc pode simplesmente ligar-se passos
selecionando as etapas de origem e destino nas caixas de lista.
Um pulo exibido como uma linha traada a partir da etapa de origem para o destino
etapa. A linha tem uma ponta de seta um pouco alm do centro da linha,
apontando para fora da etapa de origem e de destino para a etapa.
8. D um salto a partir da etapa de introduo de texto de arquivo para a etapa de
constantes Adicionar
arrastando o arquivo de entrada de texto passo para o passo constantes Adicionar
enquanto
segurando a tecla Shift. Isso tambm mostrado na Figura 9-8.
DICA Normalmente, quando voc adicionar mais passos e mais e ao lpulo, a transformao pode
comeam a parecer um pouco confuso. Para evitar isso, voc pode alinhar horizontal ou verticalmente
etapas. Para alinhar verticalmente vrias etapas, selecione as etapas e pressione para cima
chave de seta (para alinhar os topos das etapas selecionadas para o incio da etapa que
mais prximo do topo da tela) ou a tecla seta para baixo (para alinhar a parte inferior da
etapas selecionado para o fim da etapa que est mais prximo do fundo do
tela). Da mesma forma, voc pode alinhar os passos horizontalmente usando a esquerda e direita
teclas de seta.
9. Em seguida, crie um texto passo a sada do arquivo (da categoria de sada) e adicione
uma
hop para ele a partir do Passo constantes Adicionar. O resultado mostrado na Figura
9-9.
Figura 9-9: O exemplo a transformao de trs etapas
10. Abra a janela de configurao para a etapa de produo de texto do arquivo e defina
Nome da propriedade em um arquivo chamado hello_world_output na
mesmo diretrio que o hello_world_input.txt arquivo. (Nota da Extenso
propriedade definida por padro para txt, Razo pela qual no incluiu os
. Txt extenso ao especificar a propriedade Filename).
Ative a ficha de Campos, e pressione o boto para obter campos automat-
camente preencher a grade Campos. Depois disso, pressione o boto de largura
mnima e
ajustar o comprimento dos campos de comprimento varivel para gerar mais compacto
244 Parte III Integrao de dados e ETL
sada. Note que a ordem dos campos corresponde exatamente seqncia de
dos passos de onde se originam: o primeiro Nome campo gerado por
Texto etapa arquivo de entrada, ento o Mensagem e exclamao campos adicionados
pela etapa de constantes Adicionar.
Boto direito do mouse sobre a linha que define o Nome campo e no menu pop-up
menu escolher o item Mover para baixo para que a ordem final dos campos
Mensagem, Em seguida, NomeE, em seguida exclamao. Alternativamente, voc pode
selecionar
a linha da grade correspondente ao Nome campo e pressione o cursor
para baixo. Clique em OK para fechar a janela de configurao.
O texto passo a sada do arquivo e seu dilogo campos so mostrados na Figura 9-10.
GRADES DE CAMPO
etapas de transformao Muitos exigem mltiplos campos a serem configurados. Em muitos
casos, o dilogo de configurao oferece uma grade como voc s viu em Campos
guia da etapa de sada de arquivo de texto. Normalmente, um boto Get Campos est presente a auto-
automaticamente preencher a grade. Ao preencher um grid no-vazia neste homem
ner, voc ser solicitado a fazer uma escolha para lidar com os campos existentes. A
Adicionar novas escolhas so, adicione todos e claras e adicionar todos, com o comportamento bvio
para
cada escolha.
Linhas na grade podem ser selecionados clicando neles, e vrios
seleo pode ser feita mantendo a tecla Ctrl pressionada enquanto seleciona as linhas. Linhas
so adicionados, basta digitar em uma nova linha aps o ltimo existente. Excluir
linhas selecionadas feito usando a tecla DEL. Manter linhas selecionadas (excluindo todos os
desmarcada linhas) feito usando Ctrl + K.
A lista dada aqui no exaustiva, aqui apenas para dar uma idia. Se
voc quer um panorama completo das possibilidades, clique com o boto direito sobre uma grade para
ver a sua
menu de contexto.
11. Est feito agora com o actual edifcio da transformao. Esta uma
bom momento para salvar a transformao, usando o arquivo item Salvar do
menu principal. Salve a transformao como hello_world_transformation em
mesmo diretrio que voc salvou o arquivo de entrada. O arquivo deve ser au-
camente obter o . KTR extenso, que a abreviao de''Chaleira Transformao.''
NOTA Note-se que um boto Save tambm est disponvel na barra de ferramentas. Alternativamente,
voc
tambm pode usar o atalho do teclado Ctrl + S.
Executando a Transformao
Voc pode executar a transformao activa de dentro Spoon atravs dos seus principais
menu com a opo MenuTransformationRun. Alternativamente, voc
pode usar o atalho do teclado F9 ou o boto "Run (o verde-cheia
seta apontando para a direita).
Captulo 9 Primer Pentaho Data Integration 245
Figura 9-10: O texto passo a sada do arquivo e os seus campos de dilogo
Ao executar a transformao, um dilogo com o ttulo executar um transfor-
informao aparece em primeiro lugar. Vamos discutir este dilogo em detalhes mais adiante
neste
captulo e, novamente, no captulo 11, mas agora voc pode simplesmente pressionar o
lanamento
boto na parte inferior da janela.
A Execuo Painel de Resultados
Depois de lanar a transformao, a execuo de painel de resultados torna-se visvel
na parte inferior do espao de trabalho. Este painel fornece um nmero de pginas de guia
que oferecem funcionalidade til para monitorar uma transformao. Por padro, o Passo
Mtricas pgina da guia ativado e, por enquanto, vamos nos limitar a maior parte
usando esta pgina guia, bem como a pgina de registo. Todas estas pginas de guia ser
discutidos em mais detalhes no Captulo 11.
Se tudo funcionasse como deveria, o painel de Execuo deve agora olhar
semelhante Figura 9-11. Na grade de Mtricas etapa, voc ver exatamente trs
linhas (uma para cada etapa da transformao).
Todas as linhas devem indicar que esto com acabamento na coluna de ativos (em
do lado direito da grade). Se uma ou mais linhas na grade tem um fundo vermelho,
ea coluna Active mostra o estado parado, ocorreu um erro enquanto
executar a transformao. A seo''Verificando a Transformao''
mais adiante neste captulo pode lhe dar algumas pistas sobre o que correu mal.
NOTA
superior no sentido vertical. Para fazer isso, coloque o ponteiro do mouse exatamente entre os
superior da barra de ttulo do painel e na parte inferior do espao de trabalho. Voc pode encontrar o
246 Parte III Integrao de dados e ETL
''''Pega colocando o ponteiro do mouse direito no texto da barra de ttulo do painel e
lentamente movendo-se em direo ao fundo da rea de trabalho at que o ponteiro do mouse
cone muda para um cone de redimensionamento.
Voc pode alternar a visibilidade do painel usando Hide / Show alternar Resultado da Execuo
botes encontrados na barra de ferramentas. Os cones destes botes so mostrados na Figura 9-12.
Voc tambm pode controlar a visibilidade usando a janela padro cones que aparecem na
do lado direito na barra de ttulo do painel.
Figura 9-11: A transformao final
Figura 9-12: Alternar a visibilidade do painel de Resultados da Execuo
A sada de
A hello_world_output.txt arquivo que voc criou anteriormente agora deve conter
Ol, <name>! mensagens como aquelas mostradas na Listagem 9-2.
Listagem 9-2: O contedo do hello_world_output.txt
messageNameexclamation
Ol, George Clooney!
Ol, Daniel Day-Lewis!
Ol, Johnny Depp!
Ol, Tommy Lee Jones!
Ol, Viggo Mortensen!
Captulo 9 Primer Pentaho Data Integration 247
Verificao de consistncia e Dependncias
Voc s fez uma jogada mais caprichosa de imediato executar o seu trans-
formao, sem sequer realizar os controlos mais bsicos. Concedido, o
transformao muito simples, mas mesmo assim, h um nmero impressionante
de coisas que poderiam dar errado. As sees a seguir apresentam algumas informaes
bsicas
verificaes que voc sempre deve executar.
Consistncia lgica
A coisa mais bsica verificar se a transformao logicamente
consistente. Por exemplo, se um passo opera em um campo particular, segue-se que
que o campo deve estar presente no fluxo de dados de entrada, e considerado um
erro se este no for o caso. Outro tipo de erro ocorre quando o registro de fluxos de
incompatveis com layouts so''misto.''Isso ocorre quando duas recorde crregos
ter um layout de registro diferentes esto conectados mesma etapa. H mais
variedades de questes lgicas, como as etapas com sada nem entrada nem
saltos e os passos que esto ligados de uma forma circular.
Dependncias de recursos
Outra coisa a verificar se todos os recursos que so usados pelo trans-
formao esto realmente disponveis. Por exemplo, o nosso''Ol, Mundo! Exemplo''
se refere a um arquivo de entrada e um arquivo de sada. transformaes do mundo real so
susceptveis
a depender de conexes de banco de dados e sobre a disponibilidade dos objetos de banco
de dados
como tabelas e, talvez, seqncias ou procedimentos armazenados. Obviamente, h
ser um problema de execuo tal transformao se esses recursos no so
disponveis.
Verificando a Transformao
A opo Verificar no menu de transformao pode ser usado para verificar lgica
erros, bem como a disponibilidade de recursos como arquivos e banco de dados
tabelas. Escolhendo esta opo aparece uma janela intitulada Resultados da transformao
verifica mostrando cada problema potencial como uma linha em uma grade.
utilizar linhas de cores de semforo para indicar a gravidade da questo: linhas verdes
indicar a seleo est bem, as linhas vermelhas indicam os erros, e as linhas amarelas
indicam
avisos. Selecionando a opo "Exibir resultados na parte inferior da
janela de resultado revela os resultados de todos os cheques que passaram sem nenhum
problema,
fornecendo uma viso geral de tudo o que poderia ter dado errado. No
tambm podem ser linhas observao no resultado, que no tem nenhuma cor especial na
todos. Estas linhas so relatados pelos controlos, que atualmente no podem ser executadas.
Veja a Figura 9-13 para obter um exemplo do que a validao dos resultados para o''Ol,
Mundo''transformao pode parecer.
248 Parte III Integrao de dados e ETL
Figura 9-13: Verificando a transformao
Ao verificar o''Ol, Mundo!''Transformao exemplo, voc pode encontrar
uma linha de observao no relatrio, como mostrado na Listagem 9-3.
Listagem 9-3: Uma observao no resultado da verificao
Stepname
Texto de arquivo de sada
Resultado
2 - Observao
Observao
Especificaes de arquivo no so verificadas.
Este resultado ocorre se o arquivo de sada ainda no existe no momento da validao
a transformao. Spoon gostaria de verificar se possvel gravar o
arquivo de sada, mas no possvel concluir que a verificao at que o arquivo realmente
existe.
Trabalho com o Banco de Dados
acesso RDBMS uma das funcionalidades bsicas de qualquer produto de integrao de
dados.
Pentaho Data Integration oferece suporte incorporado para mais de 30 diferentes
produtos de banco de dados. Isso inclui todos os produtos conhecidos RDBMS, tais como
IBM DB2, Microsoft SQL Server, MySQL, PostgreSQL e Oracle, e muitas
menos conhecidos, como Kingbase, Gupta, MonetDB e outros.
JDBC ODBC e conectividade
Ao longo do Pentaho BI Suite, conectividade de dados baseado em JDBC e
Pentaho Data Integration no excepo. Alm do suporte JDBC nua,
Spoon oferece suporte adicional para uma grande coleo de produtos RDBMS,
protegendo o usurio de detalhes especficos do driver, como o formato exato da
a seqncia de JDBC contato, apresentando frequentemente utilizados opes em um
amistoso
maneira. Mesmo se no houver direta suporte embutido para um RDBMS especial,
ainda possvel se conectar a ele usando uma conexo JDBC genricos, oferecendo uma
driver JDBC compatvel est disponvel para esse RDBMS particular.
Captulo 9 Primer Pentaho Data Integration 249
JDBC um padro muito bem estabelecido, ea maioria dos vendedores de RDBMS fornecer
drivers JDBC para o seu RDBMS. Mas, mesmo se nenhum driver JDBC est disponvel,
muitas vezes ainda possvel se conectar usando a conectividade ODBC.
ODBC conectividade fornecida por uma ponte JDBC-ODBC, que
essencialmente um driver JDBC que pode atuar como um proxy para ODBC
motorista. Isso permite o acesso a qualquer RDBMS para o qual existe um driver ODBC
disponveis. Como a conectividade ODBC adiciona uma camada extra, deve ser evitado
se possvel. Dito isso, pode ser a nica opo no caso de haver simplesmente no
existe um driver JDBC.
Por padro, Pentaho integrao de dados usa ponte Sun JDBC-ODBC para
ODBC conectividade. Este driver est includo na edio padro do Sol
JDK. No entanto, sempre possvel recorrer a qualquer terceiro JDBC-ODBC
ponte. Qualquer driver JDBC compatvel sempre pode ser utilizada com um genrico
JDBC de conexo, e isso inclui todas as pontes de terceiros JDBC-ODBC.
Criando uma conexo de banco de dados
Conexes de banco de dados so definidos dentro de transformaes e de emprego. Para
criar
uma ligao da barra de ferramentas, clique em Novo e escolha a opo de conexo.
A janela de conexo do banco aparece.
NOTA Existem algumas maneiras de criar uma conexo de banco de dados alm de utilizar
a barra de ferramentas.
Para criar uma conexo usando o painel lateral, certifique-se o painel lateral est no modo Visualizar
e trazer o menu de contexto da pasta Conexes abaixo do n que
representa a transformao em curso. No menu de contexto, escolha Novo.
As conexes tambm podem ser criados a partir de dentro as janelas de configurao de qualquer
banco de dados relacionados com as etapas de transformao. Essas etapas conter uma caixa de lista
para a escolha
uma conexo existente, e voc pode usar o novo e editar botes, respectivamente,
criar ou modificar a conexo configurada.
Finalmente, voc pode usar o atalho F3 para iniciar uma conexo com o banco
assistente, que oferece um processo passo-a-passo para preencher dados de conexo
propriedades.
O lado esquerdo da janela de conexo do banco contm uma lista de categorias
dos tipos de coisas que podem ser configurados. Na verdade, especificando essas
propriedades
feito no preenchimento de formulrio no lado direito da janela. O contedo deste
forma so sincronizados de acordo com a categoria selecionada no lado esquerdo da
dilogo. As categorias so:
General-Basic propriedades, tais como o tipo de banco de dados, nome do host, porta
nmero, e assim por diante so configurados aqui. O nome da conexo deve
tambm ser especificado aqui.
250 Parte III Integrao de dados e ETL
Avanado-Este categoria pode ser usado para especificar algumas opes que afetam
como identificadores de banco de dados so tratados por todas as etapas usando esta
conexo.
tambm pode ser usado para especificar uma ao personalizada, sempre que tal
ligao
inicializado.
Opes-A JDBC padro define um caminho comum para configurar o JDBC
propriedades especficas do driver. Estes podem ser especificados aqui.
Connection Pooling- agrupamento de opes.
Clustering-Estes opes podem ser usadas para criar um grupo de conexes
que so usados em um ambiente de cluster e tambm com o particionamento.
Veja a Figura 9-14 para obter um exemplo do dilogo Conexo de Banco de
Dados.
Figura 9-14: Tpico opes de configurao para conexes JDBC
Por padro, a categoria Geral selecionada. As propriedades nesta categoria
so suficientes para todos os casos de uso comum. Iremos descrever as outras categorias
Captulo 9 Primer Pentaho Data Integration 251
mais adiante neste captulo. Os seguintes itens so encontrados no lado esquerdo da
formulrio de propriedades em geral, e deve ser preenchido para cada ligao:
Nome da conexo-In neste campo, um nome deve ser especificado que
identifica neste contexto, dentro da transformao. Passos
que exigem uma conexo de banco de dados referem-se a uma conexo usando esta-
o nome.
Tipo de conexo-Este lista usada para escolher um dos muitos banco de dados
produtos para conectar-se.
Access-Aps voc especificar o tipo de conexo, esta lista fornece a
mtodos de ligao disponveis para o RDBMS especificado. Na maioria dos casos,
um JDBC ODBC e uma opo mostrada. Para todos os tipos de conexo que
suporte JDBC, esta lista tambm contm uma opo de JNDI. A opo ser JNDI
ser explicada no captulo 11.
O lado direito do formulrio de propriedades exibe um quadro de configuraes que contm
opes de configurao que so especficos para o tipo de conexo especificado e
mtodo de acesso. conexes JDBC para um RDBMS, que diretamente suportado
geralmente requerem as seguintes propriedades:
Nome do Host-A nome de domnio ou endereo IP do computador onde
o servidor de banco de dados reside. Para um servidor de banco de dados local, este
deve
normalmente localhost ou 127.0.0.1, mas voc tambm pode tentar deixar o campo
em branco.
O nmero de porta- host TCP / IP onde o servidor de banco de dados est escutando
os pedidos de conexo. Em muitos casos, o valor padro para o RDBMS's
porta automaticamente preenchidos
Nome de Usurio e Senha-A credenciais para fazer logon no banco de dados
servidor.
Para RDBMSs muitos, isso tudo o que necessrio para estabelecer uma conexo JDBC.
Pentaho Data Integration usa essa informao para carregar o driver apropriado,
e para gerar a seqncia de JDBC adequado contato para estabelecer a conexo.
Para conexes ODBC, propriedades como host e credenciais j esto
configurada na fonte de dados ODBC. Portanto, as conexes ODBC requerem
somente o nome de uma j existente fonte de dados ODBC (DSN).
s vezes, as opes extras esto disponveis para um tipo de conexo particular. Para
exemplo, para uma conexo Oracle, a forma tambm fornece caixas de texto para especificar
que tablespaces para uso de tabelas e ndices. Outro exemplo aparece
na Figura 9-14, que mostra o resultado Use Streaming direito checkbox Cursor
abaixo da caixa de texto de senha.
252 Parte III Integrao de dados e ETL
Testando conexes de banco de dados
Aps configurar a conexo, uma boa idia test-lo. O boto de teste
na parte inferior da caixa de dilogo Conexo de banco de dados pode ser usada para
descobrir se
pelo menos possvel para Pentaho Data Integration para se conectar ao especificado
banco de dados. Aps pressionar o boto de teste, uma caixa de mensagem aparece. Se o
teste
for bem sucedida, a caixa de mensagem deve ser semelhante ao mostrado na Figura 9-14.
Se o teste no for bem sucedida, a caixa de mensagem ir exibir um rastreamento de pilha
grande,
que pode ser usado para analisar o problema.
Embora o rastreamento de pilha pode ser assustadora, os problemas se resumem a
erros de ortografia nas credenciais ou erros de digitao no nome do host ou nmero da porta.
Geralmente, o topo da StackTrace exibe uma mensagem til fornecer uma justa
chance de resolver o problema.
Como as conexes de banco de dados so usados
conexes de banco de dados so consultados por todas as etapas de transformao ou
entradas de emprego
que precisam trabalhar com um banco de dados. As janelas de configurao dessas etapas
e entradas de emprego fornecer alguns meios de estabelecer a conexo, explorando seus
banco de dados associado ou at mesmo criar um novo.
conexes de banco de dados especificado no Pentaho Data Integration so realmente
mais apropriadamente denominado de banco de dados descritores de conexo. Este um
importante
momento porque uma conexo''tal''pode muito bem traduzir em mltiplas
muitas vezes, as ligaes reais do ponto do servidor de banco de vista.
Por exemplo, pode haver muitos passos em uma transformao que se referem a
o descritor de conexo mesmo. Quando essa transformao executada,
todas essas etapas, normalmente aberto sua prpria instncia da conexo,
cada um dos quais corresponde a uma''ligao''real ao nvel RDMBS.
Isto significa que, por padro, voc no pode confiar em mudanas de estado dentro de um
conexo. Um exemplo tpico so as operaes de banco de dados: voc no pode sim-
ply confirmar ou reverter uma transformao, pois cada etapa abre o seu prprio
conexo, e cada um vai usar a sua prpria transao, que completamente inde-
independente das operaes mantidas pela conexes abertas pelo
outras etapas.
Agora que identificamos a diferena entre o Pentaho Data Inte-
grao ligaes e conexes de banco de dados''real'', no vamos ser exigente em
nossa terminologia. Ns iremos usar a conexo de expresso''''para se referir a uma conexo
objeto do descritor no Pentaho Data Integration, e vamos fazer uma explcita
distino se faz sentido faz-lo para o tpico em questo.
Captulo 9
Usando transaes
Primer Pentaho Data Integration 253
Em princpio, as conexes Pentaho Data Integration so apenas descritores-recipes
que podem ser utilizados repetidamente por vrios passos para estabelecer um real, fsico
conexo com o banco. Isto significa que uma transformao pode ser
ligada muitas vezes ao mesmo tempo usando o descritor mesma conexo.
Mltiplas conexes permitem que o trabalho a ser paralelizado, o que bom para
desempenho.
s vezes, vrias conexes fsicas no so desejveis. Por exemplo,
Tendo uma conexo fsica separada para cada passo significa que o estado da sesso
(Como o status da transao) no se traduz em vrias etapas: cada
etapa, ou seja, cada ligao fsica, tem seu prprio estado (e, portanto, suas prprias
transao).
Se voc realmente precisar, voc pode garantir que cada descritor de conexo realmente
corresponde exatamente a uma conexo fsica. Para fazer isso, verifique a fazer o
caixa transformao banco de dados transacional na pgina separador Diversos
da caixa de dilogo Propriedades de Transformao. Para abri-lo, selecione Menu Transforma-
Configuraes o.
Um banco de dados habilitado''Ol, Mundo!''Exemplo
Agora que voc aprendeu a criar uma conexo de banco de dados, voc pode
melhorar a''Ol, Mundo! transformao''e adicionar algum suporte de banco de dados.
Para manter as coisas simples, voc simplesmente adicionar uma etapa que grava o''Ol''
mensagens para uma tabela do banco, alm do arquivo de sada.
1. Abra o''Ol, Mundo! Transformao exemplo''se ele no estiver aberto.
Escolha Menu Transformao Configuraes para abrir a Transformao
De dilogo Propriedades. Na caixa de texto Nome de Transformao, tipo hello_
Salvar arquivo comoworld_transformation_with_db. Em
seguida, escolha Menu
e salvar a transformao como hello_world_transformation_with_db
. KTR no mesmo diretrio onde a transformao original est armazenado.
NOTA Estritamente falando, poderamos ter criado a cpia da transformao
sem editar o nome na janela de configurao de transformao. Dito isto,
uma boa idia fazer isso porque usa o nome Spoon entrou aqui como a exibio
ttulo para a transformao. Ao editar o nome, voc pode evitar qualquer confuso quanto ao
transformao que voc est modificando.
2. Criar uma conexo de banco de dados chamado Target Database. Escolha o SQLite
como
o tipo de conexo, e Nativo (JDBC) como mtodo de acesso. Na
254 Parte III Integrao de dados e ETL
Configuraes frame, tipo <path> / hello_world.sqlite onde <caminho> stands
para o caminho do sistema de arquivos, onde a transformao est armazenado.
Especifique -1 para
do Porto. Deixe o Nome do Host, Nome de Usurio e Senha campos em branco.
Clique no boto Test para verificar a conexo do banco funciona corretamente.
NOTA Optamos por criar uma conexo de banco de dados SQLite para este exemplo. SQLite
um banco de dados incorporado leve relacional. A principal razo para esta escolha
para permitir uma configurao rpida para aqueles leitores que no tm um servidor de banco de dados
criado.
SQLite exige apenas a capacidade de criar e modificar um arquivo.
Se voc tem um servidor de banco de dados criado, voc pode tentar se conectar a esse lugar.
Note que usamos a barra para separar o caminho do banco de dados
nome do arquivo hello_world.sqlite. Mesmo que a barra no normalmente
usados em caminhos do Windows, isso, de fato, funciona.
3. Arraste a tabela tipo de etapa de sada da categoria na sada do lado
painel e mova-o sobre o salto entre as constantes de Adicionar e arquivo de texto
etapas de sada. Se posicionados direita, a linha usada para representar o salto ser
engrossar, como mostrado na Figura 9-15, e voc ser perguntado se deseja
dividir o salto. Solte a passo l. Isto ir inserir a etapa de sada de mesa
entre as constantes e as etapas Adicionar Texto de arquivo de sada. A sada hop
a partir de Adicionar etapa constantes automaticamente conectado entrada de
a etapa de sada de mesa, eo hip entrada da etapa de produo de texto do arquivo
igualmente ligado sada da etapa de sada de mesa, assim, a diviso do
hop original. Confirme que voc deseja dividir o salto e, opcionalmente, verifique
o No perguntar de novo opo para evitar ser solicitado no futuro.
NOTA A etapa menu de contexto contm a opo Detach, que o exato
oposto da diviso saltos: destaca a etapa da sua lpulo, sem descartar
se o lpulo.
Figura 9-15: Dividindo uma hop existentes
4. Abra a janela de configurao da nova etapa de sada da tabela. Nota
que a caixa de listagem de conexo j est definido para o nome do banco de dados
Captulo 9 Primer Pentaho Data Integration 255
conexo. Na caixa de texto tabela de destino, tipo de hello_world_output. Em seguida,
pressione o boto SQL na parte inferior da janela de configurao. A
Simple SQL Editor abre contendo uma instruo SQL CREATE TABLE declarao, como
mostrado na Figura 9-16, para criar o hello_world_output tabela. Note-se que
voc pode editar o mapa gerado para o contedo do seu corao. Pressione o boto
Boto Executar para criar a tabela. Outra janela se abre, o que deve
indicar a instruo foi executada com sucesso. Fech-lo, e tambm perto do
SQL janela do editor.
DICA Voc tambm pode chamar o editor SQL diretamente a partir do contexto da conexo
menu, que pode ser levantada com o boto direito do mouse a entrada de conexo no
barra lateral.
Figura 9-16: Gerando declaraes CREATE TABLE
5. Executar a transformao. Verifique o painel de resultados para a execuo de quaisquer
erros.
A tabela agora deve conter linhas.
6. Na barra lateral, alternar para o modo de Exibir e clique com o alvo
Banco de dados de conexo. No menu de contexto, escolha a opo Explorar.
Isto abre a janela Database Explorer. Na vista de rvore, abra o
N Tables e clique no hello_world_output tabela para selecion-lo. Em seguida,
clique na primeira prvia de 100 linhas boto para examinar o contedo da
tabela. Uma janela de visualizao aberta, e voc deve ver algo semelhante
ao que mostrado na Figura 9-17.
256 Parte III Integrao de dados e ETL
DICA O SQL Explorer tambm pode ser chamado de dentro da configurao passo
dilogos de todos os passos dados relacionados.
Figura 9-17: Visualizando dados da tabela atravs do Database Explorer
Banco de Dados Gerenciamento de Configurao de Conexo
conexes de banco de dados fazem parte de transformaes e de emprego. Isso significa que
uma conexo pode ser reutilizado dentro, mas no atravs de transformaes e / ou
postos de trabalho. Isso representa algo como um problema de manuteno na concepo de
uma base de dados
soluo de integrao que consiste em vrias transformaes e emprego (que
quase sempre o caso).
Felizmente, existe uma maneira de lidar com isso. Transformaes e os trabalhos so
associado a um arquivo compartilhado de objetos. O compartilhamento de arquivos objetos
armazenado no local
mquina, e pode ser usado para armazenar conexes de banco de dados (entre outras
coisas).
Todos os objetos no arquivo de objetos compartilhados so automaticamente disponveis para
todos os trabalhos e
transformaes.
NOTA Por padro, Spoon usa um nico arquivo de objetos compartilhados por usurios do sistema
operacional. Este arquivo
chamada shared.xml e armazenados no . Chaleira diretrio abaixo home do usurio
diretrio. O arquivo compartilhado de objetos pode ser configurado na pgina da guia Misc
Propriedades de transformao ou propriedades dilogo Job, respectivamente.
Para armazenar uma conexo de dados no arquivo de objetos compartilhados, abra o con-
fio Bluetooth menu de contexto e escolha a opo Compartilhamento. O nome da conexo
agora aparece em negrito na barra lateral. Neste ponto, voc deve salvar o
transformao.
Captulo 9 Primer Pentaho Data Integration 257
ATENO Infelizmente, o ato de compartilhar a conexo no em si
considerado como uma mudana. Isso significa que, se no houver alteraes no salvas antes
compartilhando a conexo, logo aps salvar a transformao partilha ser
no guardar a conexo com o arquivo de objetos compartilhados.
Voc pode ver se acha o trabalho de colher ou transformao mudou. Uma forma de
descobrir olhar para a barra de ttulo da aplicao. Se que exibe o texto''(alterado)''
aps a legenda documento, as alteraes sero salvas. Outra maneira verificar
se o rtulo na aba da pgina exibido em negrito.
Se voc estiver usando o banco de dados do repositrio, o problema discutvel. O
repositrio
lojas de conexes de banco de dados global. Todas as transformaes e do emprego num
repositrio pode acessar automaticamente todas as ligaes, mesmo se elas foram criadas
de outro emprego ou transao.
Conexes de banco de dados genricos
Se voc deseja se conectar a um RDBMS para as quais no suporte embutido est disponvel
na colher, voc pode tentar estabelecer uma conexo de banco de dados genricos. Neste
caso,
primeiro voc deve obter um driver JDBC para o RDBMS. Estes geralmente podem ser
obtidos a partir do fornecedor de banco de dados, muitas vezes, sem nenhum custo extra.
Os drivers JDBC so normalmente distribudos como Jar. arquivos (arquivos Java). Antes
voc pode usar o Jar. arquivo (ou melhor, o seu contedo), voc deve garantir Pentaho
Integrao de dados pode carreg-lo. Isto conseguido atravs de cpia do Jar. arquivo para
o
libext / JDBC diretrio, que est localizado abaixo do diretrio de instalao do
Pentaho Data Integration.
Para criar a conexo, abrir a janela de conexo do banco, como costume
maneira. Selecione a entrada de genricos no banco de dados lista Tipo de conexo, e
selecionar Nativa (JDBC) na lista de acesso. As seguintes propriedades so
disponveis no quadro de configuraes:
Customer Connection URL-Este onde voc especifica o JDBC contato
string (chamado de URL JDBC terminologia). O formato deste URL
jdbc: string> <driver especficas. Consulte a documentao do
driver especfico que voc deseja usar para descobrir exatamente o que o formato de
a seqncia especfica do driver.
Custom Class Name Driver-A driver JDBC real uma classe Java. A
nome completo qualificado (nome do pacote, seguido por um ponto, seguido do
nome da classe) desta classe devem ser especificados aqui. Como o formato do
URL, essa informao tambm especfica do driver. Voc deve procur-lo na
documentao fornecida com o motorista.
Nome de usurio e senha credenciais para fazer logon no RDBMS.
Estes dados no so especficas do driver. Eles correspondem a uma conta em seu
banco de dados do sistema.
258 Parte III Integrao de dados e ETL
Figura 9-18 mostra um exemplo de uma conexo JDBC genrico para LucidDB.
Figura 9-18: Uma conexo JDBC genrico para LucidDB
Tambm possvel utilizar o ODBC como um mtodo de acesso para o banco de dados
genricos
conexo. Isso requer apenas o nome de um dos dados j configurado ODBC
fonte.
Resumo
Neste captulo, voc aprendeu sobre os processos de ETL e atividades envolvidas
no preenchimento do data warehouse. Alm disso, voc aprendeu sobre um nmero
de actividades de apoio, tais como a captura de mudana de dados, validao de dados, e
decodificao e renomeao.
Introduzimos tambm Pentaho Data Integration ferramenta, tambm conhecida como Kettle.
Voc aprendeu que o PDI consiste em um mecanismo de integrao de dados que podem
executar tarefas
e transformaes. Alm disso, o PDI apresenta uma srie de ferramentas e utilidades
para criar e executar trabalhos e transformaes.
Captulo 9 Primer Pentaho Data Integration 259
Transformaes so orientadas a dados e consiste de etapas, que so operados
no registro crregos. etapas de transformao podem ser conectados atravs de saltos,
permitindo que os registros de fluxo de uma etapa para a outra. Os trabalhos so processuais
na natureza, e consistem em entradas de emprego, que so executados seqencialmente
tarefas.
Normalmente, os trabalhos de conter transformaes, entre outros tipos de medidas.
Voc tambm aprendeu os conceitos bsicos de colher, que a ferramenta para criar PDI
emprego e transformaes. Voc construiu o seu primeiro Mundial''Ol,!''Transformao
em Spoon. Depois disso, voc aprendeu sobre as conexes de banco de dados, e prorrogado
o''Ol Mundo! transformao''para armazenar o resultado em um banco de dados.
Voc deve agora ter uma base razovel para o Captulo 10, em que voc
vai aprender a usar esse conhecimento e habilidades para encher o World Class Filmes
data warehouse.
CAPTULO
10
Pentaho Data Projetando
Solues de Integrao
No captulo anterior, apresentamos um conjunto de ferramentas e utilitrios que fazem
at Pentaho Data Integration (PDI). Ns demos um pouco de ateno extra para os dados
integrao Spoon ferramenta de design, e deu duas orientaes para familiarizar
o leitor com sua interface de usurio. Neste captulo, voc aprender como colocar essas
habilidades para utilizar para construir as transformaes e os trabalhos que so usados para
preencher o Mundo
Classe armazm de dados de filmes.
Este captulo oferece uma abordagem prtica, com foco em problemas comuns e
solues prticas. Apesar de usar o World Class data warehouse Filmes
como exemplo, acreditamos que a maioria dos problemas encontrados so comuns a
a maioria dos armazns de dados. Os mtodos utilizados neste captulo so de modo algum
a nica soluo possvel. Ao contrrio, optaram por uma srie de abordagens para
familiariz-lo com os recursos mais necessrios do Pentaho Data Integration.
A melhor maneira de ler este captulo para baixar todas as transformaes PDI
e emprego a partir do site deste livro em www.wiley.com / go / pentahosolutions assim
voc pode facilmente abri-los, verificar todos os detalhes, execute um preview, ou mais.
NOTA Alm dos exemplos e exerccios discutidos neste captulo, voc est
encorajados a dar uma olhada nas amostras includas com PDI. Voc pode encontr-los em
o amostras diretrio que est localizado no diretrio home do PDI. A amostras
prprio diretrio contm um empregos e um transformaes subdiretrio contendo
amostra de trabalhos e transformaes. A amostras diretrio tambm contm um mapeamento
diretrio que ilustra o uso de subtransformations.
Para alm destes exemplos, voc tambm deve ter um olhar para os dados Pentaho
Integrao documentao. A referncia a Passo wiki.pentaho.com / exposio
/ EAI / Pentaho Data Integration + + + Passos ea referncia de trabalho na entrada
261
262 Parte III Integrao de dados e ETL
mostrar wiki.pentaho.com / EAI / Pentaho Data + + + Integrao Trabalho
+ Entradas so recursos especialmente grande para obter novas idias para a construo de PDI
solues.
Tabela Gerando Dimension Data
Quase todos os projetos de data warehouse contm tabelas de dimenso poucos que podem,
em grande medida, ser preenchida com os dados gerados. Um exemplo bem conhecido
a dimenso de data. Tambm conhecida, mas menos utilizadas so o tempo
e dimenses da demografia.
Nesta seo, primeiro discutir brevemente a prtica de utilizar banco de dados armazenados
procedimentos para carregar esses tipos de tabelas de dimenso. Ns, ento, rapidamente
mover-se sobre
e explicar como fazer isto usando o Pentaho Data Integration para esta tarefa.
Isso proporciona uma grande oportunidade para conhecer melhor Spoon e um
algumas de suas etapas de transformao de base. Isto ir estabelecer uma base importante
para
sees subseqentes.
Usando Stored Procedures
Um mtodo comum para gerar dados para uma dimenso de data a de criar um banco de
dados
procedimento armazenado que usa funes de data do RDBMS alvo.
NOTA Uma desvantagem de usar um procedimento armazenado do banco de dados que ele precisa
ser
escrito mais e mais para cada RDBMS destino diferente, como h geralmente
diferenas sintticas com relao a ambos os idiomas o procedimento armazenado ea
built-in funes de data e hora. Por esse motivo (e outros explicado mais adiante neste
captulo), na verdade ns no recomendamos essa abordagem, mas por uma questo de
integralidade que inclua o tema de qualquer maneira.
A ttulo de exemplo, um procedimento simples MySQL armazenados para carregar uma
dimenso data
Sion mostrado na Lista 10-1. Neste caso, a funo interna DATE_FORMAT
(Em negrito) usado para gerar mltiplas representaes do valor de data.
Listagem 10-1: Um simples (parcial) MySQL procedimento armazenado para carregar uma dimenso de data
CREATE PROCEDURE p_load_dim_date (
p_from_date DATA
, P_to_dateDATE
)
BEGIN
DECLARE v_date DATE DEFAULT p_from_date;
ENQUANTO v_date <p_to_date DO
INSERT INTO dim_date (
date_key
, Data
Captulo 10 Projeto Pentaho Data Integration Solutions 263
, Date_short
, ...
) VALUES (
v_date + 0
, V_date
,DATE_FORMAT (v_date, '% Y-%% c-d')
, ...
);
SET v_date: = v_date + intervalo de 1 dia;
Fim Enquanto;
END;
Carregando um Dimension Data Simples
Todos os problemas de compatibilidade causados pelo uso de procedimentos de banco de
dados armazenados podem
ser superado simplesmente evit-los. Isso pode parecer mais fcil do que realmente ,
mas para o carregamento de uma dimenso de data que o processo bastante simples
e fcil de implementar diretamente no Pentaho Data Integration.
Para evitar complexidade desnecessria, primeiro iremos usar um pouco simplificado
verso da tabela de dimenso de data. Sua CREATE TABLE declarao apresentada
na Lista 10-2. Como voc pode ver, esta tabela de dimenso de data simplesmente fornece
uma
nmero de diferentes formatos para uma data.
Listagem 10-2: CREATE de uma tabela simplificada data dimenso
CREATE TABLE dim_date (
date_key
date_value
date_short
date_medium
date_long
date_full
day_in_week
day_in_year
day_in_month
is_first_day_in_month
is_last_day_in_month
day_abbreviation
day_name
week_in_year
week_in_month
is_first_day_in_week
is_last_day_in_week
is_weekend
month_number
month_abbreviation
MONTH_NAME
ano2
INTEGER
DATA
VARCHAR (12)
VARCHAR (16)
VARCHAR (24)
VARCHAR (32)
SMALLINT
SMALLINT
SMALLINT
VARCHAR (10)
VARCHAR (10)
CHAR (3)
VARCHAR (12)
SMALLINT
SMALLINT
VARCHAR (10)
VARCHAR (10)
VARCHAR (3)
SMALLINT
CHAR (3)
VARCHAR (12)
CHAR (2)
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
264 Parte III Integrao de dados e ETL
ano4
quarter_name
quarter_number
year_quarter
year_month_number
year_month_abbreviation
PRIMARY KEY (date_key),
UNIQUE KEY (date_value)
);
CHAR (4)
CHAR (2)
SMALLINT
CHAR (7)
CHAR (7)
CHAR (8)
NO
NO
NO
NO
NO
NO
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
Figura 10-1 mostra uma transformao to simples. A transformao
dividido em quatro partes distintas: Preparar, entrada e sada de Transformao,
e na Figura 10-1 voc pode ver algumas notas para indicar isso.
Figura 10-1: Uma transformao simples para carregar uma tabela de dimenso de data
NOTA Voc pode colocar anotaes em qualquer lugar na tela de transformao ou de trabalho.
Embora as notas no so um substituto para a documentao, eles so um conveniente
meios para esclarecer a inteno da transformao.
Para adicionar uma nota, clique com o boto direito sobre a tela para abrir o menu de contexto. Escolha
Novo
Observe no menu de contexto. Uma caixa de dilogo na qual voc pode digitar o texto para
sua nota. Quando terminar de editar, clique em OK para fechar a janela e coloque a nota sobre
Captulo 10 Projeto Pentaho Data Integration Solutions 265
a tela. Uma vez que a nota colocada na tela, voc pode usar o mouse para arrastar
para um novo local. Para editar uma nota existente, clique duas vezes nele. Para remov-lo,
boto direito do mouse sobre a nota e escolha nota Excluir no menu de contexto.
Aqui est um resumo do que acontece nessa transformao:
1. Criar dim_date: Questes as instrues SQL necessrias para o alvo
banco de dados para criar a dim_date Dimenso da tabela.
2. Faltando Data: Gera uma linha que representa uma data especial que
usado para representar todas as datas em falta ou inaplicvel.
3. Gerar linhas com Data Inicial: Gera uma linha por dia de calendrio.
As linhas tm um campo que especifica a data inicial.
4. Dias Seqncia: Adiciona um campo inteiro para incrementar as linhas geradas
pela etapa anterior.
5. Calcular e Formato Datas: O inteiro incrementado adicionado
data inicial, resultando em uma seqncia de dias de calendrio.
6. is_first_day_in_month, is_first_day_in_week, is_last_day_in_month,
is_last_day_in_week e is_weekend: Essas etapas mapa de dados numricos
ao texto que est a ser armazenado na tabela de dimenso.
7. Carga dim_date: As linhas de fluxo de entrada so inseridos no
dim_date tabela.
Os captulos seguintes analisam as etapas de transformao e suas configu-
rao em detalhes.
CREATE TABLE dim_date: Utilizando o Execute SQL Script Etapa
Na Figura 10-1, a etapa Criar dim_date do tipo Execute o script SQL. Este
tipo de medida pode ser encontrado na categoria Scripts; seu cone (mostrado na parte
superior da
Figura 10-1) aparece como um pergaminho com uma etiqueta de SQL.
A etapa de obras, executando os comandos SQL especificado no script
propriedade contra a conexo especificada. Voc pode usar a propriedade script
para especificar uma ou vrias instrues SQL, separados por ponto-evrgula. No
h nenhuma restrio no que diz respeito forma ou tipo de instrues SQL que
compem o roteiro, enquanto eles so sintaticamente vlida de acordo com a
RDBMS subjacente a conexo especificada. Etapas do tipo Executar SQL
so especialmente teis para a execuo de comandos DDL.
Figura 10-2 mostra como a etapa foi configurado para a amostra de trans-
o mostrado na Figura 10-1. Como voc pode ver na figura, o script contm
duas demonstraes: uma DROP TABLE declarao a cair na tabela em caso de ele j
e existe uma CREATE TABLE declarao para definir a tabela. A lgica por trs
266 Parte III Integrao de dados e ETL
soltando e depois de (re) criar a tabela que isso torna mais fcil adicionar ou
remover colunas.
Figura 10-2: Configurando o SQL Execute passo para executar mltiplas instrues SQL
A etapa de execuo de script SQL um pouco mais de um pato estranho quando
comparado a outros
tipos de etapas de transformao, porque no particularmente orientadas a dados. Por
padro, as etapas deste tipo executar apenas uma vez antes de qualquer das outras etapas
so executados.
NOTA Ao executar uma transformao, todos os passos so primeiramente inicializados. Isso chamado
o inicializao fase. As aces preparatrias, como a abertura de arquivos e banco de dados
conexes, mas tambm substituindo as variveis (ver Captulo 11 para mais informaes
sobre as variveis) e preparar declaraes de banco de dados geralmente so executadas na
inicializao fase. Aps todos os passos foram iniciados, as etapas entre a
fase de execuo e iniciar linhas de processamento.
Por padro, o Executar etapa SQL executa instrues SQL apenas uma vez no
inicializao fase. Por esta razo, a transformao de exemplo mostrado na
Figura 10-1 no precisa de nenhum hop para conect-lo ao restante da
transformao: o SQL ser executado antes de outras etapas do
transformao iniciar linhas de processamento de qualquer maneira. possvel conduzir a execuo do
SQL
usando dados de um fluxo de entrada. Um cenrio como este discutido em detalhe mais tarde
neste captulo na seo''pesquisa''Staging Valores.
Observe que as etapas entrar na fase de inicializao de forma assncrona, e no particular
da ordem. Isso significa que voc deve garantir que o trabalho feito na inicializao
fase de um passo em particular no dependem de concluda a fase de inicializao
Captulo 10 Projeto Pentaho Data Integration Solutions 267
de outro passo. Por exemplo, o DROP e CREATE declaraes no Criar
etapa dim_date na Figura 10-1 no pode ser executado separadamente cada um no seu prprio
etapas de execuo do SQL, pois no haveria garantia de que o DROP declarao
seria executado antes do CREATE declarao.
Falta de data e gerar linhas com a data inicial: O Gere
Passo Linhas
Na Figura 10-1, faltando as etapas de data e gerar linhas com data inicial so
da Gerar linhas do tipo degrau. Esse tipo encontrado na categoria de entrada e seus
cone aparece como um martelo ao lado de uma escada (ver a linha de entrada da figura 10-
1).
Sem surpresa, o objetivo desta etapa gerar linhas. As etapas deste tipo de
so normalmente configurados definindo um valor para a propriedade para especificar o limite
nmero de linhas para gerar. Opcionalmente, um nmero de campos com constante
Os valores podem ser especificados. Figura 10-3 mostra como as linhas com Gere inicial
Data passo da transformao mostrado na Figura 10-1 foi configurado.
Figura 10-3: Configurando o passo Gerar linhas para obter 10 anos de valor dos dias
Para as linhas com a etapa Gerar data inicial, que especificou um limite de 3660
(Que um pouco mais de 10 anos no valor de dias). Na grade de Campos, que
especificado um nico campo chamado initial_date, Que serve como a data de incio
para a dimenso de data. Observe que especificamos o Data como tipo, o valor
20000101E formatar o aaaammdd. O valor representa a data do calendrio
de 1 de janeiro de 2000. O tipo e formato so necessrias para explicar a Spoon
como interpretar esta data. Voc vai encontrar muitos outros exemplos de data
formatao na subseo''a etapa Selecionar Valores''mais tarde nesta seo.
Para a etapa de Data Desaparecidas, que especificou um limite de 1 (um). Em vez de
especificar apenas um campo para a data inicial, ns adicionamos campos que representam
um
268 Parte III Integrao de dados e ETL
data em falta ou inaplicvel. Para o date_value e date_key domnios, foi utilizado
os valores 0001-01-01 e 10101 , respectivamente. Quando voc carrega as suas tabelas de
verdade,
Voc deve se lembrar de usar essa chave para qualquer NULL datas. Para os campos de texto
desta data especial utilizou-se o rtulo No Aplicvel,N / AOu NA dependendo
sobre o espao disponvel.
DICA Digitar todos os campos para a etapa de Data ausentes podem ser um pouco entediante. Voc
pode
poupar tempo e esforo por criar a primeira parte genrica do
transformao e, em seguida, acrescentando os passos para inserir essas linhas especiais.
Depois de ter definido o destino final de carga dim_date etapa, voc pode clicar com o boto direito sobre
ele
e escolha a opo Mostrar campos de entrada no menu de contexto. Uma grade aparece
com os campos de fluxo de entrada. Clique na primeira linha da grelha para selecion-lo e, em seguida
selecionar todas as linhas usando as teclas Ctrl + A atalho de teclado. Em seguida, copiar a grade para o
clipboard usando Ctrl + C. Voc pode ento colar que na grade de Campos do desejado
Gerar etapa linhas usando Ctrl + V.
Este mtodo, pelo menos, ajudar a preencher os nomes de campo e tipos. Voc pode precisar
para remover alguns dados colados das colunas restantes e ainda precisa
digite os valores campo. No entanto, ele geralmente lhe poupar algum tempo e esforo, e
mais importante, evitar erros, porque este mtodo garante que o layout de registro
o fluxo de sada ir coincidir com a etapa de destino.
Depois de configurar a etapa Gerar linhas, voc pode clicar no boto Preview
Para ver um exemplo das linhas que sero gerados na visualizao Examine
dados de dilogo (veja a Figura 10-3).
Dias Seqncia: A etapa Seqncia Adicionar
Os Dias etapa seqncia na Figura 10-1 de D seqncia tipo. Este tipo de
do passo pode ser encontrado na categoria Transform. As etapas deste tipo de trabalho por
adio de um campo inteiro de novo incremento para as linhas de fluxo de entrada. Sua
cone aparece como um crculo nmero 2 (ver Figura 10-1).
Na transformao da amostra, o objetivo deste campo para gerar os dados
para calcular uma seqncia de datas no calendrio. (O clculo real discutido
na prxima subseo.) A etapa seqncia Adicione pode ser configurado para trabalhar em
qualquer uma das seguintes formas:
Para desenhar o prximo valor a partir de uma seqncia de base de dados. Alguns
RDBMSs (tais
como Oracle e PostgreSQL) oferecem um esquema seqncia especial de objeto que
projetado especialmente para proporcionar substituto valores-chave, que pode ser
utilizados pela etapa de Seqncia Adicionar.
Para incrementar um contador mantido pelo mecanismo de transformao.
Nosso uso do tipo de seqncia Adicionar os dias passo seqncia, usa o ltimo
opo. A configurao da etapa de seqncias de dias mostrado na Figura 10-4.
Captulo 10 Projeto Pentaho Data Integration Solutions 269
Figura 10-4: Configurao da etapa de seqncias de dias
Em Nome do valor da propriedade, o nome day_sequence fornecido para o
campo que ir conter o nmero de seqncia. O Uso contador para gerar o
caixa sequencial selecionado para usar um contador mantido pela trans-
o do motor. Na transformao da amostra, a propriedade nome opcional Counter
deixado em branco. Se necessrio, poder ser preenchido para forar a seqncia de
mltiplos Adicionar
passos para tirar um e mesmo balco. Para o incio de valor, o valor
0(Zero) foi especificado explicitamente (em vez do padro de um) para assegurar que
a data inicial especificada na etapa Linhas Gere realmente a data de incio
para a dimenso de data.
Calcular e formatar datas: a Etapa Calculadora
Na Figura 10-1, a calcular e formatar passo Datas usa um Calculadora passo para
gerar todas as representaes data para carregar a dimenso de data. A calculadora
passo encontrada na categoria de Transformao. No novidade que o cone representa
uma calculadora de mo.
A etapa Calculator permite que voc escolha a partir de um nmero de pr-
clculos. Dependendo do tipo de clculo, que utiliza at trs campos
como argumentos, gerando um novo campo para o resultado, que adicionado
sada de fluxo. Os campos de argumento pode ser retirado do fluxo de entrada, mas
Tambm a partir dos campos de sada gerado na etapa calculadora mesmo, permitindo-lhe
a pilha de clculos em cima uns dos outros.
Na transformao da amostra, o passo da calculadora est configurado como mostra a
Figura 10-5.
Na grade de Campos, uma srie de expresses so criadas para calcular vrias
representaes da data do calendrio.
270 Parte III Integrao de dados e ETL
Figura 10-5: Usando a calculadora para calcular passo dias
Clculo # 1 usa a expresso Dias Data A + B para adicionar o valor do
day_sequence campo gerado pela etapa de Seqncia Adicionar ao initial_date
campo que foi especificado na etapa Linhas Gerar. Isso gera um novo campo
chamada data, Que representa a data do calendrio. Este data campo usado
pelos clculos a seguir para gerar representaes data alternativa. Para
integralidade, a Listagem 10-3 mostra como este clculo foi configurado.
Listagem 10-3: Adicionando a seqncia at a data inicial para a obteno dias
Nova fieldCalculationField aField BTYPE
-------------------------------------------------- --------------------
Data date_value A + B Daysinitial_dateday_sequenceDate
Clculos # 2 a # 15 na verdade, no fazer um clculo adequado.
Pelo contrrio, estes usam o Crie uma cpia de um campo de expresso para duplicar a
date_value campo que o resultado de clculo # 1 e aplicar um determinado
formato para convert-lo para um valor String. Isso gera uma srie de alternativas
Captulo 10 Projeto Pentaho Data Integration Solutions 271
representaes da data do calendrio, aos quais so atribudos um nome de acordo com
o nome da coluna de destino. A seqncia de formato celebrado a mscara de converso
coluna da grade de Campos. Para converses de data para string, a mscara deve ser
especificada usando a notao tambm utilizado para o java.text.SimpleDateFormat
Java classe. A configurao desses campos mostrada em detalhes na Lista 10-4.
Listagem 10-4: Usando seqncias de formato para formatar datas
Nova fieldCalculationFld mscara AConversion
-------------------------------------------------- ----------------------
date_keyCreate uma cpia de um campo date_value aaaammdd
date_shortCreate uma cpia de um campo date_value aa-mm-dd
date_mediumCreate uma cpia de um campo date_value MMM yyyy d,
date_longCreate uma cpia de um campo date_value MMMM yyyy d,
date_fullCreate uma cpia de um campo date_value EEEE, MMMM d, yyyy G
day_in_yearCreate uma cpia de um campo date_value D
day_abbreviationCreate uma cpia de um campo de EEE date_value
day_nameCreate uma cpia de um campo de EEEE date_value
week_in_yearCreate uma cpia de um campo w date_value
week_in_monthCreate uma cpia de um campo date_value W
month_abbreviation Criar uma cpia de um campo de date_value MMM
month_nameCreate uma cpia de um campo date_value MMMM
year2Create uma cpia de um campo aa date_value
year4Create uma cpia de um campo aaaa date_value
DICA Para obter mais informaes sobre a notao das mscaras de formato de data, d uma olhada
http://java.sun.com/j2se/1.5.0/docs/api/java/text
/ SimpleDateFormat.html.
Clculo usa o # 16 Dia da semana da data de um expresso para calcular
um valor inteiro correspondente ao dia til para gerar os valores para
o day_in_week coluna da tabela de dimenso de data. Para garantir o resultado
est formatado como um nmero inteiro, definir a mscara de converso para o smbolo hash
(#). No faria sentido calcular isso simplesmente aplicando uma adequada
seqncia de formato, tal como fizemos para expresses # 2 a # 16. Infelizmente,
a seqncia padro de formatao apropriadas no parece existir, razo pela qual
ns usamos um clculo para fazer o trabalho.
Clculo # 17 calcula o month_number de campo, utilizando a expresso
Ms da data de um sobre o data de campo. Embora esse valor poderia ter sido
obtida atravs da converso para o tipo String e aplicando a seqncia de formato M,
o Ms da data de um expresso recupera o valor como uma expresso inteira,
o que nos permite us-lo para calcular o nmero trimestre em clculos # 24
e # 25. Seria bom para calcular trimestres, tambm, usando uma seqncia de formato, mas
assim como o day_in_week nmero, este no suportado.
Clculo # 18 calcula o day_in_month campo utilizando a expresso Dia
do ms da data de um. Como o clculo de n 17, que poderamos ter feito isso, basta
Convertendo para string e aplicando o dseqncia de formato, mas usando este
expresso, obtemos o valor como um inteiro, o que nos permite (indiretamente)
272 Parte III Integrao de dados e ETL
descobrir se o dia atual passa a ser o ltimo dia do ms em
clculos # 26 a # 28.
A configurao dos clculos de # 16, # 17 e # 18 mostrado na Lista 10-5.
Listagem 10-5: Obtendo o dia da semana eo nmero de meses usando predefinidos
clculos
Nova fieldCalculationField mscara ATypeConversion
-------------------------------------------------- --------------------
day_in_weekDay da semana da data Adate_value Integer #
month_number ms da data Adate_value Integer #
Dia day_in_month do ms da data date_value A Integer #
Os clculos''''# 19 a # 23 use o Defina o campo de valor constante
Aexpresso para definir uma srie de valores constantes que so utilizadas no final
alguns clculos. Porque ns s precisamos temporariamente estes clculos, vamos definir
o Remover propriedade para Y, O que impede os campos resultado destes clculos
a ser adicionado ao fluxo de sada. Voc pode rever a configurao destes
clculos na Lista 10-6.
Listagem 10-6: Definindo constantes na etapa Calculadora
Nova fieldCalculationFld ATypeRmv
-------------------------------------------------- ---------------------------
temp_quarter_prefixSet campo para o valor constante AQStringY
campo Definir temp_months_in_quarter a constante valor A3Integer Y
temp_add_monthSet campo para o valor constante A2Integer Y
campo de valor constante temp_dashSet A-Barbantinho
Clculos # 24 e # 25 juntos compem o clculo do quar-
Nmero ter. Clculo # 25 faz o clculo real, realizando um
Integer diviso do temp_month_number por temp_months_in_quarter. A
temp_month_number de campo foi obtido pela soma dos dois constante
month_number. Assim, em janeiro deste ano, ir avaliar a (1 + 2) / 3 = 1, Em
Fevereiro deste ser (2 +2) / 3 = 1E assim por diante at abril de onde obtemos
(4 +2) / 3 = 2 e assim por diante. Note que no h clculo em separado predefinidos
para a diviso de nmero inteiro. diviso de nmero inteiro realizada automatica-
mente quando se aplica o A / B expresso de argumentos inteiros e configurao
o tipo de resultado tambm inteiro. A configurao dos clculos de # 24 e # 25
mostrado em detalhe na Lista 10-7.
Listagem de 07/10: Calculando o nmero trimestre usando diviso inteira
fieldCalculation Novo Campo aField B
-------------------------------------------------- --------------------
temp_month_number A + Bmonth_numbertemp_add_month
quarter_numberA / Btemp_month_numbertemp_months_in_quarter
Captulo 10 Projeto Pentaho Data Integration Solutions 273
Clculos # 26 a # 28 faz um clculo que pode ser usado para
ver se o valor atual da data campo passa a ser o ltimo dia do
ms. Isto feito subtraindo o valor do dia no ms do
data atual daquele do dia seguinte. Se os dois dias consecutivos
Acontece que no mesmo ms, a diferena ser de 1 (um). Se no dia seguinte
acontece de mentir no prximo ms, o resultado ser um nmero negativo
entre 27 (28/01) e 30 (1-31). Clculo # 26 calcula o dia seguinte
adicionando a uma constante para o valor da data de campo. No clculo # 27,
o dia no ms de que no dia seguinte calculado e, finalmente, no clculo
# 28, a diferena calculada. Os resultados dos clculos # 26 e # 27 so
intermedirios e so descartados, especificando Remover Y =. O resultado final
mantido na diff_days_curr_day_next_day campo, que ser utilizado fora
este passo para calcular o valor da coluna atual. A configurao desses
clculos mostrado em detalhe na Lista 10-8.
Listagem de 08/10: Calculando o ltimo dia do ms
Nova fieldCalculationField aField B
-------------------------------------------------- --------------------
next_dayDate A + B Daysdate_valueadd_day
next_day_in_monthDay do ms da data Anext_day
diff_daysA - B next_day_in_monthday_in_month
O # 29 # 33 clculos por meio do uso A + B expresso para concatenar
algumas das seqncias previamente calculado para obter representaes para trimestre
_name,year_quarter,year_month_numberE year_month_abbreviation. Como
com a diviso inteira, no h nenhum operador de concatenao de string separadas, mas
aplicao da expresso A + B aos campos do tipo de dados String tem exactamente
nesse sentido. Os detalhes dos clculos finais, # 23 e # 29 so mostrados na
Listagem 10-9.
Listagem de 09/10: Clculo do trimestre e concatenando strings
Nova fieldCalc.Field aField B
-------------------------------------------------- -----------------------
quarter_nameA + Btemp_quarter_prefixquarter_number
temp_year_stringA + Byear4temp_dash
year_quarterA + Btemp_year_stringquarter_name
year_month_numberA + Btemp_year_stringmonth_number
year_month_abbreviationA + Btemp_year_stringmonth_number
A Etapa Mapper Valor
Os passos seguintes so todas baseadas no Valor Mapper tipo de etapa:
is_first_day_in_month
is_last_day_in_month
274 Parte III Integrao de dados e ETL
is_first_day_in_week
is_last_day_in_week
is_weekend
O valor do passo Mapper pode ser encontrado na categoria de Transformao. Sua
cone mostra uma seta conectando as letras A e B (veja a Figura 10-1).
O valor traduz etapa Mapper valores de um campo nos fluxos de entrada
com os valores especificados em uma lista. O valor da traduo pode ser usado para
substituir o valor original do campo no fluxo de entrada ou gravados em um
novo campo, que adicionado ao fluxo de entrada. Opcionalmente, um valor padro pode
ser especificado em nenhum caso de os valores na lista corresponde ao valor da
fluxo de entrada. Um exemplo muito simples mostrado na Figura 10-6, que retrata
a configurao do passo marcado is_first_day_in_month.
Figura 10-6: Mapeamento de dados inteiro para rtulos de texto com o passo Mapper Valor
Conforme mostrado na Figura 10-6, esta etapa levar o valor do day_in_month
campo do fluxo de entrada e cria um novo is_first_day_in_month campo
para manter os valores traduzidos. Existe apenas um valor para mapa: Somente quando o
day_in_month campo acontece a ter o valor 1 (um) caso a string Sim
ser devolvido. Especificando o valor No no padro sobre os no-correspondncia
propriedade, o valor No ser devolvido em qualquer outro caso.
A configurao do is_first_day_in_week e is_last_day_in_week
medidas inteiramente anlogo ao da etapa is_first_day_in_month. Ambos
Essas etapas usam o day_in_week campo do fluxo de entrada e retornar o
valor Sim no caso de um valor especfico (1 e 7 para is_first_day_in_week e
is_last_day_in_week respectivamente), casado, e No em qualquer outro caso.
Novamente, as duas etapas escrever o valor para um novo campo do fluxo de sada
(is_first_day_in_week e is_last_day_in_week respectivamente).
A configurao da etapa is_weekend quase exatamente o mesmo. Este
etapa converte os valores da day_in_week campo do fluxo de entrada
para uma nova is_weekend campo no fluxo de sada, mas desta vez, dois valores so
Captulo 10 Projeto Pentaho Data Integration Solutions 275
mapeada: ambos os valores 1 e 7 so mapeados para Sim, E novamente No retornado por
padro.
dim_date Carga: A etapa de sada de mesa
O passo final na transformao mostrada na Figura 10-1 rotulado de carga
dim_date e com base no Sada de mesa etapa. Esta etapa de obras, inserindo o
registros do fluxo de entrada em uma tabela do banco de dados. Voc pode encontrar a
Tabela
Sada na categoria de sada. Seu cone uma seta apontando para um tambor verde
cilindro (Figura 10-1).
Na etapa dim_date carga, a etapa de sada da tabela usada para inserir os dados
criados nesta transformao em dim_date tabela que foi criada em
O primeiro passo da transformao, a etapa de execuo do SQL. Voc j
encontrou a etapa de sada de Mesa em nosso banco de dados de transformao walk-
atravs do captulo anterior. No, no incomoda a configurao do
mapeamento entre os campos do fluxo de entrada e as colunas da tabela
porque os campos no fluxo de entrada j foi combinado as colunas da tabela. Em
esta transformao, as coisas so um pouco diferentes. O fluxo de entrada contm ainda uma
alguns campos que no correspondem a qualquer colunas da tabela, como initial_date,
day_sequenceE diff_days_curr_day_next_day. Outra coisa que o
data campo do fluxo de entrada deve ser mapeado para o date_value coluna
da dim_date tabela. Figura 10-7 mostra parte da configurao.
Figura 10-7: Mapeamento de colunas especficas do fluxo de entrada nas colunas da tabela
A fim de mapear campos para colunas, primeiro voc tem que selecionar a especificar
campos de banco de dados caixa de seleo. Voc pode ento ativar o banco de dados ficha
de campos
276 Parte III Integrao de dados e ETL
e use o Get campos de pgina para preencher a grade com todos os campos presentes no
fluxo de entrada. Voc pode selecionar e remover os campos que voc no precisa, e
escreva o nome da coluna correspondente na coluna de campo Tabela, conforme necessrio.
Caractersticas Dimension Data mais avanada
Agora que voc aprendeu a preencher uma dimenso de data simples, voc pode estender
o projeto e adicionar mais passos para personalizar a dimenso de data para o seu
gosto. O design dimenso de data a partir do captulo 8 menciona um par de
possveis melhorias, tais como ISO incluindo o ano e os nmeros da semana especial
campos de data, e clculos para facilitar a comparao entre o ano em curso com o
ano anterior, e com suporte a locales e lnguas diferentes.
ISO semana e ano
A etapa Calculator (mostrado na Figura 10-5) fornece o Semana de ISO8601
Uma data e ISO8601 Ano da Data A expresses. Usando esses, trivial
estender a tabela de dimenso de data com a norma ISO semana e atributos ano.
Passado e atual Indicadores Ano
Manter os indicadores ano passado e atual discutido no Captulo 8
implica uma actualizao regular a tabela de dimenso de data. Alternativamente, voc pode
integrar os clculos necessrios extra diretamente na transformao
que gera as linhas de dimenso de data e simplesmente truncar e em seguida atualize
a tabela de dimenso de data em sua totalidade. A atualizao da tabela faz sentido se
data de sua dimenso contm informao que difcil de gerar (como
feriados). Neste caso, voc iria construir uma transformao separada para fazer o
atualizaes. Truncado e dimenso atualizar a data na sua totalidade mais
simples, porque voc s precisa manter uma transformao.
Calculando os valores dos indicadores envolve algumas etapas extra. Em primeiro lugar,
voc precisa de um passo para introduzir a data atual para que voc possa comparar com o
datas geradas pela transformao. A maneira mais fcil de fazer isso por
adicionar um Get System Info etapa. Esta etapa permite definir novos campos. Ele oferece
uma
caixa de listagem com uma srie de itens de informao diferentes do sistema, incluindo o
atual
data. Neste caso especfico, o item que voc precisa chamado sistema de data (fixa),
que ir preencher o campo com o sistema de data / hora como determinado na etapa de
inicializao fase.
Usando uma calculadora passo, voc pode dissecar a data do sistema em partes, como
data
ano, ms, semana e dia para que voc possa compar-los com os correspondentes
campos na tabela de dimenso de data. Da mesma forma, voc pode usar a calculadora para
a etapa
calcular o ano anterior, ms e semana.
Para, finalmente, calcular os valores para os campos de bandeira pode utilizar a frmula
etapa, encontradas na categoria scripts. A etapa da Frmula permite que voc use frmulas
com uma sintaxe semelhante utilizada em programas de planilhas como o Microsoft
Captulo 10 Projeto Pentaho Data Integration Solutions 277
Excel ou do OpenOffice.org Calc. Por exemplo, para calcular o valor do
current_year coluna, voc deve criar um novo campo na etapa da Frmula chamado
current_year e especificar uma frmula como esta:
IF ([ano4] = [current_year_number], 1, 0)
Observe que a frmula no precedido por um sinal de igual, como seria o caso
em programas de planilhas. Neste exemplo, ano4 o ano4 coluna do
dim_date mesa, e current_year_number a parte do ano da data do sistema
tal como calculado pela etapa anterior calculadora. Observe que voc precisa para incluir
campos entre colchetes. IF () uma das funes internas fornecidas pela
Frmula etapa. Esta funo recebe trs argumentos: expresso de um primeiro Boolean
(No nosso caso, a comparao ano), em segundo lugar, o valor a retornar se o primeiro
argumento verdadeiro e, finalmente, o valor a retornar se o primeiro argumento falso.
Note-se que os argumentos da funo so separados com ponto e vrgula.
Usando essa tcnica, voc pode adicionar quantos campos quiser para calcular o
bandeiras.
Internacionalizao e suporte de locale
Java oferece suporte embutido localidade. Porque PDI programado em Java,
relativamente fcil de tocar para o sistema local de Java e us-lo para formatar datas
e os nmeros de uma maneira dependente de localidade. Ns descrevemos o mtodo em
poucas palavras.
IDP oferece a modificao Javascript tipo de etapa de Valor na categoria scripts.
Usando este tipo de etapa, voc pode usar o JavaScript para datas processo gerado
por sua transformao. A modificao Javascript passo valor baseado na
o Mozilla Rhino motor de JavaScript, que permite criar uma instncia e
acessar objetos Java. Desta forma, voc pode criar um java.util.Locale
objeto para a localidade desejada e usar essa data para o formato usando o
java.text.SimpleDateFormat.
O procedimento descrito em detalhes no http://rpbouman.blogspot.com/
2007/04/kettle-tip-using-java-locales-for-date.html.
Carregando uma dimenso de tempo simples
A dimenso do tempo aparece no cliente e esquemas Pedidos de estrelas
o World Class data warehouse Filmes. Assim como a dimenso de data, a maioria
dos dados da dimenso de tempo podem ser gerados, seja com um banco de dados
procedimento armazenado ou um Pentaho Data Integration transformao. Ns j
discutida a desvantagem de banco de dados usando procedimentos armazenados para este
tipo
de trabalho. Por esta razo, ns preferimos fazer isso usando uma transformao PDI.
Uma transformao simples para carregar o dim_time tabela na wcm_dwh banco de dados
mostrado na Figura 10-8.
278 Parte III Integrao de dados e ETL
Figura 10-8: Uma transformao simples para carregar a dimenso de tempo
Aqui est um resumo dos trabalhos dessa transformao:
1. Criar dim_time: Este um passo executar script SQL para criar o alvo
tabela de dimenso de tempo.
2. Gerar 24 Horas e gerar 60 Minutos: Estes so os dois Gerar
Linhas etapas que criam as linhas que compem as horas e minutos de
a dimenso de tempo. O Limite da Gerar etapa Horas 24 est definido para 24
porque h 24 horas por dia. Da mesma forma, o limite do Gere
60 Minutos passo definido como 60, porque h cerca de 60 minutos por hora.
3. Seqncia horas (0 .. 24) e Minuto Seqncia (0 .. 60): Estes so os dois Adicionar
Seqncia de passos, que adicionam um campo inteiro para incrementar as linhas de
entrada
para representar as horas e minutos, respectivamente. Em ambos os casos, o incio
no valor for definido para 0 (zero) e o incremento deixado para o padro de 1 (um).
4. Combine: Esta uma juno de linhas (produto cartesiano) etapa. Esta etapa rene
as linhas de hora e minuto linhas de sua entrada crregos.
5. Calcule o tempo: Nesta etapa, calculadora, a hora / minuto so combinaes
analisado em um valor Date, que ento convertido em um valor String usando
uma seqncia de formato de reter apenas parte do tempo.
6. dim_time Carga: Este um passo de sada da tabela para inserir as linhas geradas
no dim_time tabela de destino.
Ao olhar para a Figura 10-8, voc v que, exceto para a etapa Join Linhas
esta transformao usa os mesmos elementos bsicos como a transformao de carga
a dimenso de data mostrado na Figura 10-1.
Em comparao com a transformao para carregar a dimenso de data, no h
algo radicalmente diferente sobre a forma como esta transformao gera a sua
Captulo 10 Projeto Pentaho Data Integration Solutions 279
de dados. A transformao para carregar a dimenso de data foi totalmente linear,
e os dias em que conduziu a transformao foi obtida pela adio de
dias para a data inicial. Nesta transformao, as linhas Gerar e Sequncia
etapas so independentes uma da outra. O tempo real do dia obtida pela
combinando os dados dos dois crregos e, em seguida, analisar uma data fora do
combinados valor / hora, minuto. Esta abordagem seria menos prtico para carregar
uma dimenso de data: embora voc pode configurar fluxos separados para gerar anos
e meses, isso no to fcil para a parte do dia a contar da data porque o nmero
de dias depende do ms e se o ano um ano bissexto.
Combine: a etapa Join linhas (produto cartesiano)
A etapa Combine na Figura 10-8 de Junte-se linhas (produto cartesiano) tipo.
Isto encontrado na categoria Associaes. Seu cone, visvel na Figura 10-8, um conjunto
de
elos da cadeia.
A associao de linhas (produto cartesiano) passo funcionalmente anlogo ao
INNER JOIN operao em SQL, a diferena que ela opera no registro
fluxos de entrada e no as tabelas do banco.
NOTA Embora a associao de linhas (produto cartesiano) passo funcionalmente anlogo
para um banco de operao de juno, deve-se muito cuidado para no consider-lo como um
substituio. Como regra geral, voc no deve usar essa etapa para evitar a escrita
SQL, em vez disso, voc deve considerar usar este passo no caso de voc no pode usar SQL. Para
exemplo, quando voc quer se juntar as linhas de duas tabelas que esto disponveis no
a mesma conexo, voc provavelmente deve usar um passo de entrada de tabela e especificar o
SQL adequadas para resolver o problema.
Um caso de uso tpico para a juno de linhas (produto cartesiano) etapa quando voc quiser
criar um produto cartesiano de conjuntos de dados entre servidores de banco de dados ou fontes de
dados.
Embora voc possa configurar uma condio de juno para a juno de linhas (produto cartesiano)
etapa, voc deve considerar usar o Merge Join passo no caso de voc querer usar
complexos tipos de juno e / ou condies.
A etapa de obras, combinando os registros de todos os seus fluxos de entrada em um
registro de novo composto, que enviado para o fluxo de sada. O homem-particular
ner na qual os registros so combinados conhecido como o produto cartesiano. Para
dois fluxos de entrada, o resultado criado por sorteio a cada um dos registros provenientes
a partir do Horrio de Seqncia (0 .. 23) a etapa com todos os registros vindos de
Seqncia hora (0 .. 60) passo. O fluxo de sada resultante tem tanto uma hora
e um minuto campo, e contm 24 60 (= 1440) linhas, que juntas formam
acima de toda hora / combinaes possveis minutos, a partir das 00:00 atravs 23:59.
Para este uso particular da etapa Join linhas (produto cartesiano), apenas um
pequena quantidade de configurao necessria, mas para a integralidade, a configu-
rao de dilogo mostrada na Figura 10-9.
280 Parte III Integrao de dados e ETL
Figura 10-9: A janela de configurao da etapa Join linhas (produto cartesiano)
A associao de linhas (produto cartesiano) passo sempre pressupe que uma entrada
fluxo a''corrente''principal. Voc pode especificar esta etapa na etapa principal para ler
da propriedade. Este fluxo de unidades de''''da etapa: a etapa consome um registro
da corrente principal, e em seguida, cria registros combinao com cada um dos
registros da entrada de outras correntes. Quando todas as combinaes so criadas, a
procede passo com o prximo registro da corrente principal.
Para melhorar o desempenho, a juno de linhas (produto cartesiano) etapa usa
na memria cache para todos os fluxos de entrada, exceto o fluxo de entrada principal. A
tamanho do cache fluxo de entrada pode ser especificada definindo o nmero de
linhas para cache no mx. cache propriedade de tamanho. Se o nmero de linhas em uma
fluxo de entrada excede o tamanho de seu cache, as linhas so gravadas em um temporrio
arquivo. O padro para o mx. propriedade tamanho do cache de 500, o que excede o
nmero de registros a partir de qualquer fluxo de entrada em nossa transformao, para que
possamos
estar confiante de nenhum arquivo temporrio sero necessrios.
NOTA Os registros do fluxo principal no precisa ser armazenado em cache porque o
Junte-se linhas (produto cartesiano) passo sempre olha exatamente um registro de que
stream em qualquer momento. Por esta razo, voc sempre deve especificar o fluxo de
que contm a maioria das linhas como a etapa principal para ler. Em nosso
transformao, vamos definir o passo principal para ler a seqncia de minuto (0 .. 60)
passo nesse sentido.
Se necessrio, voc pode especificar em qual diretrio os arquivos temporrios devem ser
armazenadas, definindo a propriedade de diretrio Temp. O padro para essa propriedade
%%%% Java.io.tmpdir, O que denota o valor de uma varivel interna referente
com o padro de diretrio de arquivos temporrios Java. (Para mais informaes sobre
Captulo 10 Projeto Pentaho Data Integration Solutions 281
variveis, consulte a seo Usando variveis''''no captulo 11). Se voc gosta, voc pode
tambm especificar o prefixo para os nomes dos arquivos temporrios, o que til
principalmente para
fins de depurao.
Embora seja possvel especificar uma condio de juno para a juno de linhas
(cartesiana
etapa do produto), recomendvel usar um Merge Join etapa vez que esta permite
melhor controle sobre a condio de juno e tipo de associao.
Calcular Tempo: Mais uma vez, a etapa Calculadora
Na transformao mostrado na Figura 10-8, a calcular passo de tempo baseada
na etapa de calculadora. Ns j discutimos este tipo de passo extensivamente em
Calcular o ttulo''e formatar datas: a Etapa calculadora''no incio
neste captulo. Para completar, vamos mostrar a configurao especfica utilizada para
calcular o tempo na Figura 10-10.
Figura 10-10: Usando o passo Calculadora para calcular a hora do dia
Clculo # 4 o mais importante, como ele concatena represen-corda
taes do hora e minuto campos e converte o resultado para um campo do
Data tipo usando o formato H: m. Ao reformatar novamente, o time_key e
time_value campos so gerados, o que corresponde diretamente ao time_key
e time_value colunas na dim_time tabela.
Carregando a dimenso Demografia
A World Class Movie Database usa uma demografia mini-dimenso para
gesto da dimenso grande cliente. A transformao para carregar o
dimenso que a demografia mostrado na Figura 10-11.
282 Parte III Integrao de dados e ETL
Figura 10-11: Uma transformao para carregar a dimenso da demografia
Aqui est um resumo do que est acontecendo nessa transformao:
1. Criar dim_demography: Esta etapa Execute SQL cria o real escurecer
_demography tabela de dimenso na wcm_dwh banco de dados.
2. Criar stage_demography: Esta etapa Execute SQL cria uma estgio
_demography tabela na wcm_staging banco de dados. Ns descrevemos o efeito
desta tabela em detalhe na prxima seo.
3. Sexo e Gnero sucesso de idade, e Seqncia, idade e renda e
Seqncia de Renda: Os pares de gerar linhas e etapas Adicionar Sequncia
gerar os dados em bruto que faz os possveis valores para sexo, idade
grupo e grupo de renda, respectivamente.
4. Sexo no rtulo: Esta etapa mapper Valor converte os valores da
Sexo passo em seqncia Masculino e Feminino rtulos, que devem ser armazenados
na gnero coluna das tabelas de destino.
5. Faixa Etria e Grupo de Renda: Essas etapas Calculadora gerar o
adequados os valores limites para a idade e grupo de renda, e tambm
criar etiquetas bem legvel para identificar o grupo.
Captulo 10 Projeto Pentaho Data Integration Solutions 283
6. Combine Todos: Assim como fizemos durante o carregamento do dim_time dimenso,
usamos
Junte-se a um passo de linhas (produto cartesiano) para fazer todas as combinaes
possveis
os registros de todos os fluxos de entrada. 7. Demografia seqncia de teclas: Esta etapa Adicionar Seqncia usado para gerar
valores-chave que sero usadas para identificar as linhas da dim_demography
tabela.
8. Demografia Desconhecido: Esta etapa Gerar linhas cria uma nica linha
que pode ser usado sempre que a linha demografia adequada no pode ser
encontrado.
9. stage_demography carga e dim_demography carga: Estes Out Mesa
colocar os passos executados em paralelo para carregar os dados demogrficos a partir
da entrada
fluxos de entrada da pea Demografia Seqncia e Desconhecido
Demografia etapas.
Compreender o stage_demography e dim_demography
Tabelas
As transformaes que voc viu at agora, sempre usou uma nica tabela de destino. Este
atos de transformao em duas tabelas:
A dim_demography tabela na wcm_dwh banco de dados, que o real
demografia tabela de dimenso. Esta tabela criado no Create-dim_de
etapa mamografia e carregado na etapa dim_demography Load.
A stage_demography tabela na wcm_staging banco de dados, que serve
como uma tabela de pesquisa para procurar a chave da tabela de dimenso. Essa tabela
criado na etapa stage_demography Criar e carregado na carga
stage_demography etapa.
O motivo para exigir duas tabelas, esperamos tornar clara quando
olhar para a definio do dim_demography Dimenso da tabela. A CREATE TABLE
declarao para a dim_demography tabela mostrado na Listagem 1-10. Na listagem,
voc v que, alm da demography_key, Apenas os rtulos legveis
para o gnero,age_group e income_group so armazenados no dim_demography
tabela.
Listagem 1-10: A instruo CREATE TABLE da tabela de dimenso dim_demography
CREATE TABLE dim_demography (
demography_key SMALLINTNOT
age_groupVARCHAR (10) no
genderVARCHAR (10) no
income_groupVARCHAR (20) no
PRIMARY KEY (demography_key)
);
NULL,
NULL,
NULL,
NULL,
284 Parte III Integrao de dados e ETL
Agora, suponha que voc queira carregar clientes para o dim_customer ou
fact_customer tabelas. Em ambos os casos, voc precisa para armazenar o valor apropriado
para o demography_key como parte da linha do cliente. Mas supondo que voc tem
idade do cliente, renda e gnero, um grande desafio para usar esses
dados para a pesquisa dim_demography tabela.
Para superar nossa incapacidade de utilizar o dim_demography tabela diretamente para
procurar o demography_key, Introduzimos o stage_demography tabela na
wcm_staging banco de dados. A stage_demography tabela armazena os demography_key
e gnero rtulo, bem como os valores inteiros reais que formam o
limites das faixas etrias e de renda. A CREATE TABLE declarao para a
stage_demography tabela mostrado na Listagem 10-11.
Listagem 10-11: A instruo CREATE TABLE da tabela de dimenso dim_demography
CREATE TABLE stage_demography (
demography_keySMALLINTNOT NULL,
genderVARCHAR (10) NOT NULL,
min_age_groupSMALLINTNOT NULL,
max_age_groupSMALLINTNOT NULL,
min_income_group INTEGERNOT NULL,
max_income_group INTEGERNOT NULL,
PRIMARY KEY (demography_key),
UNIQUE (
min_age_group, max_age_group,
min_income_group, max_income_group,
gnero
)
)
Dado um valor para o sexo, renda e idade, bastante simples
procurar o demography_key no presente stage_demography tabela. Alm
exigindo um valor correspondente na gnero coluna, temos de exigir que
o valor para a idade seja igual ou maior que o valor da min_age_group
coluna, mas inferior ao valor do max_age_group coluna. Da mesma forma, o
valor de renda devem estar entre os valores na min_income_group e
max_income_group colunas, respectivamente. Iremos discutir o processo de pesquisa em
mais detalhes posteriormente neste captulo, quando descrevemos o carregamento do
dim_customer
e fact_customer tabelas.
Gerando Idade e Grupos de Renda
Os grupos de idade e renda so gerados usando um suplemento etapa Seqncia
com um valor alterado para o incremento de propriedade. O incremento definido como um
por padro. Para os grupos de gerao de renda, ns usamos um incremento de 10.000. Para
grupos de idade, usamos um incremento de 5 e um valor inicial de 15. (Classe Mundial
Filmes no alugar ou vender DVDs para os menores).
Captulo 10 Projeto Pentaho Data Integration Solutions 285
Nas etapas seguintes, calculadora, o valor utilizado para o incremento
usada para calcular o limite (exclusive) superior do grupo, tendo o
valor da seqncia se como o limite inferior (inclusive). As etapas da calculadora
tambm gerar uma etiqueta legvel para cada grupo. Por exemplo, o
grupo de renda de R $ 10.000 a $ 20.000 rotulado como R $ 10.000 - $ 20.000. Para
integralidade, a configurao da etapa de Renda Calculadora Grupo apresentada
na Figura 10-12.
Figura 10-12: Calculando e formatao de grupos de renda
Mltiplos Fluxos de entrada e sada
A transformao na Figura 10-12 mostra uma caracterstica interessante PDI. A
Demografia seqncia de teclas e as etapas Desconhecido cada uma, duas Demografia
sada de lpulo. Para essas duas etapas, a sada de lpulo so levados mesa
Sada stage_demography Carga passos e dim_demography carga, que
consequentemente, tem duas entrada de lpulo.
Voc j viu um exemplo de um passo que pode aceitar a entrada de vrios
crregos, quando cobria a associao de linhas (produto cartesiano) etapa. No entanto,
h uma diferena em relao entrada do lpulo Output Table
etapas. A natureza da associao de linhas (produto cartesiano) operao simplesmente
pressupe pelo menos dois fluxos de entrada. Um produto cartesiano de uma nica entrada
no
no faz sentido porque a operao definido pela combinao de dois dados
ou mais fluxos. Mas para a etapa de sada de mesa, um nico fluxo de entrada faz
sentido, e podemos legitimamente perguntar-nos que o significado de
um fluxo de entrada extra neste caso.
A maioria das etapas de transformao pode manipular um nico tipo de fluxo de entrada.
Mas
no h nada errado com os registros de entrada aceitar mltiplos fluxos
desde que tenham registro de layouts idnticos. Outra maneira de colocar que
para a maioria das etapas, no importa onde se originam os registros de entrada, desde
como todos tm as mesmas propriedades. A entrada lpulo simplesmente despejam seus
registros no buffer de entrada da etapa de recebimento, independentemente da origem.
286 Parte III Integrao de dados e ETL
O mesmo vale para fluxos de sada. A maioria dos tipos etapa gerar registros de sada
que todos tenham o mesmo layout. No h nenhuma razo para que todos esses registros
devem
ser enviados a um nico salto de sada. Eles poderiam muito bem ser enviado
vrios fluxos. Note que isso no totalmente simtrico em relao ao
mltiplos fluxos de entrada. No caso de mltiplos saltos de sada, h duas
diferentes maneiras de enviar os registros para fora:
Os registos podem ser copiados, o envio de todos os registros de sada para todos os de
sada de lpulo.
Isso til para enviar os mesmos dados ao longo de vrios caminhos para paralelo
transformao. Na Figura 10-11 voc pode dizer que os dados esto sendo copiados
porque este indicado pelo meio pequeno cone de cpia em todo o salto.
Os registros podem ser distribudos em forma de rodzio sobre todas sada
lpulo. Isto essencialmente as parties do fluxo de sada, o envio de apenas uma parte
de todos os registros de sada para baixo cada salto.
O mtodo de distribuio pode ser configurado atravs do menu de contexto do
etapa. No menu de contexto, localizar o submenu circulao de dados. L, escolha
quer distribuir dados para os prximos passos ou copiar dados para os prximos passos.
Na transformao mostrado na Figura 10-11, a seqncia de teclas Demografia
e as etapas Desconhecido Demografia esto configurados para copiar todos os dados para
todos
fluxos de sada. Isso faz sentido porque precisamos de todos os dados estejam disponveis
em
o data warehouse, bem como a rea de preparo.
Carregando Dados da Fonte Sistemas
At agora, ns s carregado as tabelas de dimenso com base nos dados gerados. No
entanto,
A maioria das tabelas no data warehouse so preenchidos com dados provenientes de vrios
tabelas de banco de dados em um sistema de origem e, por vezes, os sistemas de mltiplas
fontes.
Nesta seo, vamos dar uma olhada em algumas das consideraes, questes
e solues que entram em jogo quando o carregamento de dados do armazm com as tabelas
dados provenientes de sistemas de origem. Comeamos por introduzir alguns conceitos e
em seguida, continuar a descrever solues Pentaho Data Integration para carregar o Mundo
Classe armazm de dados de filmes.
Encenao valores de pesquisa
A World Class possui um banco de dados de filmes nico valor_procurado tabela que
serve como referncia para as listas de relativamente pequeno e fixo de valores pr-definidos.
Todos
Os valores que pertencem a uma lista tm o mesmo tipo de pesquisa. A lookup_type
tabela usada para armazenar o nome da tabela e da coluna para que a lista de
valores se aplica.
No projeto do data warehouse, a maioria das referncias valor_procurado
tabela de reaparecer como atributos de dimenso normalizada. Por exemplo, no
dim_promotion tabela, o promotion_type coluna carregado a partir dessas linhas
Captulo 10 Projeto Pentaho Data Integration Solutions 287
em valor_procurado que se refere ao uso do promotion_type_lookup coluna
na promoo tabela.
Os dados do valor_procurado e lookup_type tabelas quase nunca muda.
As alteraes devem ser esperadas apenas se o sistema de origem atualizado para uma
nova
verso.
Precisamos de os valores de pesquisa com tanta frequncia, e as mudanas ocorrem muito
raramente
que faz sentido para puxar todos os dados do valor_procurado mesa para
armazenamento permanente na rea de teste. Enquanto estamos aqui, ns pde apenas
como
tambm armazenar os valores para cada tipo de pesquisa em sua prpria tabela. Cada lista
individual
de valores de pesquisa ser muito pequena, o que deve fazer pesquisas e se junta como
mais rpido possvel.
O stage_lookup_data Trabalho
Para carregar os valores de pesquisa na rea de preparao, criamos um Pentaho Data
Integrao do trabalho. Criando um novo emprego muito parecido com a criao de uma
nova transformao.
Voc pode criar uma nova tarefa a partir do menu (escolhendo novo arquivo de trabalho) ou
a partir da barra de ferramentas. Alternativamente, voc pode usar Alt + Ctrl + N.
O trabalho de carregar os valores de pesquisa na rea de teste mostrado na
Figura 10-13.
Figura 10-13: Um trabalho de carregar os valores de pesquisa na rea de preparo
NOTA No captulo 9, discutimos as diferenas mais importantes entre os trabalhos
e transformaes. No vamos repetir essa discusso, mas gostaramos de salientar
vez que as transformaes e empregos podem ser parecidos, mas so tipos muito diferentes
das coisas. A principal diferena para se manter em mente que os trabalhos consistem em entradas de
emprego,
que representam a execuo de uma tarefa, enquanto as transformaes consistem
etapas de transformao que representam uma operao no registro crregos. Lpulo
entradas trabalho conectando representam uma seqncia de execuo, enquanto que o lpulo conexo
etapas de transformao representa um fluxo de registros.
Aqui est um resumo do que est acontecendo no presente
trabalho:
START-Este o ponto de entrada para execuo do trabalho.
extract_lookup_type e extract_lookup_value-By execuo dessas
transformaes, os dados so lidos a partir do valor_procurado e lookup_type
tabelas do sistema de origem e, temporariamente armazenados.
288 Parte III Integrao de dados e ETL
stage_lookup_data-Este transformao l os dados do tem-
armazenamento temporrio e carrega-lo para as tabelas na rea de teste.
Mail Failure Sucesso e-mail Estes entradas de emprego enviar uma notificao
mensagens de e-mail para informar se o trabalho de falha ou sucesso.
As inscries de trabalho esto ligados uns aos outros com lpulo. O verde lpulo
(Que servem para ligar as cinco entradas de emprego ao longo da fileira de cima) indicam o
normal
caminho de execuo: se uma entrada de trabalho concludo com sucesso, a execuo
reiniciada s
a entrada de trabalho encontrada na outra extremidade da sada hop verde. Na Figura 10-13,
o caminho de execuo normal, forma uma seqncia de entradas de trabalho que comea na
entrada de trabalho rotulado como Iniciar e termina com a entrada de trabalho marcado Mail
Sucesso.
Todas as entradas, mas primeiro emprego e por ltimo tambm tem um segundo, de cor
vermelha de sada
hop para a entrada de trabalho marcado Falha Mail. O vermelho lpulo indicar um erro
execuo do caminho. O caminho de execuo de erro inserida sempre que uma entrada de
trabalho no
No possvel executar com xito. Se uma entrada de trabalho no tem um salto de erro de
sada,
execuo sem xito de que a entrada no trabalho far com que o trabalho como um todo a ser
abortada com erro.
Voc pode alterar as propriedades de um salto com o boto direito do mouse e escolha de
um
ao a partir do menu de contexto. Para modificar se o salto ser seguido
em caso de sucesso ou fracasso, escolha a opo apropriada na avaliao
submenu. Isso tambm mostrado na Figura 10-13.
A entrada do incio do trabalho
A entrada do incio do trabalho uma entrada especial de trabalho que denota o ponto de
entrada de um
emprego. Esta entrada de emprego encontra-se na categoria Geral, e seu cone um verde
seta (ver figura 4-13).
Este tipo de passo pode ter apenas um salto de sada que incondicionalmente
seguido. incio da execuo do trabalho com a entrada de trabalho encontradas na outra
extremidade
do hip sada da entrada do incio do trabalho. Todo trabalho deve ter exatamente um
entrada de trabalho deste tipo.
A janela de configurao da entrada do incio do trabalho contm uma srie de opes
para agendar a execuo do trabalho. Detalhes sobre a programao de trabalho so
discutidos em
Captulo 14.
Job Entradas Transformao
O trabalho extract_lookup_type entradas, extract_lookup_value e stage_lookup
_data so todos Emprego entradas Transformao. Este tipo de entrada de trabalho
encontrado no
Geral da categoria. O cone (visvel na Figura 10-13) mostra quatro setas que visa
um ponto central.
Na janela de configurao, o arquivo de transformao que est a ser executado
pode ser especificado no campo Nome da Transformao. Alternativamente, se voc
estiver conectado a um repositrio, voc pode usar o nome de Transformao e
campos Repositrio Directory para especificar uma transformao armazenados no
repositrio.
Captulo 10 Projeto Pentaho Data Integration Solutions 289
(Usando o repositrio coberto extensivamente no Captulo 11.) Em ambos os casos, uma
boto est disponvel direita para procurar transformaes. Para rapidamente
aberta a transformao especificada, boto direito do mouse e escolha a etapa do Open
opo de transformao.
Figura 10-14 mostra a janela de configurao da entrada de emprego Transformao
rotulados extract_lookup_type.
Figura 10-14: A transformao do emprego de dilogo configurao de entrada
Na Figura 10-14 o nome da transformao de arquivo especificado como $ {Interno
. Job.Filename.Directory} / extract_lookup_type.ktr. Isto denota o arquivo
extract_lookup_type.ktr que residem no mesmo diretrio que o arquivo de trabalho
prpria, conforme explicado em detalhe no Captulo 11.
A janela de configurao contm muitos mais imveis que poderiam ser
configurada. Voc vai encontrar alguns deles mais tarde neste captulo.
Mail Failure Sucesso e-mail
Na Figura 10-13, as entradas de emprego rotulados Mail sucesso eo fracasso so do Correio
o tipo de correio, indicado por um cone de envelope. Isto pode ser encontrado no Correio
categoria.
A entrada de emprego Mail projetado para enviar uma mensagem de e-mail com o Sim-
ple Mail Transfer Protocol (SMTP). Seu objetivo principal fornecer informaes bsicas
notificao de status do trabalho de execuo (fracasso, sucesso, ou o progresso).
290 Parte III Integrao de dados e ETL
Configurao da etapa e-mail no particularmente difcil, embora o nme-
mero de opes de configurao pode ser um pouco assustador no comeo. A configurao
dilogo contm quatro pginas guia. Na pgina endereos, mostrado na Figura 10-15,
voc deve especificar pelo menos um endereo de e-mail vlido no endereo de destino
propriedade. Opcionalmente voc tambm pode configurar endereos de CC e BCC. Em adi-
o para o endereo de destino, o nome do remetente e as propriedades endereo do
remetente
so obrigados pelo protocolo SMTP e deve ser especificado. Voc pode opcionalmente
especificar um Endereo de resposta e alguns dados adicionais de contato, como o
nome e nmero de telefone da pessoa de contato. Para o sucesso tpica / insucesso
notificaes, seria enviar notificaes para o suporte de TI, pessoal e especificar
detalhes de um membro da equipe de integrao de dados como o remetente. Figura 10-15
mostra a ficha de endereos.
Figura 10-15: A ficha de endereos na janela de configurao da entrada de emprego Mail
Voc deve especificar os detalhes do servidor SMTP na pgina do guia Servidor
mostrados na Figura 10-16.
Voc obrigado a fornecer, pelo menos o nome do host ou endereo IP do
seu servidor SMTP. Opcionalmente, voc pode fornecer a porta para usar. Por padro,
a porta 25 (padro SMTP) usado. Na maioria dos casos, servidores SMTP requerem
autenticao de usurio. Para habilitar a autenticao, verifique a autenticao de Uso
caixa e fornecer o nome de usurio e senha na autenticao
usurio e campos de senha de autenticao, respectivamente. Mais e mais frequentemente,
servidores SMTP requerem autenticao segura atravs de um protocolo, como SSL
(Secure Sockets Layer) ou TLS (Transport Layer Security). Voc pode especificar
autenticao segura, selecionando a opo Usar autenticao segura e
escolher o protocolo apropriado na caixa de listagem Secure tipo de conexo. Nota
Captulo 10 Projeto Pentaho Data Integration Solutions 291
que a comunicao de rede para um protocolo de autenticao segura em geral
emprega uma outra porta. Para SSL, a porta padro 465. Contate seu local
administrador da rede ou do sistema para obter esses dados.
Figura 10-16: A pgina da guia Servidor na janela de configurao da entrada de emprego Mail
Voc pode especificar o contedo real da mensagem na guia Mensagem de e-mail. Este
ficha de registro mostrado na Figura 10-17.
Figura 10-17: O Email Mensagem guia na janela de configurao da entrada de emprego Mail
292 Parte III Integrao de dados e ETL
O assunto da mensagem eo corpo esto especificados no assunto e comentar
propriedades, respectivamente. Voc pode usar livremente o texto e incluir referncias
varivel
para essas propriedades. Por padro, o PDI inclui um breve relatrio da situao da
transformao no corpo da mensagem, logo aps o contedo fornecido no
Comentrio propriedade. Para evitar que esse relatrio de status de ser includa, selecione
Apenas envie o comentrio na caixa de correio do corpo. Opcionalmente, voc pode
selecionar
Use o formato HTML no corpo da mensagem a enviar em formato HTML e-mail. Alguns e-mail
os clientes usam cabealhos prioridade da mensagem. Se quiser, voc pode selecionar o
Gerenciar
opo de prioridade para permitir isso. Quando esta estiver ativada, voc pode definir a
prioridade
Importncia e propriedades.
O extract_lookup_type e extract_lookup_value
Transformaes
O objetivo da extract_lookup_type e extract_lookup_value trans-
formaes recuperar os dados do lookup_type e valor_procurado
tabelas do sistema de origem. O design de ambas essas transformaes
extremamente simples: um passo de entrada tabela executa um SQL SELECT declarao
sobre a
respectiva tabela. O fluxo de sada da etapa de entrada da tabela liderada imediatamente
a uma etapa da produo de texto de arquivo que grava os dados em arquivo. Figura 10-18
mostra a
concepo do extract_lookup_type transformao.
Figura 10-18: O projeto da transformao extract_lookup_type
O objetivo dessas transformaes extrair os dados to rapidamente quanto
possvel a partir da base de dados mundial de filmes de classe. Embora seja possvel
tem a loja de transformao dos dados diretamente no wcm_staging banco de dados,
ns preferimos descarregar os dados em um arquivo de texto, porque esta mais rpido.
Pode-se
argumentam que, para estas quantidades de dados, escrevendo diretamente para uma tabela
no estadiamento
rea deve ainda oferecer bom desempenho. Isso pode ser verdade, mas escrever
desempenho no a principal preocupao desta extrao. A quantidade de tempo
precisamos de ocupar o sistema de origem a principal preocupao, que por isso que ns
optar pela soluo mais rpida possvel.
NOTA Neste projeto, os dados so puxados atravs da rede e armazenados em um arquivo no
o sistema de arquivos do host rea de preparo. Isto pode no ser a melhor soluo quando
lidar com grandes volumes de dados. Se h um risco de congestionamento da rede, pode ser
melhor para descarregar os dados para um arquivo no sistema do sistema de origem do arquivo e
compactar
o arquivo antes de transferir para a rea de preparo de host.
Este um trade-off: A compresso aumenta a carga da CPU no sistema de origem. Em
Alm disso, este cenrio aumenta a complexidade da implantao da integrao de dados
Captulo 10 Projeto Pentaho Data Integration Solutions 293
soluo, porque ela torna-se distribuda. No entanto, bom saber que voc pode
faz-lo. Ferramentas para distribuir solues Pentaho Data Integration so discutidos em
Captulo 11.
A Transformao stage_lookup_data
O objetivo da stage_lookup_data transformao para carregar a pesquisa
dados em tabelas no wcm_staging banco de dados. A transformao mostrado
na Figura 10-19.
Figura 10-19: A transformao stage_lookup_data
Aqui est um resumo do que est acontecendo nessa transformao:
1. Extrato lookup_type e Extrato valor_procurado: Estes arquivos de entrada de texto
etapas analisar os arquivos de texto criado pelo extract_lookup_type e
transformaes extract_lookup_value em um fluxo de registros.
2. Calcule table_name: Esta etapa calculadora utiliza os dados da
Extrato lookup_type para gerar um nome de tabela para a tabela de teste.
O nome da tabela adicionada ao fluxo de sada no table_name de campo.
3. Verifique se o preparo tabela existe, as linhas de filtro, e as etapas existe tabela de
preparao:
Verifique se o preparo Tabela etapa existe usa o table_name campo para ver
se a tabela de teste existe. O resultado da seleo alimentado no filtro
linhas etapa. Se a tabela de teste existe, a execuo continua diretamente com o
Encenao etapa existe tabela. Caso contrrio, a transformao faz um desvio
e continua com a etapa Criar tabela de preparao. Este um Execute SQL
passo que ir criar a tabela de teste de destino, e depois continua na
Encenao etapa existe tabela.
4. Stream de Pesquisa e Ordenao de etapas de pesquisa Tipo: O Stream etapa de
pesquisa
junta-se, essencialmente, os fluxos de dados provenientes das duas etapas de entrada de
arquivo de texto
com base no lookup_type_id campo, que est presente em ambos os extratos.
Isso adiciona o table_name campo para cada uma das linhas de entrada do
Extrato valor_procurado. A Ordem de pesquisa tipo necessrio para o
294 Parte III Integrao de dados e ETL
operao correta da etapa de pesquisa de fluxo, que assume o principal
fluxo de dados (o que vem a partir do extrato valor_procurado) classificada
valor de chave.
5. Guarde o estadiamento Table: Tabela insere sada etapa os valores de pesquisa
na tabela de preparao adequado especificado pela table_name de campo.
Ns j discutimos a entrada de arquivo de texto, calculadora, e as etapas de sada de mesa
das sees anteriormente neste captulo e no anterior. Vamos agora brevemente
discutir os passos que ns no encontramos antes.
Verificar se existe tabela de preparao: a tabela existe Etapa
Na Figura 10-19, a etapa rotulada Verificar se tabela existe Staging da Mesa
Existe tipo. Esta etapa encontrado debaixo da categoria Pesquisa e seu cone um
tambor com uma marca de seleo.
Como est implcito pelo seu nome, a Mesa etapa pode verificar se existe uma tabela
acessvel
sobre a conexo com o banco especificado. A janela de configurao da tabela
Existe passo mostrado na Figura 10-20.
Figura 10-20: A janela de configurao do passo existe tabela
A conexo de banco de dados especificado pela propriedade Connection. O valor
para a propriedade denominada campo TableName o nome do campo na entrada
fluxo que transmite o nome da tabela. Neste caso, o campo chamado table_name
e se origina na etapa table_name Calcular. A propriedade fieldname Resultado
usado para especificar o nome do campo que conter o resultado da verificao.
Este campo Boolean adicionada ao fluxo de sada da etapa.
O Filtro de Passo linhas
O filtro de passo linhas usado para escolher adequadamente entre duas alternativas
caminhos de acordo com o resultado da etapa de Existe tabela. O Filtro de linhas o passo
encontradas na categoria Transformao e seu cone um funil (ver Figura 10-19).
O filtro de passo linhas fornece funcionalidade If-Then-Else base. A configura-
rao da primeira etapa mostrado na Figura 10-21.
Captulo 10 Projeto Pentaho Data Integration Solutions 295
Figura 10-21: A configurao da etapa Filtrar linhas
Na etapa Filtrar linhas, voc pode especificar uma condio, adicionando uma ou mais
comparaes. Na Figura 10-21, a apenas uma comparao adicionado, que verifica se
o valor da table_exists campo (que se originou a partir da tabela existe
etapa) igual constante booleana Y.
NOTA Em Pentaho Data Integration, valores booleanos so representados usando o
constantes da cadeia Ye Npara verdadeiro e falso, respectivamente.
Se necessrio, comparaes mltiplas pode ser combinada com a lgica habitual
operadores. Para adicionar mais de uma comparao, clique no cone de adio na
parte superior direita da rea do estado. Voc pode clicar no recm-adicionada
comparao com a edit-lo e escolher um operador lgico, como E ou OU combinar
as comparaes.
O filtro de passo deve ter duas linhas de sada de lpulo. As etapas na outra extremidade
da sada de lpulo pode ser selecionado no drop-down list caixas para configurar
ramificao. Enviar a 'verdadeira' de dados para a etapa ser executada no caso, a condio
avalia para TRUE, e Enviar "falso" dados para a etapa ser executada em contrrio.
Neste exemplo, optamos por continuar com a etapa Criar tabela de teste no
caso, o table_exists campo FALSE.
Criar Staging Quadro: Execuo de SQL dinmico
A etapa de teste Criar tabela do tipo Executar SQL. Ns descrevemos este
tipo de passo, anteriormente neste captulo, na seo''CREATE TABLE dim_date:
Utilizando o Execute''Passo SQL Script.
At agora, todas as transformaes que temos discutido usado o SQL Execute
passo para criar a tabela de destino, e essa transformao no excepo. No
No entanto, uma diferena importante na forma como essa etapa faz parte do
transformao. Em todas as transformaes anteriores, a etapa de execuo do SQL
apareceu
separado do restante da transformao, uma vez que no estava ligado a
qualquer das outras etapas. Nessa transformao, a etapa de execuo do SQL parte do
o fluxo de dados, e tem um salto de entrada e sada como as outras etapas.
296 Parte III Integrao de dados e ETL
Na transformao mostrado na Figura 10-18, o script SQL dinmico
e parametrizado com dados de fluxo de entrada. Para ser mais especfico, o SQL
script um modelo para um CREATE TABLE declarao que contm um espao reservado para
o nome da tabela. O espao reservado indicado com um ponto de interrogao. O SQL
modelo de declarao mostrado na Listagem 10-12.
Listagem 10-12: Um modelo de declarao de CREATE TABLE com espao reservado para nome de tabela
CREATE TABLE? (
lookup_value_idINT
, Lookup_textVARCHAR (50)
, Lookup_type_idINT
, Lookup_type_table_name VARCHAR (64)
, Lookup_type_column_name VARCHAR (64)
, PRIMARY KEY (lookup_value_id)
, UNIQUE (lookup_text)
)
A configurao da etapa Criar Tabela Staging mostrado na Figura 10-22.
Na janela de configurao, a execuo de cada opo de linha est selecionado.
Isso permite que o script SQL a ser executada para cada linha de chegada por meio de
o fluxo de entrada e no apenas uma vez na fase de inicializao do
transformao. Alm disso, o table_name campo especificado nos parmetros
grade. Ao manusear uma linha do fluxo de entrada, o espao reservado (s) em
o script SQL so substitudos com o valor do (s) domnio (s) especificado
na grade. O resultado CREATE TABLE instruo executada, a criao de um
nova tabela.
O Passo do manequim
A encenao da tabela etapa existe um passo Dummy. A etapa Dummy pode ser
encontradas na categoria transformao e seu cone (visvel na Figura 10-19) uma
cabea de manequim.
A etapa Dummy passa os dados da sua fluxos de entrada para sua sada
fluxo (s) e no fazer nada. Apesar de no representar uma verdadeira pera-
o, til para juntar e dividir recorde crregos. Isso merece alguma
explicao.
Quando discutimos a transformao para o carregamento dos dim_demography
dimenso, que explicou que a maioria das etapas pode ter vrias entradas e
registros de fluxos de sada do mesmo tipo, porque o tipo de operao por-
formado pela etapa no influenciada pela origem ou destino dos registros.
Mas alguns passos so projetados para operar em mltiplos fluxos de entrada diferentes,
e alguns passos de gerar mltiplos fluxos de sada diferente. Muitas vezes, isso implica
Captulo 10 Projeto Pentaho Data Integration Solutions 297
as correntes podem ter layouts registro diferente, mas a caracterstica definidora
que o passo projetado para conectar um significado diferente para diferentes correntes.
Figura 10-22: Configurando o SQL Execute passo para aceitar um parmetro e executar uma vez
para cada linha
Por exemplo, na transformao mostrada na Figura 10-19, o filtro passo linhas
gera dois fluxos de sada com uma semntica diferente: o ramo 'verdadeiro' e
o ramo 'falso'. Como voc vai aprender em detalhes na prxima subseo, o Stream
Busca aceita duas entradas diferentes correntes, ou seja, um fluxo de dados principal e
uma pesquisa de fluxo. Olhe novamente a Figura 10-19. Observe as informaes''pequena''
(I) a meio caminho cone abaixo do salto, saindo da etapa Dummy para o crrego
etapa de pesquisa. Este cone indica que este realmente um fluxo de entrada especial,
que considerado a ter um papel distinto do fluxo de entrada principal.
Quando isso acontece, os dois ramos que saem das linhas de filtro passo juntos
formam a fonte dos dados de pesquisa para a etapa de pesquisa Stream. Assim, a fim de
permitir que o fluxo passo Pesquisa para usar todos os dados de ambos os ramos, que tm
ser reunidos de alguma forma os dados podem ser tratadas como um nico fluxo
novamente. Este o lugar onde o passo Dummy entra em jogo. Liderando as duas correntes
para a etapa do manequim o equivalente funcional de um SQL UNIO operao.
A Corrente Pesquisa Etapa
O Stream etapa de pesquisa encontra-se na categoria Pesquisa e seu cone um
lupa.
298 Parte III Integrao de dados e ETL
O Stream etapa de pesquisa aceita duas entradas diferentes fluxos. Um fluxo
considerado o principal fluxo, eo fluxo de outro a pesquisa de fluxo.
A etapa de obras, observando-se um registro da pesquisa de fluxo para cada linha
no fluxo principal com base no resultado de uma comparao de valores de campo. Para
o correcto funcionamento desta etapa, os registros da principal corrente deve ser
classificadas de acordo com os campos que so usados para fazer a pesquisa. A
configurao
para o fluxo de pesquisa utilizado na transformao para carregar os valores de pesquisa
na rea de teste mostrado na Figura 10-23.
Figura 10-23: A configurao da etapa de pesquisa Stream
Usando a lista de Passo pesquisa drop-down, voc pode selecionar quais passo fornece
a pesquisa de fluxo de entrada. Ao clicar no boto Get Fields, voc pode preencher o
chave (s) para procurar o valor da (s) grelha. Na coluna Campo dessa rede, voc pode
especificar os campos do fluxo principal. Na coluna LOOKUPFIELD, voc pode
especificar os campos correspondentes da pesquisa de fluxo. Com o Get pesquisa
boto de campos, voc pode encher a especificar os campos a recuperar grade. Isso
preenche a grelha
com todos os campos da pesquisa de fluxo. Campos nesta rede ser adicionada
fluxo de entrada para gerar o fluxo de sada. As caixas abaixo desta rede
podem ser utilizados para otimizar o algoritmo de pesquisa. A seleo Preservar a memria
opo garante que as linhas do fluxo de pesquisa sero compactados.
Isso reduz os requisitos de memria para a etapa, mas vai exigir mais
ciclos de CPU para comprimir (e descompactar) os dados.
A chave e valor so exatamente uma caixa campo inteiro pode ser ativado
no caso, a chave que liga o rio principal eo fluxo de pesquisa consiste em
um campo Integer nica e apenas um campo inteiro obtido a partir da pesquisa
Captulo 10 Projeto Pentaho Data Integration Solutions 299
crrego. Esta caixa permite uma otimizao que permite a pesquisa de dados para
ser armazenados de forma mais eficiente, o que economiza memria e aumenta o
desempenho. Se
o tamanho de registro dos registros de pesquisa grande, voc pode ativar o uso classificado
caixa de lista para economizar memria.
Classificar em Lookup Type: o tipo Etapa Linhas
Na Figura 10-19, a Ordem de pesquisa do tipo degrau do tipo passo Classificar linhas. Este
passo encontrada na categoria de Transformao. Voc pode ver a correspondente
cone na Figura 10-19.
Esta etapa demora um fluxo de entrada no triados e cria um fluxo de sada ordenada
baseado na especificao de um conjunto de campos. Opcionalmente, voc pode especificar
que
apenas nico (com base em valores de chave) linhas devem ser passados para o fluxo de
sada.
A janela de configurao mostrado na Figura 10-24.
Figura 10-24: A janela de configurao do passo Classificar linhas
Voc pode rapidamente preencher a grade de Campos utilizando o boto Get Campos. Se
desejar,
voc pode configurar o sentido de ordenao (ascendente ou descendente). Para campos
do tipo String, voc pode especificar se a honrar ou ignorar as diferenas de
letras maisculas.
Pentaho Data Integration tenta realizar uma espcie de memria. Por padro,
5.000 linhas podem ser ordenadas na memria. Alm de 5.000 linhas, o algoritmo escreve
resultados de classificao intermediria para arquivos temporrios para economizar memria.
Se voc quiser
classificar mais de 5.000 linhas e voc sabe que o jogo vai caber na memria, voc pode
definir o tamanho da propriedade Sort para o nmero mximo de linhas que voc deseja
classificar.
Voc tambm pode usar o limite de memria livre (em%) propriedade para controlar
uso de memria. Aqui voc pode especificar a quantidade de memria que sero
usados para classificar as linhas antes de armazen-classificados para um arquivo temporrio.
A quantidade de
memria est especificada como uma porcentagem da quantidade total de memria disponvel
para a mquina virtual Java.
300 Parte III Integrao de dados e ETL
Voc pode configurar o local onde os arquivos temporrios so escritos por especificar-
o da propriedade do diretrio de classificao. Voc tambm pode especificar o prefixo
TMP-arquivo, que
ser usado para prefixar os nomes dos arquivos temporrios escrito por esta etapa.
Isso til principalmente para fins de depurao. Se voc achar que o temporrio
arquivos esto crescendo muito grande, voc poderia considerar selecionando o TMP
Compress
Arquivos de caixa. Isso pode ajudar a economizar espao em disco e, potencialmente,
aumentar a per-
desempenho (devido reduo de I / O). Compresso viro a um custo de aumento
Carga da CPU.
Guarde o estadiamento da tabela: Utilizar uma etapa de sada de mesa para carregar
Vrias tabelas
A etapa final da transformao mostrado na Figura 10-19 uma mesa de sada
etapa. Ns discutimos este tipo de passo em detalhes na subseo''Load
dim_date: A etapa de sada de mesa''no incio deste captulo.
Em todas as transformaes descritas anteriormente, foi utilizada a tabela para a etapa de
sada
inserir dados em uma nica tabela de destino. Neste caso, usamos o passo para carregar
mltiplas tabelas de destino. Isso configurado selecionando o o nome da
tabela definida em uma caixa de campo e especificando o table_name campo na
Campo que contm o nome da propriedade da tabela.
A Dimenso Promoo
Esta seo demonstra como carregar o dim_promotion Dimenso da tabela.
Este processo relativamente simples para um nmero de razes:
A tabela de dimenso muito pequena: ele no contm muitas colunas, nem
ela contm muitas linhas.
Promoes so estticos e no mudam ao longo do tempo. Portanto, ns no
necessidade de acompanhar uma histria de promoo. Isso simplifica o carregamento
processo consideravelmente.
Promoes esto em vigor por um perodo fixo de tempo. Isto torna mais fcil
captar as variaes dos dados.
No caso de Classe Mundial Filmes, a promoo mapas tabela de dimenso
somente a tabelas de origem poucos que esto disponveis no mesmo sistema.
Ao desenvolver um plano para carregar uma tabela de dimenso, as seguintes conside-
es entram em jogo:
Mapeamento-In quais tabelas e colunas do sistema de origem que o
dados de dimenso originou? Como essas tabelas relacionadas entre si?
O mapeamento deve ser previamente conhecidos como um produto secundrio da
dados de projeto do armazm. No entanto, o desenvolvedor de integrao de dados
pode
no ter sido envolvido no processo de design de banco de dados, necessitando de um
reviso do mapeamento pretendido.
Captulo 10 Projeto Pentaho Data Integration Solutions 301
As alteraes de dados, que tipo de mudanas que voc espera ver na fonte
tabelas, e que mudanas devem ser refletidas nos dados de dimenso?
Quantas mudanas voc espera estar lidando com, e quais so as
Estima volumes de dados?
Sincronizao-How Com que freqncia voc deseja sincronizar os dados em
a tabela de dimenso com o sistema de origem? Como isso se relaciona com o
disponibilidade real do sistema de origem e data warehouse?
Responder a estas perguntas no oferecer uma soluo pronta, mas
isso no ajudar voc a ganhar uma compreenso do problema. Essa sub-
em p um pr-requisito para o desenvolvimento de uma soluo que possa satisfazer as
requisitos do projeto de data warehouse.
Promoo de mapeamentos
Voc pode encontrar detalhes sobre os mapeamentos para o dim_promotion tabela
Captulo 8. Para o dim_promotion tabela, voc v que existem trs fontes de
tabelas:
promoo -Este quadro constitui a principal fonte de dados para o escurecer
_promotion dimenso. Para cada linha da promoo tabela, haver
exatamente uma linha na dim_promotion tabela.
site -No sistema de origem, o promoo tabela tem uma chave estrangeira para
o site tabela para apontar o site que apresenta a promoo.
No entanto, no armazm de dados, atributos descritivos do site
tabela so dobrados no dim_promotion tabela, que um exemplo de
desnormalizao.
valor_procurado -Isso muito similar ao site quadro: a promoo tabela
tem uma chave estrangeira para a tabela para apontar o tipo de promoo, e os
descrio textual do tipo dobrado diretamente no de-normalizados
dim_promotion tabela.
Dados Alteraes Promoo
Agora que est claro qual a tabela que ser o carregamento de dados, devemos
analisar que tipo de alteraes de dados (incluses, alteraes, remoes) ser
afeta a dimenso da promoo. Devemos tambm estimar as alteraes quantas
esperamos ver ao longo do tempo, e que os volumes de dados esto envolvidos.
Para o promoo tabela, ns esperamos ver principalmente as adies. O volume de
mudanas deve ser bastante baixa: mesmo se assumirmos uma nova promoo
iniciado em cada site Filmes Classe Mundial em uma base diria, ns
ainda estar lidando com apenas 1.500 linhas por ano.
Tambm devemos esperar algumas atualizaes sobre promoes existentes. No
improvvel que uma promoo de sucesso pode ser estendida para durar mais
302 Parte III Integrao de dados e ETL
originalmente planejado. Mesmo se pode descartar essa possibilidade, ainda devemos
levar em conta a possibilidade de que um erro entrou na fonte
sistema seja corrigido posteriormente. Por exemplo, se uma data errada termina
acidentalmente foi especificado na criao da promoo, provvel que
o erro ser corrigido mais tarde, actualizando a data de trmino. Outro
possibilidade que uma linha de divulgar errado pode ser substituda por uma correta
um, ou at mesmo removido.
Apesar de todos esses cenrios, ns esperamos ver um certo nvel de estabilidade.
Por exemplo, ns no esperamos uma promoo que j terminou a
mudar ou ser removido. Alm disso, parece razovel supor que o
data de incio das promoes que j comearam permanece fixo e
que essas promoes no so subitamente removidas. claro que, se ns
pode fazer essas hipteses de que o negcio eo sistema de origem,
mas estes so os pressupostos que far para a Classe Mundial Filmes
banco de dados.
Para a tabela site, esperamos ver um nmero muito pequeno de linhas de
todos os tempos. Durante um perodo de um ano ou assim, um novo site pode ser
acrescentado.
Modificaes de linhas j existentes poderia ocorrer em uma base muito raras devido
a eventuais alteraes no ttulo do site, e talvez a URI.
Assumimos os dados da pesquisa de permanecer esttico em todos os momentos. Ns
esperamos muito
algumas linhas aqui.
Sincronizao de Freqncia
Acontea o que acontecer, voc deve sempre assegurar que as promoes que ocorreram em
o passado, bem como promoes que esto atualmente ativos so carregados no
Dimenso da tabela. Se voc no fizer isso, voc no ser capaz de carregar as tabelas de
fatos
como fact_customer e fact_order porque no pode ser capaz de pesquisa
a chave para dim_promotion Dimenso da tabela.
Considerando que as promoes podem ser adicionados ou corrigidos durante cada
dia de trabalho, parece sensato para garantir que as promoes so carregados diariamente
base.
O load_dim_promotion Trabalho
Ns criamos um trabalho chamado load_dim_promotion para carregar a dimenso da
promoo.
mostrado na Figura 10-25.
O trabalho consiste de duas transformaes principais:
extract_promotion Isola- e extrai o conjunto de promoes a partir do
tabela da promoo no sistema de origem que pode ter mudado desde a
ltimo carregamento.
load_dim_promotion -Na verdade carrega os dados para o dim_promotion
tabela de dimenso do data warehouse.
Captulo 10 Projeto Pentaho Data Integration Solutions 303
Figura 10-25: O trabalho load_dim_promotion
Como no trabalho de carregar a tabelas de pesquisa, usamos as entradas de emprego Mail
para
fins de notificao.
A Transformao extract_promotion
A transformao extract_promotion a primeira transformao na carga
_dim_promotion trabalho. Sua finalidade extrair essas linhas de promoo
o sistema de origem que pode ter mudado desde a ltima vez que carreguei o
dim_promotion dimenso. A transformao mostrado extract_promotion
na Figura 10-26.
Figura 10-26: Extrao de dados de promoo com a transformao extract_promotion
304 Parte III Integrao de dados e ETL
A transformao de obras como esta:
1. Contagem dim_promotion: Esta etapa de entrada de mesa rende uma nica linha com
um
coluna que contm a contagem do nmero de linhas na dim_promotion
tabela. Este utilizado mais tarde para determinar se uma carga inicial deve ser
realizada.
2. Calcule a data de carga de stage_promotion: Esta etapa de entrada de tabela calcula
um valor para promotion_start_date que pode ser usado para selecionar todas as
promoes
linhas do sistema de origem que pode ter mudado desde a ltima vez
ns sincronizados a tabela dim_promotion.
3. Junte-se a linhas: Isto usado para criar um nico registro da entrada de dados criado
pelas duas etapas anteriores.
4. Verifique promotion_empty dim: Este filtro passo linhas utiliza a contagem de
dim_promotion para determinar se preciso fazer uma inicial ou um regular
carga.
5. Menor data de carga correspondente ea data da carga inicial: Uma dessas datas
escolhidos para determinar o conjunto de linhas que sero obtidos a partir da fonte
do sistema.
6. Selecione data de incio da promoo: Descarta qualquer campos desnecessrios do
crrego, a fim de ser capaz de passar um nico parmetro para o extrato
promoo etapa dados.
7. O extrato de promoo etapa dados realmente extrai os dados do
tabela da promoo no sistema de origem.
8. A promoo da loja extrato etapa grava os dados extrados promoo
do sistema de origem para um arquivo para processamento posterior.
Determinar as alteraes nos dados de Promoo
Para determinar quais linhas para extrair, raciocina do seguinte modo:
Se o dim_promotion tabela est vazia, ento estamos lidando com uma inicial
carga, e temos de extrair todo o conjunto de promoes a partir da fonte
do sistema.
Se o dim_promotion tabela no estiver vazia, ela ser preenchida por dois tipos de
registros promoo:''''promoes activas, ou seja, os registros para os quais a
promotion_end_date reside no futuro e''acabado''promoes, os
promoes para os quais a promotion_end_date est no passado.
Para manter o controle de alterar os registros de promoo, ns apresentamos uma tabela
de preparao
chamada stage_promotion. Para executar cada transformao, que ir carregar as linhas
a partir do extrato e armazen-los aqui. Manter esses dados nas tabelas de preparo
permite rastrear todas as alteraes na tabela de dimenso com a fonte,
Captulo 10 Projeto Pentaho Data Integration Solutions 305
que uma grande ajuda na soluo de problemas. A CREATE TABLE declarao para a
stage_promotion tabela mostrado na Listagem 10-13.
Listagem 10-13: A instruo CREATE TABLE para a tabela stage_promotion
CREATE TABLE wcm_staging.stage_promotion (
promotion_idSMALLINTNOT NULL,
website_idSMALLINTNOT NULL,
promotion_titleVARCHAR (50) NOT NULL,
promotion_type_lookup SMALLINTNOT NULL,
promotion_start_date DATENOT NULL,
promotion_end_dateDATENOT NULL,
extract_filenameVARCHAR (255) NOT NULL,
extract_linenumberINTEGERNOT NULL,
load_timestampTIMESTAMPNOT NULL
DEFAULT CURRENT_TIMESTAMP
);
Observe que a estrutura desta tabela muito parecida com a do original promoo
tabela. A diferena que esta tabela tem trs colunas extra:
Extrair nome de arquivo -O nome do arquivo usado para carregar os dados novamente.
linenumber Extrato -Isto usado para armazenar o linenumber no extrato.
Isto torna mais fcil de carregar uma parte do extrato deve precisamos
faz-lo no futuro.
Load_timestamp -Um timestamp gerado automaticamente.
Listagem 10-14 mostra o SQL usado para determinar a data de carga.
Listagem 10-14: Usando SQL para determinar promoes que podem ter sido alterados
SELECT MIN (promotion_start_date) data_inicial
FROMstage_promotion
ONDE promotion_end_date> load_timestamp
O corao da consulta mostrada na Listagem 14/10 formado pelas ONDE
condio. Todas as linhas que tm uma data maior que a data final de carga ltima pode
mudaram entretanto, por isso devemos trat-los.
Agora considere o que aconteceria se o stage_promotion tabela est vazia.
Bem, ele iria retornar um valor NULL. Agora considere o que acontece no caso
Rodamos o direito de consulta depois que terminar de carregar a dim_promotion e
stage_promotion tabelas. Neste caso, estamos up-to-date para o momento e
A consulta tambm retorna zero linhas.
Porque no podemos distinguir facilmente entre esses dois casos de zero
linhas, ns explicitamente verificar se a tabela de dimenso est vazio. Isso feito
306 Parte III Integrao de dados e ETL
usando um simples SELECT COUNT (*) . . . script. Se o resultado for zero, pode ser
certeza de que nada foi carregado, e usamos 1900-01-01. Caso contrrio, use a data
determinado pelo script mostrado na Listagem de 10-14, e us-lo como parmetro para
a etapa de extrao atual. Figura 10-27 mostra como o campo de data utilizado como um
parmetro.
Figura 10-27: Usando a data como parmetro para uma entrada em degrau Tabela
Conforme mostrado na Figura 10-27, um ponto de interrogao usado na instruo SQL
onde o valor deve ser inserido. Alm disso, os dados da lista Inserir etapa
caixa deve ser usado para apontar exatamente quais dados passo ser recebido.
Salvando o extrato e passando sobre o nome do arquivo
As linhas extrados so salvos no disco usando um simples texto etapa arquivo de sada.
Para obter um melhor controle sobre a extrao e conseguir uma melhor manutenibilidade
do trabalho como um todo, ns usamos alguns recursos PDI para trabalhar com arquivos. A
configurao da etapa de produo de texto do arquivo mostrado na Figura 10-28.
Note-se que foram selecionados a data Incluir no nome do arquivo e incluir o tempo em
Nome caixas. Isto assegura que teremos nomes bastante originais para
extratos. Tambm escolhemos os nomes Adicionar ao resultado checkbox. Isso permite que
o nome do arquivo a ser passado entre dois ou mais transformaes no trabalho.
Levantando o arquivo e carregar o Extrato
A transformao load_dim_promotion segue imediatamente o extract_pro-
movimento de trabalho. O objetivo deste trabalho ler o extrato na rea de preparo e
carregar a tabela dim_promotion. Figura 10-29 mostra a transformao inteira.
Captulo 10 Projeto Pentaho Data Integration Solutions 307
Figura 10-28: Configurando nomes de arquivo com data e hora e passar o arquivo para o resultado
Figura 10-29: Carregando o extrato em dim_promotion
Aqui est um rpido resumo do que est acontecendo nessa transformao:
1. O Obter arquivos de etapa resultado: Esta etapa obrigatria para pegar o arquivo
que foi criado pela transformao extract_promotion.
2. leia promoo extracto: Esta uma entrada de texto comum que ns configuramos
para pegar o arquivo criado pela transformao anterior.
3. stage_promotion carga: Isso carrega o extrato no stage_promotion
tabela.
4. Pesquisa tipo de promoo e do site de pesquisa: Estes passos so usados para
encontrar e adicionar campos a partir do site relacionados e tabelas de referncia de
valor.
5. Inserir / dim_promotion Update: Esta etapa utilizada para carregar o
dim_promotion tabela. Se uma linha de promoo novo, ele ser adicionado. Se
uma linha de promoo j existia, os seus valores so substitudos com a
valores atuais.
308 Parte III Integrao de dados e ETL
Resumo
Neste captulo, voc expandiu suas habilidades PDI. Voc aprendeu a:
Executar SQL
Gerar linhas
Formatar nmeros e datas
Efetuar clculos
Junte-se a correntes
Split crregos
Criar postos de
trabalho
Passe os arquivos entre as transformaes
Alm das muitas coisas abordadas neste captulo, h ainda mais
coisas que no cubra. Por favor, consulte o site do livro para download de todos os
transformaes e empregos para carregar o World Class armazm de dados de filmes.
CAPTULO
11
Implantando Dados Pentaho
Solues de Integrao
Como voc aprendeu nos captulos anteriores, durante a concepo eo desenvolvimento
fase, a soluo Pentaho Data Integration (PDI) executada utilizando principalmente
Spoon. Aps a fase de desenvolvimento, a soluo de integrao de dados normalmente
mudou-se para um ambiente de servidor, seja para testes ou de produo
finalidades.
No servidor, transformaes e empregos no so geralmente lanados utilizando
uma ferramenta grfica do usurio, como Spoon. Em vez disso, as medidas so tomadas para
assegurar a
execuo automatizada. Dependendo dos requisitos da integrao de dados
soluo, a execuo pode ser agendada ou conduzido de maneira contnua por
algum processo em segundo plano. De qualquer forma, o administrador deve agir no sentido
de tomar as
soluo fora do ambiente de desenvolvimento para coloc-lo para trabalhar em seu alvo
plataforma. Ns nos referimos a este processo como implantao.
H mais a implantao do que instalar o software e configurao
de execuo automtica. As medidas devem ser postas em prtica para permitir que o
sistema
administradores para verificar rapidamente, e se diagnosticar, necessrio e reparao, o
soluo de integrao de dados. Por exemplo, deve haver alguma forma de notificao
para confirmar se a execuo automtica do ocorrido. Alm disso, os dados
devem ser reunidos e analisados para medir o quo bem os processos so
executados. Ns nos referimos a essas atividades como monitoramento.
Neste captulo, apresentamos uma viso geral dos recursos e ferramentas que voc pode
usar para organizar a implantao e acompanhar sua soluo PDI. O objetivo do presente
captulo no para ditar como voc deve administrar as suas solues de PDI. Em vez disso,
Neste captulo deve fornecer informaes suficientes para tomar decises informadas
decises sobre quais ferramentas e estratgias de melhor atender s suas necessidades.
309
310 Parte III Integrao de dados e ETL
Configuration Management
Empregos e transformaes dependem de recursos como diretrios do sistema de arquivos,
arquivos e servidores de banco de dados. Durante o desenvolvimento, esses recursos so
normalmente
reservados para fins de desenvolvimento. Por exemplo, em vez de apontar um
transformao dos sistemas de fonte real, de desenvolvimento ou verso de teste do
o sistema de origem usado. Da mesma forma, a sada da transformao dirigido
para uma verso de desenvolvimento ou teste do sistema de destino.
Para a implantao, todos os elementos que so especficos para o ambiente de
desenvolvimento
mento tambm devem funcionar correspondente no sistema de destino. Em alguns casos,
pode ser possvel fazer isso sem alterar a soluo. Por exemplo, em
no caso de recursos de arquivo, pode ser possvel usar consistentemente caminhos relativos,
que so resolvidos dinamicamente em tempo de execuo. Em outros casos, algo
deve acontecer para apontar os componentes da soluo de integrao de dados para o
recursos adequados para o ambiente de destino.
Uma maneira de oferecer os recursos certos para a plataforma alvo modificar
a transformao ou o trabalho em conformidade. No entanto, este no um muito bom
soluo. Pode ser simplesmente muito trabalho para substituir todas as referncias ao banco
de dados
servidores e coisas do gnero em toda a soluo. Mais importante, h uma visvel
possibilidade de modificao de um emprego ou transformao ir introduzir erros.
A melhor maneira de prever os recursos adequados de alguma forma parametrizar todos
componentes que so dependentes do ambiente. Desta forma, estes dados
pode ser fornecido em tempo de execuo, sem alterar o trabalho ou a transformao em si.
Ns nos referimos a todos os dados dependentes de ambiente como o configurao. O
processo de
responsvel por manter esses dados e fornecendo-lhe a soluo chamada
gerenciamento de configurao. Existem algumas construes que permitem a configurao
gesto:
Variveis de configurao empregos e transformaes
conexes JNDI para o gerenciamento de conexes de banco de
dados
Um repositrio para gerenciar vrios desenvolvedores trabalhando nos mesmos dados
soluo de integrao, e tambm para gerenciar as conexes de banco de dados
Esses tpicos so discutidos em detalhe no restante desta seo.
Usando variveis
A maioria das propriedades de etapas, as entradas de emprego e conexes de banco de
dados pode ser param-
eterized usando variveis. As variveis so espaos reservados para os valores. Durante a
execuo,
os valores reais para essas variveis se torna conhecido, ea ocorrncia de
cada varivel substitudo pelo seu valor de tempo de execuo. Para ser mais preciso, o real
substituio da varivel com o valor ocorre na inicializao da etapa
Captulo 11 Implantando Solues Pentaho Data Integration 311
fase, e permanece fixa durante a fase de execuo (a inicializao e
fases de execuo so explicados no Captulo 10 na seo''CREATE TABLE
dim_date: Utilizando o Execute SQL''Passo Script).
NOTA etapas de transformao, muitas vezes permitir que as propriedades de ser parametrizada
por
reas especficas do fluxo de entrada. Embora este dispositivo pode s vezes ser usados
para a gesto de configurao, muitas vezes melhor manter uma clara separao
entre a transformao de dados reais (que o domnio dos campos) eo
configurao do ambiente especfico (o que melhor feito com variveis).
Variveis em propriedades de configurao
Nos dilogos de configurao, um cone de sinal vermelho minsculo dlar aparece no lado
direito
das propriedades onde as variveis podem ser inscritas. Este cone mostrado na
Figura 11-1.
Figura 11-1: O cone varivel
Para se referir a uma varivel, voc pode usar uma sintaxe semelhante ao UNIX ou
variveis de ambiente Windows. O cdigo a seguir mostra duas alternativas
maneiras de se referir a uma varivel chamada foo:
$ {Foo}
%%%% Foo
Isso perfeitamente vlido para incorporar referncias variveis dentro de uma propriedade
literal
valor. Por exemplo, a Figura 11-2 mostra a janela de configurao de um arquivo de texto
etapa de sada que usa a varivel os_user para parametrizar parte do arquivo
caminho do sistema para o arquivo de sada.
Figura 11-2: Incorporar referncias variveis nos valores dos imveis
312 Parte III Integrao de dados e ETL
NOTA Se voc no quer o tipo da varivel, voc tambm pode usar o teclado
atalho Ctrl + Barra de espao, que traz uma lista onde voc pode selecionar o desejado
varivel. Por exemplo, a Figura 11-3 mostra a lista de opes de todas as variveis disponveis.
Observe a dica exibir o valor atual da varivel.
Figura 11-3: Escolher as variveis de uma lista
Variveis de Usurio
Como o nome implica, variveis definidas pelo usurio so criadas pelo usurio. A os_user
varivel mostrado na Figura 11-2 um exemplo tpico de tal definidos pelo usurio
varivel. Variveis definidas pelo usurio obter o seu valor em uma das seguintes
maneiras:
As transformaes podem criar e / ou alterar o valor das variveis usando um
Definir Variveis etapa.
Um conjunto de variveis de entrada de emprego esto disponveis para ajustar as
variveis a partir de um trabalho.
Em Spoon, voc pode definir valores padro das variveis por posto de trabalho e por
transfor-
maes na grade que aparece no canto inferior direito do Executar uma
transformao e executar um trabalho de dilogos. Na fase de desenvolvimento, esta
permite a utilizao de variveis, mesmo quando a execuo do trabalho ou de
transformao
autnomo dentro Spoon.
Em Spoon, voc pode criar e atribuir variveis globais no Envi Set-
variveis ente dilogo. Voc pode chamar isso de dilogo atravs do menu Editar
Ambiente valores definidos. Usando Ambiente MenuEditShow
Valores, voc pode inspecionar todas as variveis disponveis e seus valores. Ambos
desses dilogos so teis para o desenvolvimento ou testes mltiplos empregos ou
transformaes que dependem de um conjunto comum de variveis.
inscrita como <NAME> = Valor par na
kettle.properties arquivo. Este arquivo reside no . Chaleira Diretrio
sob o diretrio home do usurio.
Variveis pode ser
Captulo 11 Implantando Solues Pentaho Data Integration 313
NOTA Para sistemas baseados em UNIX, a localizao da kettle.properties
/ Chaleira home / <user> /..
Para o Windows, esta geralmente C: \ Documents and Settings \ <usurio> \ chaleira..
variveis definidas pelo usurio que so definidas no kettle.properties arquivo tem
escopo global. Isso significa que eles sejam acessveis em todos os postos de trabalho e
transformaes. Para
Defina a entrada de passo variveis e trabalho, o escopo pode ser definido na varivel
coluna mbito tipo, conforme mostrado na Figura 11-4.
Figura 11-4: Escolhendo uma varivel do escopo de uma etapa Definir Variveis
Os escopos disponveis so:
Vlido no trabalho de pai-Este o espao est disponvel tanto para o conjunto de
variveis
etapa de transformao, bem como a entrada de emprego. Variveis com este escopo
esto disponveis no trabalho que contm a entrada de transformao ou de emprego
, respectivamente. Outras transformaes constantes que o trabalho tambm pode se
referir a
da varivel.
Vlido no emprego atual-Este o espao est disponvel para o conjunto de variveis
Emprego entrada. Variveis com este escopo esto disponveis no trabalho que
contenham
e as transformaes e os trabalhos nela. Funcionalmente neste mbito
equivalente ao Vlido no mbito de trabalho dos pais disponveis no conjunto
Variveis etapa de transformao.
Vlido no pai-av de emprego Este o espao est disponvel para o conjunto
Variveis etapa de transformao. Variveis com este escopo esto disponveis
no trabalho que contm essa transformao (o pai) e tambm no
trabalho que contm esse trabalho (pai-av). Todos os trabalhos e as transformaes
contido pelo trabalho de avs pode fazer referncia ao valor, tambm.
Vlido na raiz de emprego Variveis com este escopo esto disponveis no
alto nvel de emprego e todos os trabalhos e as transformaes directa ou
indirectamente
314 Parte III Integrao de dados e ETL
continha referncias nele pode varivel. Este espao apoiada por
tanto passo da transformao e da entrada de emprego.
Vlido na Mquina Virtual Java (JVM)-O varivel um verdadeiro global
varivel e visvel a todos os trabalhos e as transformaes que acontecem a rodar
na mesma instncia da mquina virtual Java. Este espao suportada
tanto pela etapa de transformao e da entrada de emprego.
ATENO Use variveis com o escopo da mquina virtual com cautela. Em cenrios
onde uma mquina virtual Java utilizado para executar vrias instncias do PDI
motor, como durante a execuo dentro do servidor de BI Pentaho, todos os trabalhos em execuo
referem-se
para a mesma instncia da varivel. Isso, certamente exclui qualquer utilizao
caso em que o valor da varivel que precisa ser mudado. Se o valor for
mudou, todos os trabalhos que fazem referncia a varivel quase que imediatamente ver o novo valor
da varivel.
Variveis internas
Built-in variveis refletem propriedades das coisas que tm a ver com a execuo
ambiente de tempo e Pentaho Data Integration si. Essas variveis so
pr-definidos, e os valores so automaticamente preenchido pelo motor.
Built-in variveis incluem o nome da etapa de transformao de corrente, o
Local da transformao em curso, bem como o nome do sistema operacional.
Variveis Exemplo: Conexes de banco de dados dinmico
Para ilustrar como realmente usar variveis, vejamos um exemplo prtico
que ilustra como voc pode usar variveis para gerenciar a conexo de banco de dados
configurao. No exemplo, as variveis so utilizadas para configurar o MySQL
conexo, mas os mesmos princpios se aplicam a qualquer conexo com o banco.
1. Criar uma nova transformao e armazen-lo como set_variables em um diretrio
no sistema de arquivos. Adicione um passo Gerar linhas da categoria de entrada.
Configure o passo, adicionando o HOST,DB,PORT,USURIO,SENHAE
TABELA variveis, como mostrado na Figura 11-5. Observe os valores inscritos no
Valor padro da coluna da grade e da definio do tipo varivel alcance.
Executar a transformao uma vez, isso ir criar as variveis do Spoon
ambiente. Isso torna mais conveniente para se referir a essas variveis
a partir de outras transformaes e trabalhos que voc pode estar projetando.
NOTA Observe que no set_variables etapa, a senha inserida na plancie
texto. Isto constitui um risco de segurana, como qualquer um que pode ler o
arquivo de transformao tambm pode ler a senha. Este risco de segurana podem ser mitigados
usando senhas ofuscado. Ofuscado senhas so discutidos em mais
detalhes na seo''Usando senhas de banco de dados ofuscado''mais adiante neste captulo.
Captulo 11 Implantando Solues Pentaho Data Integration 315
Figura 11-5: Definindo variveis
2. Criar uma outra transformao chamada count_rows e armazen-lo no mesmo
localizao como set_variables transformao. Adicionar um banco de dados MySQL
conexo chamada Fonte e usar referncias variveis para a conexo
propriedades, como mostrado na Figura 11-6.
Figura 11-6: Uma conexo de banco de dados variveis
Note-se que todas as propriedades no quadro Configuraes so parametrizados
usando
referncias de variveis. (A Senha valor da propriedade mostrado como uma srie
316 Parte III Integrao de dados e ETL
de asteriscos, embora o seu valor realmente $ {PASSWORD}.) Teste o
conexo. Em caso de falha, a causa mais provvel que voc se esqueceu de
executar o set_variables transformao (ou talvez um erro de digitao ou
mais dos valores).
NOTA Embora as propriedades da conexo pode ser parametrizado com variveis, voc
no pode usar variveis para definir dinamicamente o tipo de conexo com o banco.
No entanto, existe uma soluo para essa limitao que possa atender s suas necessidades.
Voc pode criar uma conexo de banco de dados genricos, e usar variveis para parametrizar
o Custom URL de conexo e Custom Class Driver propriedades de nome. Este
permite que voc alterne entre, digamos, um banco de dados MySQL para um banco de dados Oracle
dependendo dos valores das variveis.
Esta soluo pode no ser adequado em todos os casos. Em uma conexo JDBC especfico,
o tipo de configurao de banco de dados SQL influncias que dialeto usado pelo PDI para
comunicar ao banco de dados. Alguns passos se comportam de maneira diferente dependendo do
recursos do banco de dados, e por essa razo alguma funcionalidade no est disponvel
para conexes de banco de dados genricos.
3. D um passo de entrada de tabela e configur-lo para usar o Fonte conexo.
Digite a seguinte instruo SQL:
'$ {Tabela}' SELECT table_name como
, COUNT (*) AS row_count
FROM $ {tabela}
A varivel TABELA aparece duas vezes na instruo SQL: uma vez como no
DA clusula, quando o seu valor ser utilizado como identificador de tabela, e uma vez
entre aspas simples no SELECT lista, onde usado como uma string
literal. Certifique-se de verificar as variveis substituir no script? caixa de forma que
estes
instncias de uma varivel so substitudos com o valor da TABELA varivel
em tempo de execuo.
ATENO Na instruo SQL anterior, as variveis so substitudas por suas
valor quando a transformao inicializado. Devido a substituio de variveis
basicamente, uma ao de substituio de texto simples, pode levar a resultados inesperados quando
us-lo para gerar SQL (ou script em geral). Se o valor da TABELA varivel
no um identificador simples, mas contm caracteres que tm um significado de suas prprias
na linguagem SQL, um erro de sintaxe poderia ocorrer. No pior caso, a
instruo SQL resultante pode mesmo ser prejudicial e entregar o resultado errado ou
apagar acidentalmente dados.
Por esta razo, deve-se evitar o uso de variveis no script, se possvel. Para a Tabela
passo de entrada, muitas vezes voc pode usar parmetros ao invs de variveis. Os parmetros so
espaos reservados para o valor de expresses, e so indicados com um ponto de interrogao. Eles
Captulo 11 Implantando Solues Pentaho Data Integration 317
pode aparecer em qualquer lugar onde voc normalmente pode ter um valor de expresso como um
literal ou uma referncia de coluna. No caso do exemplo anterior, a varivel em
o SELECT lista podem ter sido omitidas, usando um parmetro para que a primeira parte
da declarao seria:
SELECT? AS table_name
4. Adicionar um texto passo a sada do arquivo, e adicionar um salto de entrada da tabela
entrada em degrau. Configure o passo e editar o Nome do arquivo propriedade assim que l
Internal.Transformation.Filename.Directory $ {} / $ {tabela}
como mostrado na Figura 11-7. Observe as duas variveis separadas por uma barra. A
primeira uma varivel interna que lhe permite construir caminhos de sistema de
arquivo relativo
para o local de transformao. A segunda uma varivel definida pelo usurio
que foi criado quando voc executou o set_variables transformao.
Figura 11-7: arquivo de sada varivel
DICA Voc pode usar o atalho Ctrl + Barra de espao do teclado para abrir uma lista dos actuais
variveis e selecion-los. Conclua a configurao, adicionando o table_name
e row_count campos, pressionando o boto Get Campos na guia Campos.
5. Criar um emprego e guarde-o no mesmo local que as transformaes. Adicionar
uma entrada de trabalho START e duas entradas de emprego Transformao. Configurar
um
das etapas de transformao. Renome-lo para set_variables e modificar o
transformao propriedade filename para que ele l
$ {} Internal.Job.Filename.Directory set_variables.ktr /
Note que este semelhante ao Nome do arquivo configurao para o arquivo de texto-para
fora
colocado na etapa count_rows transformao: esta varivel tem o efeito de
fornecendo um caminho de sistema de arquivo relativo ao do trabalho atual. Criar um
hop
a partir da entrada START para o set_variables Emprego entrada. Renomeie o outro
entrada de transformao do emprego para count_rows e aponte para o count_rows
318 Parte III Integrao de dados e ETL
transformao. D um salto que vai do set_variables entrada para o trabalho
count_rows Emprego entrada. Seu trabalho agora deve ser semelhante Figura 11-8.
(Note que na figura, o contedo das entradas do trabalho de transformao
Tambm so mostrados a seguir o trabalho real. Isso adicionado para o
esclarecimento sobre
tela, o trabalho se parece com a metade superior da Figura 11-8.) Execute o trabalho.
Figura 11-8: Um trabalho com uma conexo de dados variveis
Neste exemplo, voc criou um trabalho que chama duas transformaes. O primeiro
transformao utiliza o conjunto de variveis passo para criar um nmero de definido pelo
usurio
variveis. Essas variveis, em seguida, tornou-se disponvel a nvel do trabalho de chamada.
A transformao subsequente pegou as variveis utilizadas e seus valores
para configurar uma conexo de banco de dados. Alm disso, os caminhos de arquivo foram
criados em relao
para o local do trabalho e arquivos de transformao usando as variveis.
Mais sobre a etapa Definir Variveis
Do ponto de vista do gerenciamento de configurao, claro que o uso de
variveis internas contribui para a facilidade de gerenciamento de configurao. Relativa
eliminar caminhos hard-wired caminhos do emprego e transformaes, tornando-
mais fcil a transferncia de arquivos a partir do ambiente de desenvolvimento para a
implantao
ambiente sem quebrar a soluo de integrao de dados.
Pode ser menos claro como as variveis definidas pelo usurio criadas pelo conjunto
etapa Variveis melhorar a gesto de configurao. No exemplo, parece
as propriedades de configurao para a conexo do banco de dados ainda so codificados
dentro de uma transformao, eles simplesmente se mudaram de uma transformao
para o outro. No entanto, ainda uma melhoria se voc considerar que
transformaes mais como row_count podem ser adicionados ao trabalho. Estes
outras transformaes podem usar as mesmas variveis para definir o seu banco de dados
conexes no exatamente da mesma maneira, permitindo que todos os parmetros de conexo
para
todo o trabalho a ser alterada pela transformao de edio de um nico.
Assim, o conjunto de variveis passo pode ser usado como um nico ponto de definio
para
parametrizar recursos como conexes de banco de dados para um trabalho inteiro, ou
nomes de arquivos e diretrios. Embora esta seja uma boa coisa, ainda indesejvel
Captulo 11 Implantando Solues Pentaho Data Integration 319
que o set_variables transformao teria de ser editado para ajustar o
transformao para trabalhar em outro ambiente.
Felizmente, o conjunto de passo variveis no se limita aos valores padro usados
no exemplo. Pelo contrrio, o modo normal de operao a utilizao do fluxo de entrada
Variveis da etapa Definir como preencher os valores. Desta forma, os dados de configurao
pode
ser armazenados em um recurso externo para qualquer trabalho ou transformao. Isso
permite que o
configurao a ser gerenciado usando arquivos ou tabelas de dados ou quaisquer dados
fonte pode ser lido por Pentaho Data Integration.
Defina variveis Gotchas Etapa
Um ponto importante a lembrar que o conjunto etapa de transformao de variveis
existe para que as transformaes podem transmitir dados de configurao para os empregos
e
outras transformaes. Voc no deve tentar usar o conjunto de variveis para o passo
transmitir informaes dentro de uma mesma tarefa, e / ou transformao.
Voc no pode de forma confivel as duas variveis definir e utilizar dentro de um mesmo
trans-
formao, porque a substituio de varivel ocorre na fase de inicializao.
Na fase de execuo, o valor permanece fixo at o trabalho ou a transformao
est terminado. Se voc achar que voc gostaria de definir as variveis usando dados de um
transformao para configurar as etapas subseqentes da mesma transformao, a
soluo criar um novo trabalho com duas transformaes. Dessa forma, voc pode definir
as variveis na primeira transformao, e us-los na outra.
Lembre-se tambm que o conjunto de variveis etapa exige exatamente uma linha de
entrada.
Voc pode achar que contra-intuitivo que o conjunto de variveis etapa no suporta
vrias linhas de entrada, mas tente imaginar como seria trabalhar nos casos em que
a transformao parte de um trabalho. O nico trabalho que considera a varivel como
depois
a transformao inteira executado. O trabalho no pode ver qualquer um dos valores da
variveis poderiam ter tido durante a transformao, ela s pode ver o que
valor foi modificada pela ltima atribudo varivel.
Usando conexes JNDI
Na seo anterior, voc aprendeu a usar as variveis para a configurao
de gesto. Embora as variveis, a soluo mais flexvel para lidar
com mltiplas configuraes, eles tm a desvantagem de que os postos de trabalho e
transformaes precisam ser projetado especialmente para se beneficiar deles.
Existe uma forma alternativa para gerenciar as configuraes de conexo do banco de
dados.
Voc pode considerar usar JNDI em vez de conexes JDBC puro.
O que o JNDI?
JNDI (''''Gindy pronunciado) um acrnimo para Java Naming and Directory
Interface. JNDI uma forma geral, para atribuir um nome para se referir a um recurso muito
muito qualquer tipo, tais como conexes de banco de dados, URLs, arquivos e classes.
320 Parte III Integrao de dados e ETL
NOTA JNDI parte da plataforma Java. muito usado em muitos Java
aplicaes para resolver problemas de configurao. Por exemplo, uma parte considervel da
arquivos de configurao do servidor de BI Pentaho usar JNDI para gerenciar os componentes. Em
Alis, se voc deseja executar suas transformaes e emprego no interior do Pentaho BI Server,
JNDI deve ser a sua forma preferida de criar conexes PDI, como voc pode gancho
nas conexes JNDI configurada no nvel do servidor.
Uma discusso completa sobre JNDI est fora do escopo deste livro. Se voc gosta, voc pode descobrir
mais sobre JNDI no site da Sun: http://java.sun.com/products/jndi/.
No mbito do PDI, uma conexo JNDI simplesmente uma chamada de conexo JDBC
para que os detalhes da conexo exata so armazenados fora das transformaes
e do emprego. Sempre que as transformaes e os trabalhos devem se referir ao JNDI con-
interligao, fazem isso apenas usando o nome da conexo. Sempre que o real
conexo com o banco de dados precisa ser criada, o nome resolvido para o
dados de configurao, que so realmente utilizados para instanciar a conexo.
Criando uma conexo JNDI
Para criar uma conexo JNDI, usar um editor de texto para abrir o arquivo jdbc.properties
localizado no simples jndi diretrio sob o diretrio home PDI.
NOTA A jdbc.properties arquivo simplesmente parte de um JNDI particular
implementao fornecida pelo PDI. Outras aplicaes, tais como o BI Pentaho
servidor, tm implementaes mais avanadas JNDI, que exigem uma diferente
configurao do procedimento.
Muito provavelmente voc vai descobrir que o arquivo contm um nmero de linhas j. Voc
necessidade de adicionar linhas para configurar o nome da classe do driver, JDBC seqncia
de conexo,
nome de usurio e senha, e uma linha genrica para identificar que este recurso JNDI
uma conexo de dados. A sintaxe geral mostrada na Lista 11-1.
Listando 11-1: Sintaxe para conexes JNDI em jdbc.properties
<jndi-name> / tipo = javax.sql.DataSource
<jndi-name> motorista / = totalmente qualificado da classe JDBC driver name>
<jndi-name> / url = <Driver e conexo connectstring> especficas
<jndi-name> / user = usurio do banco de dados>
<jndi-name> user / password = banco de dados>
DICA Se voc tiver dificuldade para descobrir os valores exatos para o nome da classe do driver
e / ou a seqdeconexao, voc pode achar esta dica til. Primeiro, crie um ordinrio
JDBC de conexo na caixa de dilogo Database Connection. (Este processo descrito em
detalhes no Captulo 9.) Em seguida, pressione o boto Lista de recursos na parte inferior do
Captulo 11 Implantando Solues Pentaho Data Integration 321
Database de dilogo Connection. Isto traz uma lista de propriedades para o banco de dados
conexo. Olhe para as propriedades nomeadas Classe Driver e URL. Figura 11-9
mostra um exemplo de um recurso de lista.
Figura 11-9: Determinao da classe do driver JDBC e URL com a lista de recursos
Listando 11-2 mostra que cinco linhas como pode parecer para criar um JNDI
conexo chamada wcm para se conectar ao wcm banco de dados.
Listagem 11-2: Um exemplo de conexo JNDI para o banco de dados WCM
#
# Uma conexo JNDI para o banco de dados chamado WCM wcm
#
wcm / tipo javax.sql.DataSource = # define uma conexo JNDI DB
wcm / driver com.mysql.jdbc.Driver = # nome do driver de classe Java
url wcm / = jdbc: mysql: / / localhost / mca # JDBC URL (seqdeconexao)
wcm / user = # wcm nome de usurio do banco de dados
senha wcm / mca = # senha para o usurio do banco de dados
ATENO Esteja ciente de que a senha do banco de dados armazenada em texto simples
jdbc.properties.
Depois de adicionar os detalhes necessrios para a jdbc.properties arquivo, voc ainda precisa
para criar a conexo no nvel de transformao ou de trabalho. Neste caso, voc
necessidade de selecionar o tipo apropriado de conexo ao MySQL (que esta informao
no faz parte da configurao do JNDI em jdbc.properties), Defina o tipo de acesso
a JNDI, em seguida, digite o nome do JNDI.
Conexes JNDI e Implantao
Se voc sempre usam conexes JNDI, voc no precisar alterar o seu emprego
e transformaes, nem preciso passar o parmetro adequado
valores durante a execuo. Tudo que voc precisa fazer garantir que tanto o
desenvolvimento
ambiente e do ambiente de implantao esto configurados para suportar todos os
utilizados nomes JNDI.
322 Parte III Integrao de dados e ETL
Por exemplo, se voc deseja executar tarefas e transformaes no ambiente PDI-
mento da plataforma de implantao, voc precisar modificar o jdb.properties
arquivo l em conformidade. Se a sua plataforma de distribuio consiste no Pentaho
servidor de BI, voc vai precisar usar o console de administrao para configurar o
adequadas nomes JNDI em que acabar tambm.
Trabalho com o Repositrio PDI
Virtualmente todos os componentes em Pentaho Data Integration pode interagir com um
repositrio. O repositrio um banco de dados relacional que utilizado para armazenar
empregos, transformaes e objetos, como conexes de banco de dados.
Usando um repositrio pode ajud-lo a organizar o desenvolvimento, bem como implantar-
mento de solues de integrao de dados. O repositrio pode ser utilizado por mltiplos
desenvolvedores simultaneamente, formando assim um local de armazenamento centralizado.
Porque
o repositrio apenas um banco de dados, pode ser feito como um, e os relatrios podem ser
correr contra ele.
Usando um repositrio tambm simplifica o gerenciamento de configurao de banco de
dados
conexes. No repositrio, conexes de banco de dados so armazenados como separar
objetos que podem ser reutilizados em vrios trabalhos e transformaes.
O restante desta seo descreve como usar o repositrio quando
trabalhar com ferramentas Pentaho Data Integration, como colher de cozinha, e
Pan. A seo''rodando dentro do Pentaho BI Server''mais adiante neste captulo,
descreve como usar um repositrio de PDI para a execuo de tarefas e transformaes como
seqncia de componentes de ao.
Criando um Repositrio PDI
Voc pode criar um novo repositrio utilizando a caixa de dilogo Selecione um repositrio
Spoon.
Este dilogo aberta por padro quando voc inicia o Spoon, a menos que voc modificou o
opes para evitar esse comportamento. Voc pode controlar isso usando o Show repositrio
na caixa de dilogo de inicializao na janela de opes. Voc tambm pode invocar o
dilogo a partir do repositrio Spoon. Isto feito atravs dos seus principais
RepositoryConnect ao repositrio ou usando themenu usando Menu
atalho do teclado Ctrl + R. O repositrio de dilogo mostrada na Figura 11-10.
Voc pode criar um novo repositrio, premindo o boto Novo no repositrio
dilogo. Uma caixa de dilogo informaes do repositrio intitulado abre. Neste dilogo, voc
deve
especificar a conexo do banco de dados para se conectar ao repositrio.
conexes de banco de dados para o repositrio no so diferentes de Pen-ordinria
Taho banco de dados conexes Integrao. No h requisitos especiais
para um determinado RDBMS, voc deve ser capaz de usar todos os produtos populares,
como o Microsoft SQL Server, MySQL, Oracle, PostgreSQL e sem nenhum problema. Veja
Captulo 9 para obter informaes sobre como criar conexes de banco de dados.
Captulo 11 Implantando Solues Pentaho Data Integration 323
Figura 11-10: O dilogo repositrio
NOTA No momento da redao deste artigo, no possvel usar o SQLite como o
sistema de banco de dados subjacente. Se voc est procurando uma soluo de banco de dados
integrado
para o repositrio, voc pode tentar H2 ou Derby.
Quando voc seleciona a conexo de banco de dados, clique no boto Criar para
criar um novo repositrio. Ou, para atualizar um repositrio existente, clique no
Boto Upgrade. No entanto, h uma srie de coisas a considerar
Ao atualizar um repositrio existente. Portanto, a atualizao coberto por um
subseo mais adiante neste captulo.
NOTA Criando o repositrio envolve a criao de tabelas de banco de dados. Voc deve
assegurar a conta especificada na conexo com o banco tem privilgios suficientes
para esta tarefa.
Depois de confirmar que voc realmente deseja modificar o banco de dados, o repositrio
as tabelas so criadas no banco de dados especificado. Note que isto no ir criar um
novo esquema. As tabelas do repositrio so criados no esquema definido no
nvel conexo.
Conectando-se ao repositrio
Para utilizar um repositrio para ler e guardar solues PDI, primeiro voc deve
estabelecer uma conexo a um. Isso feito especificando as credenciais de um
repositrio do usurio na caixa de dilogo Repository (ver Figura 11-10). Especifique o nome
324 Parte III Integrao de dados e ETL
do repositrio do usurio no campo Login ea senha nas
de campo. Em seguida, clique em OK.
NOTA Credenciais para o repositrio do usurio so diferentes dos dados da conta
associado com a conexo do banco de dados que usado para o repositrio.
Um recm-criado repositrio vem com dois usurios pr-definidos:
A admin usurio (a senha padro: admin) Tem privilgios totais para o
repositrio, e deveriam ser usados principalmente para criar novos usurios do
repositrio de
para os desenvolvedores ETL.
A convidado usurio (a senha padro: convidado) S pode ler a partir do reposicionamento-
histria, e deve ser usado para explorar o repositrio.
Normalmente, voc poderia criar outros usurios e configurar os para executar
tarefas especficas com o repositrio. Repositrio de gerenciamento de usurios descrito
em detalhes na seo''Repositrio Administrando Contas de Usurio''mais adiante neste
captulo.
Depois que uma conexo a um repositrio criado, automaticamente ser Spoon
us-lo. Por exemplo, quando conectado a um repositrio, as aes Salvar Arquivo
Abrir Arquivo e correspondem a armazenar e carregar a partir do repositrio.
Quando no h nenhuma conexo ativa dessas aes padro para armazenamento e
carregamento
arquivos do sistema de arquivos.
Voc sempre pode desconectar-se do repositrio, escolhendo o Disconnect
repositrio opo do menu Repositrio, ou usando o atalho do teclado
Ctrl + D.
NOTA Dentro Spoon, s vezes pode ser confuso quando voc tem que trabalhar com
mltiplos repositrios. Para descobrir rapidamente se voc estiver conectado e ver que
repositrio que voc est conectado, olhar para o ttulo da janela do aplicativo principal
janela. Se voc estiver conectado a um repositrio, o ttulo diz:
Spoon - [<Repositrio > Nome] [<repository user>]
onde <Repositrio > Nome representa o nome do repositrio, e
<Repositrio > Usurio representa o repositrio do usurio.
Conectando-se automaticamente um repositrio padro
Voc pode achar que inconveniente para explicitamente logon no repositrio. Se voc
geralmente trabalham com apenas um nico repositrio, voc pode configurar Pentaho
Integrao de Dados para se conectar automaticamente a um padro especfico repositrio.
Este
configurao para o repositrio padro ser usado por Spoon, mas tambm a outros
Pentaho Data Integration ferramentas.
Para configurar o login automtico para o repositrio padro, use um editor de texto
para abrir a kettle.properties arquivo localizado na . Chaleira diretrio abaixo
seu diretrio home. Em seguida, adicione as linhas para as variveis KETTLE_REPOSITORY,
Captulo 11 Implantando Solues Pentaho Data Integration 325
KETTLE_USERE KETTLE_PASSWORDE atribuir valores para o nome do
repositrio, o nome do repositrio do usurio ea senha do usurio. Veja
Listagem 11-3 para um exemplo.
Listagem 11-3: kettle.properties Modificar para se conectar automaticamente a um repositrio
# Este .kettle <user-home> / kettle.properties
#
# Automaticamente login como admin / admin no PDI_REPO Repositrio
#
KETTLE_REPOSITORY = PDI_REPO
KETTLE_USER = admin
KETTLE_PASSWORD = admin
Note que o valor de KETTLE_REPOSITORY deve ser o nome de um repositrio
encontrado na repositories.xml arquivo, e os valores para KETTLE_USER e
KETTLE_PASSWORD deve corresponder a um repositrio do usurio do referido depsito.
ATENO A kettle.properties arquivo em texto puro. Embora resida no
diretrio oculto . Chaleira, ele ainda pode ser lido por qualquer pessoa que pode acessar o arquivo.
Como as credenciais repositrio so armazenados sem criptografia, voc deve estar ciente
que automaticamente se conectar ao repositrio desta forma constitui um risco de segurana.
O Explorer Repositrio
Se voc estiver conectado ao repositrio, voc pode abrir o Repository Explorer para
analisar e gerenciar seu contedo. Voc pode chamar o Repository Explorer por
escolher a opo Explorar repositrio no menu Repositrio, ou usando
o atalho Ctrl + E. O repositrio do Windows Explorer mostrado na
Figura 11-11.
Figura 11-11: O Explorer Repositrio
326 Parte III Integrao de dados e ETL
O Repository Explorer exibe o repositrio em uma rvore. Para trabalhar
com um item de repositrio, clique com o boto direito do mouse para abrir um menu de
contexto. A partir da,
escolher as medidas adequadas. Desta forma, voc pode:
Gerenciar conexes de banco de dados ligaes so armazenadas em um
nvel mundial no repositrio e podem ser compartilhados por todas as transformaes e
postos de trabalho no mesmo repositrio. O menu de contexto das conexes de banco
de dados
n lhe permite criar novas conexes. O menu de contexto para o indivduo
conexes permite que voc editar ou excluir a conexo correspondente.
Gerenciar diretrios do repositrio-In repositrio, transformaes e
os trabalhos so sempre armazenados em algum diretrio, bem como os arquivos so
armazenados em um
diretrio especfico no sistema de arquivos. Isso til para estruturar os dados
soluo de integrao, mantendo elementos relacionados. H uma sepa-
taxa de rvore de diretrios de ambos os trabalhos e transformaes. Em ambos os
casos, o
diretrio raiz built-in e nomeado /(Barra do personagem). Voc pode
use o menu de contexto de diretrio para criar, renomear e excluir diretrios.
Exportao de empregos e transformaes para arquivo Escolher Exportao ou
empregos
transformaes salvar cada trabalho individual ou transformao de um set-
devem ficar separados . KJB ou . KTR arquivo, respectivamente. Essas aes tambm
recursivamente exportao
a estrutura de diretrios eo contedo a jusante do diretrio selecionado.
Despejo de um diretrio e todo o seu contedo em um nico arquivo XML-Voc
pode fazer isso escolhendo a exportar todos os objetos de uma opo de arquivo XML.
Isto muito conveniente no caso de necessidade de implantar uma filial de seu PDI
solues para outro repositrio. Voc tambm pode copiar a todo o repositrio
para tal um arquivo XML usando o menu Arquivo do Explorer Repositrio
janela. Neste menu, voc tambm vai encontrar uma opo para importar o contedo
de tal arquivo de despejo de um XML.
Gerenciar contas de usurios-Este tema discutido em mais detalhe no
subseo seguinte.
DICA Voc tambm pode exportar postos de trabalho e as transformaes do arquivo principal.
Seleo
Menu Arquivo Exportar todos os recursos vinculados a XML geralmente a mais conveniente
opo, uma vez que a exportao no somente o trabalho atual / transformao, mas tambm todos
transformaes e empregos em que ele dependente. Ao escolher esta opo,
voc ser solicitado a digitar a localizao de um Zip. arquivo. Depois de armazenar todos os trabalhos
ligados
e transformaes no Zip. arquivo, uma caixa de dilogo aparece para informar de como abrir
trabalhos individuais ou transformaes armazenados no Zip. arquivo (sem descompactar primeiro
o arquivo). Este dilogo mostrado na Figura 11-12.
Administrando Contas de Usurio do Repositrio
J mencionamos que, por padro, um novo repositrio fornece duas usurio
contas: uma admin conta para a administrao do repositrio, e uma convidado conta
Captulo 11 Implantando Solues Pentaho Data Integration 327
repositrio para a introspeco. Para beneficiar do repositrio ao desen-
o uso das solues de integrao de dados, voc precisa criar contas de usurio de dados
desenvolvedores de integrao para que eles possam usar o repositrio para armazenar e
recuperar
seu trabalho.
Figura 11-12: Dilogo informando sobre o trabalho / exportao de transformao
Antes de explicar em detalhes como criar novos usurios, necessrio
considerar algumas coisas sobre o gerenciamento de conta de usurio em geral. Em
praticamente
todos os assuntos de gesto de conta de usurio, h duas coisas a considerar:
identificao e autorizao. Identificao se preocupa com verificao de que
um usurio do sistema corresponde ao usurio no mundo real. Autorizao tem que
fazer com que determina as aes que um usurio do sistema tem permisso para executar.
Para a identificao, todos os usurios do mundo real PDI Repositrio precisa de um nome
de usurio
e senha, que servem como credenciais. O usurio do mundo real esperado
manter a senha secreta para que o sistema pode-se supor que um pedido de login
composto por uma combinao especfica de usurio e senha, de fato,
identificar o usurio do mundo real.
Para autorizao, os usurios tm um associado perfil. Um perfil um chamado
recolha de permisses que determinam quais funcionalidades o utilizador pode aceder.
Em um recm-criado repositrio, trs perfis como j esto presentes:
Este administrador o perfil padro para o built-in admin usurio.
Ele permite ao usurio usar todas as funcionalidades do PDI, incluindo a conta do
usurio
de gesto.
Read-only-Este o perfil padro para o built-in convidado usurio.
Usurio Este perfil adequado para regular os desenvolvedores de integrao de
dados.
Para criar um usurio novo repositrio, abra o Repositrio Explorer e clique com o boto
direito
no n de usurio (ou um n de um usurio em particular) para abrir seu menu de contexto.
Escolha Novo usurio. Um pouco de dilogo intitulada Informaes do Usurio exibida. Na
Usurio de dilogo Informaes, voc deve especificar o nome de usurio no campo Login,
328 Parte III Integrao de dados e ETL
ea senha no campo Senha. Alm disso, voc pode usar o perfil
caixa de lista para atribuir um perfil para o novo usurio. Figura 11-13 mostra o Repositrio
Explorer, o usurio menu de contexto do n, eo Usurio de dilogo Informaes.
Figura 11-13: Criando um novo usurio repositrio
A utilizao de dilogo Informaes tambm permite que voc crie novos perfis
agrupamento de uma ou mais permisses individuais. No entanto, encontramos o built-in
Lista de perfis a ser suficiente para a maioria, seno todos, os casos de uso. O nmero real de
permisses bastante pequena, e as permisses individuais no so refinadas
suficiente para construir perfis muito mais significativa.
Cada usurio que est conectado ao repositrio pode usar o Edit usurio atual
opo no menu Repositrio de invocar as informaes do usurio de dilogo para modificar
sua prpria conta. Alternativamente, voc pode usar o atalho Ctrl + U.
Como PDI se mantm informado dos Repositrios
Quando as ferramentas de PDI devem se conectar a um repositrio particular, eles olham
na repositories.xml arquivo. Este arquivo reside no . Chaleira diretrio abaixo
diretrio home do usurio.
NOTA Para sistemas baseados no Windows, a localizao mais provvel :
C: \ Documents and Settings \ <usurio> \ chaleira.
Para sistemas baseados em UNIX, o local :
/ Home <user> /. Chaleira
Captulo 11 Implantando Solues Pentaho Data Integration 329
Listagem 11-4 mostra o que o contedo (parcial) da repositories.xml arquivo
poderia parecer.
Listagem 11-4: Contedo do arquivo repositories.xml
<? Xml version = "1.0" encoding = "UTF-8"?>
<repositories>
<connection>
<name> Repo Connection </ name>
<servidor> localhost </ servidor>
<tipo> MYSQL </ tipo>
<access> Native </ acesso>
<database> pdi_repository </ database>
<port> 3306 </ porto>
<username> root </ username>
<senha> criptografados 2be98afc86aa7f2e4cb79ce7dc781bed6 </ senha>
</ Conexo>
<repository>
<name> PDI REPO </ name>
<description/>
<connection> PDI Repository2 </ conexo>
</ Repository>
</ Repositrios>
Mencionamos o repositories.xml arquivo, pois voc pode querer copi-lo
para outro diretrio home do usurio, ou para outra mquina, por exemplo, o
implantao ambiente. Voc pode at precisar edit-lo manualmente para ajustar o
banco de dados de parmetros de conexo com o ambiente de implantao.
Como voc pode ver na listagem 11-4, o formato bastante auto-explicativo, e voc
no deve ter nenhum problema manualmente editando este.
Atualizando um repositrio existente
Se voc planeja usar o Pentaho Data Integration com um repositrio que foi criado
por uma verso anterior do Spoon, voc deve atualizar o repositrio. O processo para
atualizao de um repositrio existente idntico ao que, para criar um novo repositrio:
clique no boto Upgrade para atualizar um repositrio existente ou a criar
boto para criar um novo se ainda no existe.
ATENO Se voc pretende atualizar o repositrio, aconselhamos que voc
backup do repositrio de idade. Voc pode usar as suas ferramentas de banco de dados para criar um
ordinrio
banco de dados de backup.
Alm de fazer um backup do seu banco de dados, so fortemente aconselhados
para exportar todos os objetos do repositrio para um arquivo XML. Voc pode fazer isso
usando
Explorer Repositrio descrito anteriormente. Outra possibilidade usar o Pan
ferramenta de linha de comando, descritos mais adiante neste captulo. O benefcio da
exportao de todos os
330 Parte III Integrao de dados e ETL
objetos em um arquivo que ele permite importar rapidamente a soluo para um recm-
criado vazio repositrio. Isto torna mais fcil superar qualquer problema que voc
pode encontrar a atualizao do repositrio.
Em execuo no ambiente de implantao
Voc j viu vrios exemplos de trabalhos em execuo e as transformaes
Usando a colher. No entanto, Spoon no um ambiente de execuo tpica de
fins de implantao. Spoon completamente dependente da interao do usurio,
e exige uma interface grfica, os quais no so susceptveis de ser
disponveis em um ambiente de implantao.
Em ambientes tpicos de implementao e execuo de trabalho de transformao
automatizados e muitas vezes desencadeados por algum tipo de programao programada.
Nesta seo,
vamos dar uma olhada nas ferramentas que podem ser utilizados para esses fins.
Correndo na linha de comando
Empregos e as transformaes podem ser iniciadas usando as ferramentas de linha de
comando
Cozinha e Pan, respectivamente. Pan e cozinha so invlucros leve
em torno do mecanismo de integrao de dados. Eles fazem pouco mais do que interpretar
linha de comando parmetros e chamar o motor para lanar uma transformao
ou trabalho. Essas ferramentas so teis principalmente para a integrao Pentaho Data
Integration
solues com scripts nvel de sistema operacional e as solues de agendamento.
Cozinha e Pan so iniciados usando shell scripts, que residem no Pentaho
Dados diretrio de instalao do Integration. Para o Windows, os scripts so chamados
Kitchen.bat e Pan.bat , respectivamente. Para sistemas baseados em UNIX, os scripts
so chamados kitchen.sh e pan.sh.
NOTA Os scripts para sistemas operacionais baseados em UNIX no so executveis pelo
padro. Elas devem ser feitas usando o executvel chmod comando.
Parmetros de linha de comando
A cozinha eo Pan interface do usurio consiste em um nmero de linha de comando
parmetros. Correr Cozinha e Pan sem nenhum parmetro resulta em uma lista
de todos os parmetros disponveis. Basicamente, a sintaxe para especificar os parmetros
consiste de uma barra (/) Ou trao (- personagem), imediatamente seguido por
o nome do parmetro:
[/ -] Nome de valor] [[:=]
A maioria dos parmetros aceitar um valor. O valor do parmetro especificado diretamente
aps o nome do parmetro ou dois-pontos (:) Ou igual a um personagem (=),
seguido do valor real. O valor pode, opcionalmente, ser colocada em um nico
() Ou dupla (") Aspas. Isso obrigatrio no caso de o parmetro
valor em si contm caracteres espao em branco.
Captulo 11 Implantando Solues Pentaho Data Integration 331
ATENO Usando o travesso e iguais caracteres para especificar os parmetros podem
levar a problemas em plataformas Windows. Atenha-se a barra e dois pontos para evitar
problemas.
Apesar de postos de trabalho e as transformaes so funcionalmente muito diferentes, h
praticamente nenhuma diferena no lanamento a partir da linha de comando. Por isso,
Cozinha e Pan partes mais dos seus parmetros de linha de comando. O genrico
parmetros de linha de comando podem ser categorizadas como segue:
Especifique um emprego ou de
transformao
Controlar o registro
Especificar um repositrio
Lista de repositrios disponveis e seus contedos
Os parmetros comuns de linha de comando para ambos Pan e da cozinha esto listados
na Tabela 11-1.
Tabela 11-1: Os parmetros genricos de linha de comando para a cozinha eo Pan
NOME-
NOREP
Rep
Usurio
Pass
Listrep
Dir
Listdir
Arquivo
Nvel
Logfile
VALOR
Y
Nome do repositrio
username Repositrio
Repositrio senha do usurio
Y
Caminho
Y
Nome do arquivo
Erro |Nada |Basic |
Detalhada |Depurar |Rowlevel
Nome do arquivo para log
OBJETIVO
No se conectar a um repositrio.
til para ignorar o login automtico.
Conecte-se com o repositrio
nome especificado.
Conecte-se com o repositrio
especificado nome de usurio.
Conecte-se com o repositrio
especificados senha.
Mostra uma lista de repositrios disponveis.
Especifique o diretrio do repositrio.
Lista do repositrio disponvel
Emprego / diretrios do repositrio.
Especifique um emprego ou de transformao
armazenadas em um arquivo.
Especifique a quantidade de informao
devem ser registrados.
Especificar a qual arquivo que voc deseja
log. Por padro, as ferramentas de log para o
sada padro.
Visualizar a verso, nmero de reviso
e data de criao da ferramenta.
Verso
332 Parte III Integrao de dados e ETL
Embora os nomes dos parmetros so comuns a ambos Cozinha e Pan, o
semntica da dir e listdir parmetros so dependentes da ferramenta.
Para Cozinha, esses parmetros se referem aos diretrios nos repositrios 'trabalho. Para
Pan,
estes parmetros se referem aos diretrios transformao.
Executar trabalhos com Cozinha
Alm dos parmetros genricos de linha de comando, cozinha suporta um par
de outros parmetros, mostrados na Tabela 11-2.
Tabela 11-2: parmetros de linha de comando especfico para a cozinha
NOME
Trabalho
listjobs
VALOR
Nome do trabalho
Y
OBJETIVO
Especifique o nome de um trabalho armazenado no repositrio.
Lista de postos de trabalho disponveis no diretrio do repositrio
especificados pelo dir parmetro.
Listagem 11-5 fornece alguns exemplos de linhas de comando tpica cozinha.
Listagem 11-5: linhas de comando tpica cozinha
#
# Lista todos os parmetros disponveis
#
home PDI->. / kitchen.sh
#
# Executar o trabalho armazenado em / home / foo / daily_load.kjb
#
home PDI-> arquivo / kitchen.sh:. / home / foo / daily_load.kjb
#
# Executar o trabalho daily_load do pdirepo repositrio chamado
#
Home> PDI / kitchen.sh / rep:. Pdirepo / user: admin / pass: admin \
> Dir: / trabalho /: daily_load.kjb
Correndo com Transformaes Pan
Os parmetros Pan-especficas da linha de comando so completamente equivalente ao
os Cozinha especficos. Eles so mostrados na Tabela 11-3.
Tabela 11-3: parmetros de linha de comando especfico para a cozinha
NOME
Trans
VALOR
Nome do trabalho
OBJETIVO
Especifique o nome de um trabalho armazenado no repositrio.
Lista de postos de trabalho disponveis no diretrio do repositrio
especificados pelo dir parmetro.
Listtrans Y
Captulo 11 Implantando Solues Pentaho Data Integration 333
Usando parmetros personalizados de linha de comando
Ao utilizar ferramentas de linha de comando para executar tarefas e transformaes, pode
ser til usar parmetros de linha de comando para transmitir dados de configurao. Para
a linha de comando da cozinha ferramentas e Pan, voc pode usar o Java Virtual Machine
propriedades para obter o efeito de parmetros personalizados de linha de comando. A
sintaxe para passar esses parmetros'''' costume:
-D = valor <name>
A linha de cdigo a seguir ilustra como tal parmetro pode aparecer em uma
linha de comando da cozinha:
home PDI-kitchen.sh> / arquivo:-Dlanguage = en
Em transformaes, voc pode usar o Get System Info passo para obter o
valor dos parmetros de linha de comando. Voc pode encontrar este passo na entrada
categoria. O Get System Info etapa gera uma linha de sada com um
ou mais campos com um valor gerado pelo sistema. O Get System Info passo
configurado atravs da criao de campos e escolher um determinado tipo de sistema de valor
a partir de uma lista pr-definida (ver Figura 11-14).
Figura 11-14: Capturando parmetros de linha de comando com o Get System Info etapa
Entre os valores do sistema pr-definidos, voc vai encontrar um argumento de linha de comando
atravs argumento de linha de comando 10. Os campos com um desses tipos automatica-
mente ter o valor da correspondente D = valor <name> linha de comando
parmetro.
Usando os valores dos parmetros de linha de comando como entrada para um conjunto de
variveis
etapa, voc pode fazer os parmetros de linha de comando acessvel a outros trabalhos e
transformaes. Isso tambm mostrado na Figura 11-14.
334 Parte III Integrao de dados e ETL
Usando senhas de banco de dados Obfuscated
Para mitigar o risco segurana de passar senhas em texto puro no comando
linha de ferramentas como cozinha e Pan, voc pode usar ofuscado senhas de banco de
dados.
Voc pode usar esta tcnica para especificar a senha para o repositrio con-
fio Bluetooth para as ferramentas de linha de comando. Voc pode usar a mesma tcnica para
qualquer
conexes de banco de dados que voc configurou o uso de variveis, como discutido
anteriormente
neste captulo.
Para usar senhas ofuscado, primeiro voc precisa para executar o Encr.bat script
(Para sistemas Windows) ou encr.sh script (para sistemas UNIX-like), passando
a senha em texto puro. Aqui est um exemplo de comando para ofuscar a passagem
palavra wcm:
shell wcm encr.sh chaleira->
Este comando retorna o seguinte resultado:
Criptografado 2be98afc86aa7f2e4cb79ce10be85acd7
A sada de texto a senha real ofuscado. Agora voc pode usar este
no lugar da senha em texto puro. Certifique-se de incluir a completa ofuscado
senha, incluindo a parte legvel, Criptografado. Isso permite identificar PDI
a senha, ofuscado.
Rodando dentro do Pentaho BI Server
A Plataforma Pentaho fornece componentes para integrar Pentaho Data Inte-
trabalhos de integrao e transformaes nas seqncias de ao. Isso permite que os postos
de trabalho e
transformaes a ser agendada com o agendador de quartzo que construdo em
o servidor. Outro benefcio da incorporao de solues PDI em seqncias de ao
que ele permite a interao humana. Por exemplo, a seqncia de ao
pode levar o usurio para a entrada, que pode ento ser usado para parametrizar uma
transformao ou de emprego.
A integrao do PDI para a plataforma Pentaho no pra com a mera
execuo de tarefas e transformaes. transformaes PDI pode transferir um
conjunto de resultados para a seqncia de ao de chamada, permitindo relatrios para
desenhar os dados diretamente
do motor PDI. A seqncia de ao pode fazer praticamente tudo com
o conjunto de resultados: mostrar os dados em um relatrio ou em um grfico, percorrer as
linhas
e chamar um trabalho de impresso, envie uma mensagem de e-mail, use os dados da linha
como parmetros
para um relatrio, e assim por diante e assim por diante.
Transformaes em seqncias de ao
As transformaes podem ser incorporadas em seqncias de ao utilizando o Pentaho
Integrao de Dados ao do processo. As instrues a seguir descrevem como
utilizar uma transformao em uma seqncia de ao.
Captulo 11 Implantando Solues Pentaho Data Integration 335
1. Abra a seqncia de ao em Pentaho Design Studio. No processo
seo Aes, clique no boto Adicionar ou invocar o menu de contexto para adicionar
uma ao de processo do tipo Pentaho Data Integration. Voc pode encontrar este
no menu Ao processo, selecionando Adicionar obter dados de Pentaho
Integrao de Dados.
2. Configure o Pentaho Data Integration processo de ao de apontar para um
transformao. Para uma transformao armazenadas em um arquivo, use o boto
Procurar
boto para selecionar o apropriado . KTR arquivo. Para uma transformao armazenados
em
o repositrio, marque a caixa de seleo Use Chaleira Repository, e selecione o
diretrio desejado e transformao por meio do Diretrio e Transfor-
maes listas drop-down.
NOTA Voc deve configurar o servidor de BI para dizer-lhe que PDI repositrio de usar. A
procedimento para fazer isso descrito mais tarde nesta seo.
3. Se a transformao tem um passo Get System Info para capturar linha de comando
parmetros, voc pode usar a transformao seo Entradas para especificar
quais as entradas a partir da seqncia de ao deve ser passado para o trans-
formao. O Get System Info passo descrito em detalhes anteriormente neste
captulo, na seo''Usando parmetros personalizados de linha de comando''.
4. Se voc quer usar o fluxo de sada de uma das etapas de transformao
na seqncia de ao, especifique o nome da etapa de transformao em
a propriedade Step Transformao. Note que embora a propriedade oferece
uma caixa de listagem, voc ainda deve digitar manualmente o nome da transformao
etapa. Voc tambm deve fornecer um nome na propriedade Nome de sada ao mapa
o conjunto de resultados para uma sada seqncia de ao. Esse nome pode ser usado
por aes processo subseqente da seqncia de ao.
Figura 11-15 mostra uma seqncia de ao simples contendo trs processos
aes: uma ao Secure Descrio Filtro para levar o usurio para uma data, uma
Pentaho Data Integration ao para executar uma transformao e, finalmente, Pentaho
Relatrio de ao para executar um relatrio com base no conjunto de resultados retornado
pela Pentaho
Integrao de Dados ao.
Empregos em seqncias de ao
O procedimento para executar um trabalho dentro de uma seqncia de ao muito
semelhante ao
que, para transformaes. Os trabalhos so executados pela Pentaho Data Integration
Job ao do processo. Voc pode encontrar isso no menu Ao processo em Adicionar
Execute Pentaho Data Integration Job.
Tal como acontece com as transformaes, voc pode se referir tanto a um arquivo ou um
item na
repositrio. Voc tambm pode especificar as entradas para um trabalho, assim como
possvel para um
transformao. No entanto, um trabalho no pode retornar um conjunto de resultados para a
seqncia de ao.
336 Parte III Integrao de dados e ETL
Figura 11-15: Usando uma transformao em uma seqncia de ao
O servidor Pentaho BI e do PDI Repositrio
O servidor Pentaho BI tem um arquivo de configurao separado que especifica onde
procurar emprego e transformaes. Por padro, o servidor est configurado para funcionar
com arquivos de trabalho e transformao. Se voc quiser usar postos de trabalho e as
transformaes
armazenadas em um repositrio PDI, voc precisa configurar o servidor de acordo. Para
exemplo, se voc est recebendo mensagens de erro como o seguinte, voc sabe
Voc ter que configurar isso.
Kettle.ERROR_0019 - RDBMS acesso a transformao no permitido quando
tipo de repositrio 'arquivos'
Para configurar o servidor para usar o repositrio do PDI, use um editor de texto
abrir o settings.xml arquivo localizado na pentaho-solutions/system/kettle
diretrio. O contedo desse arquivo deve ser algo parecido Listagem 11-6.
Listagem 11-6: Contedo do arquivo settings.xml padro
<kettle-repository>
<! - A localizao do arquivo Chaleira repositories.xml
deixar em branco quando padro (HOME .kettle / repositories.xml) ->
<repositories.xml.file> </ repositories.xml.file>
<-! Arquivos ou RDBMS ->
Captulo 11 Implantando Solues Pentaho Data Integration 337
<repository.type> arquivos </ repository.type>
<! - O nome do repositrio para usar ->
<repository.name> </ repository.name>
<! - O nome do repositrio do usurio ->
<repository.userid> </ repository.userid>
<! - A senha ->
<repository.password> </ repository.password>
</ Chaleira repositrio>
Os comentrios no settings.xml arquivo auto-explicativo:
Definir o contedo do repository.type elemento para rdbms se voc quiser
usar um repositrio PDI.
Coloque o nome do repositrio que voc deseja usar na repository.name
elemento. Este deve ser o nome de um repositrio existente definido no PDI
repositories.xml arquivo.
Definir o repository.name elemento para o nome do usurio do repositrio que
ligar para o repositrio.
Definir o repository.password elemento para a senha do repositrio
usurio.
Ao contrrio do que a sugesto nos comentrios que aparecem no settings.xml
arquivo, no possvel especificar um determinado repositories.xml arquivo usando
o repositories.xml.file elemento. Se voc tentar configur-la, uma
mensagem de erro como a seguinte indica que ele ainda no est implementado na sua
plataforma:
Kettle.ERROR_0017 - Desculpe, especificando o arquivo repositories.xml para
utilizao futura, tendo o arquivo padro para agora.
Execuo remota com Carte
Carte um servidor que executa trabalhos leves ou transformaes em resposta
a uma solicitao HTTP. Um servidor chamado de Carte servidor escravo, porque ele
responde
aos pedidos de outros lugares, e executa o trabalho associado, em nome da
da parte requerente. Vrios servidores escravos que so usados para executar um conjunto
nico trabalho ou transformao so referidos como um cluster.
Execuo remota e aglomerao so caractersticas muito poderosas, estabelecendo o PDI
alm de um produto de integrao de dados que adequado para a computao em nuvem
ambientes como o Amazon EC2. Isso significa que o processo de integrao de dados
pode de maneira rentvel ser escalado dinamicamente, de acordo com a demanda.
Neste livro, no possvel descrever todos os casos de uso e as vantagens da
esses recursos. Em vez disso, vai descrever a sua arquitectura e componentes. Este
deve servir como uma boa introduo para os leitores que queiram utilizar esses recursos.
338 Parte III Integrao de dados e ETL
Por execuo remota?
De uma forma ou de outra, todas as razes para exigir a execuo remota ou clustering
esto relacionados a problemas de desempenho de superao. A lista a seguir resume
mais importantes problemas de desempenho que podem ser resolvidos com controle remoto
execuo e / ou agrupamento:
Escalabilidade
Disponibilidade
Reduo de trfego de rede
Reduo da latncia
Vamos agora explicar esses conceitos com mais detalhes.
Escalabilidade
Cada computador tem um potencial de transformao que , em ltima anlise limitada pelo
hard-
ware: CPU, memria, disco e rede. Contanto que nenhum desses componentes
est esgotado pelo trabalho, no h problema. No entanto, uma crescente
carga de trabalho, mais cedo ou mais tarde porque um dos recursos a serem maxed para fora,
limitando assim o desempenho do sistema como um todo. O termo escalabilidade
refere-se a quo bem o sistema pode ser cultivada para acompanhar uma crescente
carga de trabalho.
H duas maneiras fundamentais para o crescimento do sistema:
Atualizar os componentes de hardware com outros que oferecem melhor desempenho.
Por exemplo, voc pode substituir um processador de 1 GHz com um que trabalha a 2
GHz.
Esta estratgia conhecida como scale-up.
Adicionar mais computadores com semelhantes ou comparveis potencial de
transformao.
Esta estratgia conhecida como scale-out.
Com Carte, recursos remotos PDI permitir a execuo de agrupamento, e este
permite a integrao de dados de carga de trabalho a serem distribudos entre um nmero de
computadores que funcionam em paralelo para fazer o trabalho. Paralelizao permite
mais trabalho a ser feito no mesmo espao de tempo. Este um exemplo tpico de um
arquitetura scale-out.
Disponibilidade
Disponibilidade do servio normalmente no o objetivo principal para o agrupamento de
dados em um
integrao do ambiente. No entanto, ao agrupamento para fins de expanso,
maior disponibilidade vem como um bnus extra. Isto merece uma explicao.
Quando um processo depende de um nico computador, esse computador se torna
um ponto nico de falha. Se o computador torna-se indisponvel para qualquer
motivo, o servio que fornece normalmente fica indisponvel tambm.
Captulo 11 Implantando Solues Pentaho Data Integration 339
Um cluster no tem tal ponto nico de falha. Com capaci Carte de clustering-
dade, no caso em que um computador se torna indisponvel, o cluster restantes
ainda podem ser usados para processar trabalhos e transformaes. O restante pode agrupar
demorar um pouco mais para realizar a tarefa, porque h menos laboriosos de
distribuir a carga, mas a verdade que o prprio servio ainda est disponvel.
Reduo de trfego de rede
Se o seu problema de integrao de dados envolve grandes volumes de dados em mquinas
remotas,
ou vrias fontes de dados em mquinas remotas, puxando os dados atravs da rede
a um computador para executar uma transformao ou de trabalho podem facilmente
sobrecarregar o
rede. Isso pode resultar em mais tempo de processamento, ou pior, a deteriorao
de outras aplicaes que dependem da rede.
Ao empurrar todas as transformaes agregar e filtrar o mais prximo possvel
para o local onde os dados de origem armazenado, uma reduo considervel na
o volume de dados que deve ser puxada por toda a rede pode ser alcanado, assim,
descarga na rede.
Por exemplo, suponha que voc queira fazer uma anlise bsica do logs de acesso de um
cluster de servidores web. Digamos que voc deseja contar o nmero de visitas a cada
pgina. Normalmente, o nmero de pginas exclusivas ser muito pequeno em comparao
ao nmero total de pedidos. Fazendo a anlise localmente em um computador
implicaria copiar os logs de acesso, causando uma carga significativa no
rede. Remotamente a execuo da anlise sobre o servidor onde o log armazenado
usando Carte vai aumentar a carga sobre os servidores remotos, mas significativamente
diminuir a carga sobre a rede, pois somente o resultado relativamente pequeno de
a anlise ter que viajar para a rede.
Reduo da latncia
operaes de pesquisa sobre fontes de dados remotas ter tempo para viajar por todo o
rede. Se a operao de pesquisa em si bastante rpido, o tempo ser perdido espera
para os circuitos de rede. Usando a capacidade de execuo remota de Carte, voc pode
minimizar a latncia, realizando a pesquisa mais prxima da fonte de pesquisa
de dados.
Note que esta estratgia para reduzir a latncia ir funcionar apenas para casos especficos.
Se voc precisa olhar para os mesmos dados, muitas vezes, o cache local susceptvel de
ser
uma melhor soluo para reduzir a latncia. Por outro lado, se quase todas as pesquisas
so originais, ou a quantidade de dados de pesquisa muito grande para cache, realizando a
pesquisa distncia pode ajudar.
Correndo Carte
Carte fcil de configurar. Assim como as outras ferramentas PDI iniciado executando um
shell
script que reside no diretrio home do PDI. Em sistemas Windows, este script
chamado carte.bat. Para sistemas baseados em UNIX, o script chamado carte.sh.
340 Parte III Integrao de dados e ETL
Correndo Carte sem nenhum parmetro revela a disposio de linha de comando
parmetros e alguns exemplos de uso (ver listagem 11-7).
Listagem 11-7: Correndo carte sem parmetros
Shell>. / Carte.sh
Uso: Carte [endereo Interface] [Porto]
Exemplo: 127.0.0.1 Carte 8080
Exemplo: 192.168.1.221 Carte 8081
A Endereo de interface parmetro usado para especificar o endereo IP do
adaptador de rede que est a ser utilizado pelo servidor Carte. A Porto parmetro
usado para especificar em qual porta o servidor dever atender aos pedidos. Ambos
parmetros so obrigatrios.
NOTA Certifique-se de escolher uma porta que no esteja sendo usado por outro servidor. Na
primeiro exemplo fornecido pela sada Carte mostrado na Lista 11-7, porto 8080
utilizado. A porta 8080 tambm a porta padro do pr-servidor de BI Pentaho.
Voc pode receber uma mensagem de erro como o seguinte se a porta j est tomada:
2009/01/23 11:37:39.759:: WARN: no SocketConnector@127.0.0.1: 8080
java.net.BindException: Endereo j em uso: JVM_Bind
Criando Servidor Slave
Antes que voc pode usar um servidor remoto para executar Carte sua transformao ou
trabalho, voc deve criar um objeto do servidor escravo. Neste contexto, um servidor escravo
como
uma conexo de banco de dados: um descritor de chamada para localizar um servidor remoto.
Para criar um servidor escravo, habilitar o modo de visualizao no painel lateral. Expanda
a transformao em curso ou trabalho, e boto direito do mouse na pasta do servidor escravo
no
lado do painel. No menu de contexto, escolha Novo e, a caixa de dilogo Server escravo
aparecer. Na pgina da guia de servio deste dilogo, voc pode definir as propriedades de
o servidor Carte, como mostrado na Figura 11-16.
Especifique um valor para o nome do servidor, nome ou endereo IP, Port, Username,
e campos de senha. O nome do servidor ser usado para se referir a este particular
Carte servio no PDI. O nome do host / endereo IP ea porta identificar os
Carte servidor na rede.
O nome de usurio e senha de imveis so obrigados a fornecer um nvel bsico
de segurana. Por padro, voc pode usar admin para ambos. Isto suficiente quando
executado em um ambiente onde a rede est protegida e inacessvel aos
usurios no autorizados. Se voc precisa executar Carte em uma rede de mais pblico, voc
pode ligar em mais servios de autenticao avanada para oferecer uma melhor segurana.
NOTA Voc pode usar variveis para parametrizar as propriedades do servidor escravo.
Um caso de uso para eles clara quando o ambiente de computao em nuvem no
apoio endereos IP fixos. Este o caso com o EC2 da Amazon.
Captulo 11 Implantando Solues Pentaho Data Integration 341
Figura 11-16: Definio de um novo servidor escravo
Remotamente Executando uma transformao ou de trabalho
Voc pode usar os botes na parte de execuo local ou remota na
topo da executar uma tarefa ou executar um dilogo Transformao de escolher se
voc deseja executar o trabalho / transformao na mquina local ou em um de seus
servidores escravos. Para executar remotamente, verifique o boto Executar remotamente,
e usar o combobox host remoto para selecionar o servidor escravo que deseja usar.
Isso mostrado na Figura 11-17.
Figura 11-17: Executando um trabalho remotamente
Clustering
Voc pode executar transformaes em um cluster de servidores escravos. Para usar tal
cluster, necessrio definir uma esquema de cluster. Um esquema de cluster simplesmente
um nome
342 Parte III Integrao de dados e ETL
coleo de servidores escravos. Aps a definio do esquema, voc pode atribuir um cluster
para as etapas de sua transformao, fazendo com que passo a ser processado no
escravos desse cluster.
Para comear com cluster, primeiro necessrio definir um nmero de escravos
servidores, como discutido na seo anterior. Depois, voc pode definir uma aglomerao
esquema. Ao lado do painel, est no modo de visualizao, voc pode ver um aglomerado
Chaleira
esquemas n na parte inferior da rvore. Se voc clicar o boto direito do n, um
menu de contexto ser exibido, a partir da voc pode criar um novo item. Isso traz tona
o agrupamento de dilogo de esquema, mostrado na Figura 11-18.
Figura 11-18: O esquema de cluster de dilogo
Na caixa de dilogo de esquema de cluster, voc deve digitar um nome de esquema. O
esquema
nome deve ser exclusivo para a transformao. Voc pode atribuir servidores escravos
com o esquema, pressionando o boto Select escravo servidores. Isso traz a
Selecione a caixa de dilogo servidores, listando todos os servidores escravos disponveis.
Neste dilogo,
voc deve selecionar todos os servidores escravos que precisam participar do cluster. (Voc
pode selecionar vrios itens mantendo pressionada a tecla Ctrl e clicando em
a entrada desejada.) Quando voc terminar de escolher os servidores, clique no boto OK
para
designar os servidores escravos. Note que isso ir apagar qualquer atribuio prvia de
servidores escravos ao cluster.
Depois de definir o esquema de cluster, voc pode atribuir o cluster para o seu
etapas de transformao. Basta selecionar a etapa e clique com o boto direito para abrir o
menu de contexto. Escolha o Clustering . . . opo. Isso traz uma caixa de dilogo
de onde voc pode escolher um dos esquemas disponveis clustering. Clique em OK para
confirmar o dilogo eo cluster atribudo etapa. Voc pode limpar o
associao com um grupo, trazendo o dilogo novamente e pressionar Cancelar.
Captulo 11 Implantando Solues Pentaho Data Integration 343
Resumo
Neste captulo, voc aprendeu tcnicas diferentes que voc pode usar para executar e
implementar
Pentaho Data Integration postos de trabalho e as transformaes nos sistemas de produo.
Voc
aprendi:
Como usar variveis para gerenciar recursos como conexes de banco de dados,
nomes de arquivos e diretrios
Como usar conexes JNDI
Como trabalhar com repositrios PDI
Como usar a cozinha e Pan para executar as transformaes e as tarefas da
linha de comando
Como executar tarefas dentro do servidor de BI Pentaho usando uma seqncia de
ao
Como executar um trabalho ou transformao remotamente usando
Carte
O agrupamento , e quais os benefcios que tem
Como servidores de grupos de vrios escravos em um cluster
Parte
IV
Business Intelligence
Aplicaes
Nesta parte
Captulo 12: A camada de metadados
Captulo 13: Usando as ferramentas Pentaho Reporting
Captulo 14: Agendamento, assinatura e Bursting
Captulo 15: Solues OLAP Utilizando Pentaho Analysis Services
Captulo 16: Data Mining com Weka
Captulo 17: Construindo Painis
CAPTULO
12
A camada de metadados
Muitos dos temas relacionados com a inteligncia de negcio, tais como a integrao de
dados
e armazenamento de dados, podem ser entendidos como solues para os problemas
relativos
abstrao, a acessibilidade ea transmisso dos dados.
Nos captulos anteriores, voc aprendeu que o armazm de dados fornece um
ofertas substanciais de abstrao a partir dos dados acumulados em vrios
fontes de dados. Central para que a realizao a organizao de dados em
orientadas para um assunto esquemas estrela, reduzindo consideravelmente a complexidade
do trans-
lando perguntas a partir do final de negcios para consultas de banco de dados.
Apesar de estabelecer um data warehouse resolve alguns dos abstrao de dados
e as questes de acessibilidade, ainda no ideal para o fornecimento de dados para
ferramentas de relatrios.
Os utilizadores empresariais tentar obter dados a partir do armazm podem ter dificuldades
para obter o
informao que eles querem em um formato que possa compreender, ou o sistema pode
precisar
para ser refinado para se certificar de que os dados podem ser acessados de forma til. Neste
captulo, voc aprender como a adio de uma camada de metadados pode ajudar neste
aspecto.
Metadados Resumo
Nesta primeira seo, vamos explicar brevemente o que tipos de coisas que ns estamos
falando
sobre quando usamos o termo metadados'',''e qual problema ela resolve. Mais tarde
Neste captulo, vamos dar uma olhada no uso de metadados Pentaho.
O que so metadados?
O termo metadados um pouco em demasia. Em um sentido geral, significa que os dados
sobre''
de dados.''Dependendo do contexto, h um monte de coisas diferentes para dizer
347
348 Parte IV Inteligncia Aplicaes de Negcio
''Dados sobre'', e tecnicamente tudo isso se qualifica como metadados. Por exemplo, a
maioria
RDBMSs apoio listando todas as bases de dados disponveis e objetos de esquema. Esta
uma
exemplo tpico de metadados, que descreve os tipos disponveis e as formas de
dados armazenados no banco de dados.
A plataforma Pentaho oferece as suas instalaes para armazenar e acessar
metadados. No contexto deste captulo, usamos o termo metadados Pentaho para
denotar a facilidade de metadados que parte da plataforma Pentaho.
As vantagens da Camada de Metadados
Como mencionado anteriormente, o data warehouse no resolve todos os problemas em
entregar os dados para ferramentas de relatrios. Nesta seo, ns tomamos um olhar mais
atento
estes problemas no resolvidos e mostrar como uma camada de metadados podem ajudar a
resolver
elas.
Utilizando Metadados para fazer uma interface mais amigvel
Do ponto de vista das ferramentas de comunicao e de visualizao, o data warehouse
''apenas''um banco de dados relacional. Usando ainda requer considervel conhecimento
e experincia com a linguagem de consulta de banco de dados (que normalmente alguma
dialeto da Structured Query Language, SQL). Na maioria dos casos, isso causa
design de relatrio para estar fora do alcance do usurio tpico de negcios. O Pentaho
camada de metadados podem aliviar este problema at certo ponto.
Voc pode usar a camada de metadados para descrever as tabelas e suas colunas
e relacionamentos. Uma vez que este descrito, colees de colunas pode ser definida
que so susceptveis de aparecer juntos em um relatrio. Estes podem ento ser apresentado

o usurio, utilizando uma interface de assistente. Isso permite que o usurio final a criao de
relatrios
on-the-fly, basta escolher as colunas de interesse e coloc-los numa
relatrio. Devido metadados definido''nos bastidores'', o mecanismo de relatrio
sabe como gerar a consulta de dados adequados para entregar o especificado
os resultados.
Adicionando Independncia Flexibilidade e esquema
Suponha que voc acabou de construir cerca de 50 ou mais relatrios diretamente em seus
dados
armazm. De repente, os dados da equipe de projeto do armazm decide que, no
interesse de desempenho da consulta, faz sentido separar uma mini-dimenso
da tabela de dimenso do produto. Este tem potencialmente um impacto sobre todos os
relatrios que voc construiu que so dependentes da dimenso do produto. Na verdade,
voc
pode precisar exatamente o que relata a investigao ser afetado.
A camada de metadados podem ajudar a limitar o impacto do esquema do banco
alteraes. Como a camada de metadados permite que voc especifique os relatrios em um
coleo predefinida de tabelas usando conhecida juntar os caminhos, as mudanas de
esquema pode
Captulo 12 A camada de metadados 349
ser resolvidos atravs do mapeamento do esquema novo banco de dados para
o''esquema''resumo
apresentados os relatrios da camada de metadados.
Esse tipo de mudana pode ir muito alm da simples renomeao de tabelas e
colunas. Por exemplo, se a equipe do data warehouse decide mudar-se de um
esquema em estrela para um floco de neve (ou o contrrio), o impacto resultante
pode ser completamente amortecido por uma camada de metadados. Da mesma forma, as
solues que
reportar diretamente sobre (uma cpia) do sistema de origem pode ser gradualmente
transferido para
um ambiente de pleno direito do armazm de dados. Estas alteraes envolvem
uma ampla modificao da camada de metadados, mas esta seria uma one-shot
operao, evitando o caminho potencialmente mais tempo e esforo, consumo de
mudando todos os relatrios.
Privilgios de acesso do Refino
Outro aspecto da entrega de dados que no est completamente resolvido pelos dados
armazm privilgios de acesso. Embora a maioria dos RDBMSs proporcionar um acesso
camada que envolve a autenticao e autorizao, este no freqentemente
bastante finos para aplicaes (incluindo aplicaes de BI). O nativo
RDMBS camada de acesso tipicamente implementado pelos utilizadores concesso do
privilgio
para um uso particular (leitura, escrita, ou alterao) da base de dados designada
objetos (como tabelas, exibies e / ou procedimentos armazenados). O RDBMS nativas
camada de acesso geralmente no oferecem a possibilidade de controle de acesso a dados
sobre o
linha de nvel.
A camada de metadados permite que a autorizao para ser definida em vrios nveis.
A autorizao pode ser controlada de forma flexvel a nvel de usurio ou papel, e pode
ser orientada a objetos em sua totalidade, ou linhas individuais. Isso permite que
refinadas polticas de acesso.
Manipulao de localizao
sada do relatrio contm os dados, bem como metadados. Por exemplo, a sada do
de um relatrio de vendas pode mostrar os nmeros reais de vendas junto com dados, tais
como
o pas eo estado nomes e datas de vendas. Mas, alm disso a sada do relatrio,
normalmente
contm os rtulos de texto que descrevem os dados que est sendo mostrado. Por exemplo,
uma venda
relatrio com um layout de colunas podem ter um ttulo que se l''Country''direito
acima da coluna que contm os nomes de pases.
O problema com esses rtulos que eles no so de idioma neutro. Este
pode ser um problema em organizaes multinacionais ou multilingues. Por exemplo,
World Class Filmes tem gerentes Ingls e de lngua francesa. Ambos precisam
para ver os dados mesmo relatrio, mas os rtulos relatrio deve ser localizada no
linguagem apropriada, consoante os pedidos em que o gerente do relatrio.
A camada de metadados Pentaho suporte a vrias localidades. Descritiva adequada-
laos, como etiquetas e descries de objetos de dados, como tabelas e colunas
350 Parte IV Inteligncia Aplicaes de Negcio
pode ser associado com textos dependente de localidade. Isso permite que os relatrios
devem ser
adaptados para cada idioma.
Cumprimento de formatao consistente e Comportamento
Atributos das tabelas de dimenso, por vezes, manter os dados pr-formatados. Para
exemplo, tabelas de dimenso de data geralmente contm muitas colunas para armazenar
diferentes
representaes de texto a partir da data do calendrio. Isto completamente diferente de
mtricas
armazenadas nas tabelas de fatos. Mtricas so tipicamente numricos, e, muitas vezes, os
relatrios
mostram os dados agregados da mtrica, em vez de valores brutos estocados em
linhas de fato.
Para alguns tipos de dados de mtricas, formatao especial dos dados pode ser
desejvel. Por exemplo, a mtrica monetria, tais como custo, lucro e volume de negcios
deve aparecer em relatrios com o smbolo da moeda adequada e separadores
para decimais e milhares. Alguns atributos de dimenso ainda podem requerer
formatao adicional, especialmente se a formatao desejada no pode ser alcanado
simplesmente armazenar um valor. Por exemplo, o texto representa URLs podem precisar
a ser processado de uma forma que os distingue de outros dados. Para alguns
tipos de sada do relatrio, tais como documentos PDF ou pginas web, ele mesmo pode
desejvel anexar um comportamento especfico para os dados da URL, como a abertura do
site adequado quando o rtulo clicado.
A camada de metadados Pentaho permite que grupos de visual e comportamental
adequada-
chamados laos conceitos para ser anexado aos objetos de dados, como tabelas e colunas.
Conceitos podem ser baseadas em conceitos existentes a partir do qual herdam seus
propriedades. Se desejar, um conceito pode substituir as propriedades de seu pai con-
conceito. Isso permite que voc crie uma hierarquia de conceitos que podem ser usados
consistentemente aplicar as propriedades visuais e comportamentais para itens de dados.
mbito de aplicao e uso da Camada de
Metadados
A lista a seguir oferece um breve panorama de como Pentaho usa os metadados
camada na prtica. Estes pontos esto ilustrados na Figura 12-1.
Metadados de entrada do banco de dados, bem como metadados definidos pelo usurio,
definido usando o Pentaho Metadata Editor (PME) e armazenados no
repositrio de metadados.
Os metadados podem ser exportados a partir do repositrio e armazenados na forma de
. Xmi arquivos, ou em um banco de dados. Os metadados so associados a uma Pentaho
soluo Pentaho no servidor, onde ele pode ser usado como um recurso para
metadados baseados em servios de informao.
Captulo 12 A camada de metadados 351
Design Tools Relatrio
Terceiros
iReport (Jasper)
BIRT
Pentaho
Relatrio
Designer
Anncio com base na Web
Hoc Query
e Relatrios
Design, editar, testar
Relatrio baseado em SQL
SQL
Reportagem Motores
Terceiros
Jasper (Jaspersoft)
BIRT (Actuate)
Relatrio baseado MQL
MQL Executar
Pentaho
Pentaho
Reportagem do motor MQL
Mecanismo
SQL
Metadados
XMI
Arquivos
Banco de Dados
(DWH, ODS)
Metadados Entrada
Ferramentas de Desenvolvimento de
Metadados
Pentaho editor de metadados
Importao, Exportao
Publicar
Carregar, Salvar
Metadados
Repositrio
Baseado em arquivo
Repositrio
RDBMS baseado
Repositrio
Figura 12-1: Resumo de alto nvel do escopo e do uso de Pentaho Metadata
352 Parte IV Inteligncia Aplicaes de Negcio
Usando as ferramentas de projeto Pentaho relatrio, os usurios finais podem criar
relatrios sobre
os metadados. Isso permite que os relatrios a serem construdas sem o conhecimento
da
detalhes fsicos do banco de dados subjacente, e sem nenhum conhecimento
de SQL. Em vez disso, o relatrio contm uma especificao de alto nvel da consulta
resultado, que definida atravs de uma interface grfica de usurio.
Ao executar relatrios baseados em Pentaho metadados, o mecanismo de relatrio
interpreta o relatrio. Consulta s especificaes so armazenadas no relatrio
um formato chamado Metadados Query Language (MQL), que resolvido
contra os metadados. Neste ponto, o SQL correspondente gerado
e enviado para o banco de dados. Alm deste ponto, o processamento do relatrio
bastante
semelhante ao''normal''relatrios baseados em SQL. O banco de dados responde ao
consulta atravs do envio de um resultado de dados, que processado como sada do
relatrio.
Atualmente, o uso da camada de metadados Pentaho limitado a relatar.
No futuro, o apoio de metadados para outros componentes da plataforma, como
anlise, minerao de dados e integrao de dados podem ser adicionados.
NOTA metadados Pentaho atualmente baseada na Common Warehouse
Metamodelo (CWM) especificao criada e mantida pelo Object
Management Group (OMG). O CWM uma plataforma aberta e independente de fornecedor
norma que especifica a troca e representao de business intelligence
metadados.
Para obter mais informaes sobre o CWM, consulte o catlogo da OMG
Modelagem e especificaes de metadados. Voc pode encontr-lo em
http://www.omg.org/technology/cwm/.
Metadados Caractersticas Pentaho
Nesta seo, descrevemos brevemente as caractersticas fundamentais dos metadados
Pentaho
camada.
Banco de Dados e Abstrao de consulta
A camada de metadados Pentaho pode conter muitos tipos distintos de estrutura
componentes, e fcil perder de vista o quadro geral. Portanto, vamos
examinar primeiro a camada de metadados em um alto nvel antes de mergulhar nos detalhes.
Relatrio de Definio: Ponto do usurio de negcios de viso
Considere os requisitos de uma empresa tpica do usurio, digamos, o gerente de
Vendas e Aluguis no Filmes Classe Mundial. Para cada site, o gerente
Captulo 12 A camada de metadados 353
gostaria de ver o nmero de encomendas feitas por cada ms em 2008 por
clientes dos Estados Unidos. Mesmo sem nenhum conhecimento da sub-
mentindo banco de dados, a maioria dos usurios de negcios so perfeitamente capazes de
compreender o
estrutura e elementos de sada do relatrio. Um relatrio como este ter:
Uma seo encabeada pelo ttulo website ou URI
Em cada seo, de 12 linhas com uma etiqueta indicando o ms
Para cada ms, o tema do relatrio propriamente dito, isto , o nmero de
ordens
Alm destes itens visveis, o relatrio tem dois itens que so invisveis
usado para fazer a escolha adequada:
Um item de ano para selecionar apenas os pedidos feitos no ano de 2008
Um item pas que serve para selecionar apenas os clientes dos Estados Unidos
Agora, ns descrevemos a estrutura do relatrio, em termos de sees e seo
contedo, mas importante perceber que esta uma questo de apresentao:
A informao foi transmitida pelo relatrio permanecer o mesmo independentemente da
se ele contm uma seo por ms com linhas para cada site ou
uma seo por site que contm linhas para cada ms. Se ns esquecemos sobre
a ordem do agrupamento por um momento, acabamos com uma coleo de linhas
consistindo de um site, um ms, eo nmero de encomendas. Em outras palavras,
os dados do relatrio tabular e contm os itens website, nmero e srie
das encomendas.
Relatrio de Execuo: o desenvolvedor de SQL View
Suponha que voc deseja recuperar os dados do mesmo relatrio diretamente do Mundo
Classe armazm de dados de filmes usando SQL. Se voc tem as habilidades de SQL, que
certamente
no difcil (embora possa ser um pouco entediante). Mesmo assim, esta seco anda
lo atravs do processo passo a passo para ilustrar alguns conceitos sobre Pentaho
metadados.
Uma maneira comum de atacar este problema no SQL comear com a tabela
mais centrais para a questo. Neste caso, o relatrio sobre o nmero
de encomendas, assim que voc comear com o fact_orders tabela. Voc v que contm o
customer_order_id. Se voc aplicar o COUNT funo agregada em combinao
com o DISTINCT modificador, voc pode usar isso para contar o nmero de indivduos
ordens.
A partir da fact_order tabela, use uma juno de''procurar''o cliente que
colocado na ordem do dim_customer tabela. Voc precisa disto para que voc possa usar o
country_name coluna para restringir os resultados para os clientes dos Estados Unidos
apenas. Voc pode usar outro juno entre fact_order e dim_website onde
354 Parte IV Inteligncia Aplicaes de Negcio
encontrar o website_title. Finalmente, voc usa outro juno entre fact_order
e dim_date para obter a data do pedido. Voc precisa disto para que voc possa restringir o
resultado de encomendas feitas no ano de 2008 e para produzir etiquetas para cada ms
item de relatrio.
Conceitualmente, as mesas se juntou a servir para''alargar''o fact_order mesa,
estend-lo com atributos de tabelas associadas. Agora voc pode aplicar o
critrios para o ano (deve ser igual a 2008) eo pas (deve ser igual
grupo para os Estados Unidos) e depois pelo ttulo do Web site e um ms a contar da
nmero de ordens distintas, o que lhe d o resultado final. Figura 12-2 mostra
uma representao grfica desses caminhos e juntar os itens de relatrio.
dim_customer
country_name
Relatrio de vendas
Critrios
country_name = 'Estados Unidos'
ano = 2008
Agrupamento
MONTH_NAME
website_title
Dados
COUNT (DISTINCT customer_order_id)
dim_date
ano4
MONTH_NAME
dim_website
website_title
fact_order
COUNT (DISTINCT customer_order_id)
Figura 12-2: Derivando itens de relatrio de tabelas associadas
Para completar, a instruo SQL mostrado na Lista 12-1.
Listagem 12-1: A instruo SQL para recuperar o nmero de pedidos, agrupados por site
ttulo e no ms
SELECT
,
,
DA
INNER JOIN
ON
INNER JOIN
ON
INNER JOIN
ON
ONDE
E
GROUP BY
,
dim_website.website_title
dim_date.month_name
COUNT (DISTINCT fact_order.customer_order_id) AS count_orders
fact_order
dim_customer
dim_customer.customer_key fact_order.customer_key =
dim_website
dim_website.website_key fact_order.website_key =
dim_date
dim_date.date_key fact_order.local_order_date_key =
dim_date.year4 = 2008
dim_customer.country_name = 'Estados Unidos'
dim_website.website_title
dim_date.month_name
Captulo 12 A camada de metadados 355
Mecnicos de Abstrao: A camada de metadados
provvel que os passos que voc acabou de passar por est alm das habilidades tcnicas
da maioria dos usurios de negcios e, certamente, alm de descries de seu trabalho. Mas
o que se
os detalhes de juntar as mesas tinham sido tomado cuidado de antes? E se voc
usurios apresentam apenas um conjunto de itens a partir do qual pode escolher o que quer
acontecer de achar interessante? E se o customer_order_id item foi
concebido para representar directamente o COUNT DISTINCT operao?
Esta , de fato, exatamente como funciona Pentaho abstrao de metadados. Negcios
desenvolvedores de inteligncia que tm as habilidades eo conhecimento de fundo do
banco de dados de relatrios ou armazm de dados pode definir a existncia de tabelas reais
e colunas em que chamado de camada fsica. Os objetos da fsica
camada so os blocos de construo para a camada de lgica.
Na camada lgica, os quadros da camada fsica so redefinidas e
s vezes enriquecida com colunas extras que so derivados de colunas em
a camada fsica atravs da aplicao de funes e outras expresses para eles.
Outro tipo de objeto encontrado na camada lgica a relacionamento.
Um relacionamento define essencialmente como dois quadros na camada lgica pode ser
juntou. s vezes, existem mltiplas relaes entre as duas tabelas, que
por isso que voc pode basear vrias tabelas na camada lgica em uma nica e mesma
tabela na camada fsica. Isto vem a calhar quando se trata de role-playing
tabelas de dimenso.
A camada de entrega onde as selees de colunas da camada lgica so
agrupados em unidades que faam sentido para o usurio corporativo. Este o nico
parte da camada de metadados que ser visvel para os usurios empresariais. A partir daqui,
eles podem pegar os itens de interesse para a construo de relatrios. Esta seleo
indicado em um
formato XML especial chamado MQL (metadados Query Language).
O MQL''''consulta pode ser usada para gerar uma consulta SQL (ver Figura 12-1).
A origem dos itens MQL pode ser rastreado para a camada de lgica e de
l para a camada fsica. Com base nessas informaes, pode-se derivar as tabelas
deve ser juntado, e as colunas que devem ser agrupados por diante.
Propriedades, Conceitos e Herana na Metadados
Camada
Nesta seo, discutimos conceitos e propriedades, que so fundamentais
blocos de construo da Pentaho Metadata Layer. Alm disso, descrevemos como
conceitos podem herdar as propriedades de um outro.
Propriedades
Os objetos na camada de metadados pode ter um nmero de propriedades. As propriedades
so
itens nomeados que so usados para associar diferentes tipos de informao com
356 Parte IV Inteligncia Aplicaes de Negcio
os objetos na camada de metadados. As propriedades podem ser divididos em um nmero de
categorias:
As propriedades gerais, tais como nome e descrio
propriedades visuais, tais como fonte, cor, e se o objeto visvel em
todos os utilizadores finais
Descritores de Modelo, tais como a expresso subjacente, tipo de dados e agre-
Estado inqurito
objetos de metadados pode ter uma coleo de propriedades. Dependendo do tipo
do objeto de metadados, algumas propriedades so obrigatrias e sempre presente.
Conceitos
No contexto da Pentaho metadados, um conceito uma coleo de propriedades que
pode ser aplicado como um todo a um objeto de metadados. No mximo, um conceito pode
ser
anexado a um objeto de metadados dessa maneira.
Um exemplo de um conceito seria quantia em dlar. Ao adicionar propriedades
que fornecem a formatao visual correta de valores em dlares, e especificando uma
tipo de dados comuns (por exemplo, um tipo decimal com pelo menos duas posies
depois da vrgula) ea regra de agregao (por somatrio, por exemplo), voc
pode formatar rapidamente todos os objetos de coluna que mantm os valores que
representam dlar
montantes. Ao aplicar o conceito ao invs de localmente modificar individuais
propriedades no nvel do objeto, assegurar que os metadados consistente e facilmente
sustentvel.
Os conceitos so construdos em cima de conceitos j existentes. Isto explicado em
detalhes no
prxima seo,''herana.''
Herana
As propriedades podem ser gerenciados usando um recurso chamado herana. Herana
ocorre
baseando um objeto, o criana objeto, em outro objeto, a pai objeto. Em caso
de herana, propriedades da criana e seus valores so obtidos por referncia
para as propriedades e valores de propriedade do objeto pai. Em um nvel mais elevado,
o objeto pai pode-se herdar de seu objeto prprio pai, que institui um
corrente ou hierarquia de herana. Isso permite que mudanas nas propriedades em cascata
jusante da cadeia de herana.
Objetos na cadeia de herana no so obrigados a herdar todas as propriedades
de seu objeto pai. Em vez disso, eles podem mudar algumas ou todas as suas herdada
propriedades e fornecer um valor local que se desvie o valor do pai
objeto. Quando um objeto fornece um valor local de uma propriedade, ou define um
propriedade que no est presente no objeto pai, a cadeia de herana
discriminados em relao a essa propriedade, e o objeto filho dito substituir o
propriedades de seu objeto pai.
Captulo 12 A camada de metadados 357
A camada de metadados tem dois nveis de herana:
Metadados objetos herdam as propriedades de seus objetos de metadados ancestral.
Conceitos de herdar propriedades de seus conceitos ancestrais.
Metadados objetos herdam as propriedades de seu objeto pai. Por exemplo,
tabelas lgicas e suas colunas herdar as propriedades de seus respectivos
tabelas fsicas e colunas. Isto muito til, pois permite um nico ponto de
definio para aquelas propriedades que geralmente precisam ser os mesmos. Por exemplo,
o tipo de dados, formato de dados, e talvez a descrio definida para um fsico
coluna provavelmente pode ser reutilizado por colunas descendente em ambas as lgicas
camada ea camada de entrega. A herana garante que, no caso do fsico
modelo alterado, a alterao imediatamente captado pelo objetos derivados.
Conceitos so baseados em conceitos j existentes, e herdar as propriedades de
seu conceito pai. Na raiz da hierarquia um conceito especial embutido
conceito, o Base conceito.
hierarquias de conceitos permitem uma gesto adequada de propriedades relacionadas.
Para
exemplo, suponha que voc queira aplicar formatao consistente dos nmeros. Voc
poderia comear pela criao de um conceito genrico Nmero que herda da Base
conceito. O conceito de nmero seria substituir apenas uma ou algumas propriedades de
o conceito de base que so comuns a todos os itens numricos. Por exemplo, poderia
substituir o texto de propriedade de alinhamento e configur-lo para a direita em vez da
esquerda.
Localizao de Imveis
propriedades gerais, como o nome ea descrio pode ser localizada assim que
pode ser exibido em vrios idiomas. Isto feito criando primeiro todos
locais apropriados e em seguida, especificando o texto adequado para cada localidade.
Criao e manuteno de metadados
Esta seco explica brevemente os componentes que compem a camada de metadados
bem como as relaes que os conectam. No restante deste captulo,
descrevemos esses componentes em mais detalhes, e explicar como cri-los
utilizando o Pentaho Metadata Editor.
O editor de metadados em Pentaho
Pentaho oferece a Pentaho Metadata Editor para criar e editar metadados. Voc
Pode transferir esta ferramenta a partir da pgina do projeto Pentaho em sourceforge.net.
O Pentaho Metadata Editor distribudo como um nico Zip. (Para o Windows
plataformas) ou . Tar.gz (Para plataformas baseadas em UNIX) arquivo. Descompactando
358 Parte IV Inteligncia Aplicaes de Negcio
o arquivo gera um diretrio que contm o software. Aps descompactar
o arquivo, voc pode iniciar o editor, executando o MetaEditor.bat (Em
plataformas Windows) ou metaeditor.sh (Para plataformas baseadas em UNIX) script.
O Repositrio de Metadados
metadados Pentaho armazenado em seu prprio repositrio, que distinto de ambos
o Pentaho soluo repositrio e Pentaho integrao de dados repositrio.
Atualmente, o Pentaho Metadata Editor a nica aplicao que se destina
para editar o contedo do repositrio de metadados.
Por padro, a PMA utiliza arquivos binrios para armazenar metadados. Estes arquivos,
chamados
mdr.btx e mdr.btd, So encontrados no diretrio home do editor de metadados.
Voc pode alternar de um arquivo baseado em repositrio de armazenamento para um
banco de dados baseado em
repositrio com bastante facilidade. Ao lidar com uma grande camada de metadados, desem-
mance do repositrio baseado em arquivo pode diminuir significativamente. Neste caso,
utilizando um repositrio de banco de dados baseados na Internet podem aumentar o
desempenho. Alm disso, uma
banco de dados baseado em repositrio mais adequado no caso de mltiplos
desenvolvedores esto
edio da camada de metadados simultaneamente.
O procedimento, descrito no README.txt arquivo encontrado no jdbc Diretrio
sob o diretrio home do editor de metadados, o seguinte:
1. Faa um backup do repository.properties arquivo localizado na jdbc
diretrio. Voc pode mant-lo no mesmo diretrio, ou mov-lo para a segurana
em outro lugar. O backup permite que voc restaure o arquivo original com base em
repositrio de configurao.
2. A jdbc contm um nmero especfico de RDBMS propriedades.
arquivos. Substituir o original repository.properties arquivo com uma cpia do
o RDBMS especfico propriedades. ficheiro de escolha. Por exemplo, para armazenar
o repositrio em um banco de dados MySQL, faa uma cpia do MySQL.properties
e renome-lo para repository.properties .
3. Abra o modificado repository.properties arquivo e edit-lo para apontar para
seu banco de dados. Voc deve fornecer valores para um nmero de propriedades.
Os nomes dessas propriedades todos comeam com MDRStorageProperty.org.
netbeans.mdr.persistence.jdbcimpl. Esse prefixo seguido por um ponto
e um nome que configura uma propriedade de uma conexo JDBC. Tpica
nomes de propriedade (sem o prefixo) so:
driverClassName: O nome da classe Java do driver
url: A seqncia de conexo JDBC
userName: O nome do usurio do banco
senha: A senha do usurio do banco
Captulo 12 A camada de metadados 359
NOTA Descobrimos que a carga eo desempenho salvar bastante reduzida quando se utiliza
o repositrio de dados, em oposio ao repositrio baseado em arquivo. Se voc est
considerando usar o repositrio do banco de dados de base, voc deve sempre levar algum
tempo para medir o impacto no desempenho de sua situao especfica. difcil
fornecer uma estimativa aqui, como o efeito real depende de uma srie de fatores, tais como
seu hardware, o RDBMS eo tamanho de sua camada de metadados.
Metadados Domnios
A camada de metadados Pentaho como um todo est organizado em uma ou mais metadados
domnios. Um domnio de metadados um recipiente para uma coleo de objetos de
metadados
que podem ser usados juntos, como uma fonte de metadados para uma soluo Pentaho.
(Neste contexto, usamos o termo soluo Pentaho''''como definido no captulo 4:
uma coleo de recursos, tais como relatrios e seqncias de ao que residem em um
nica pasta no pentaho solues diretrio.)
Voc pode criar um arquivo novo domnio, escolha Arquivo Novo Domnio Arquivo
a partir do menu principal. Voc pode excluir domnios escolhendo Excluir Domnio
a partir do menu principal. Isso abrir uma janela onde voc pode escolher
o domnio que voc deseja remover a partir do repositrio.
As subcamadas da Camada de Metadados
As sees seguintes descrevem os componentes do ambiente fsico, lgico e
camadas de entrega que esto includos dentro da camada de metadados.
A Camada Fsica
Os objetos que residem na camada fsica de um domnio de metadados so des-
indicadores que correspondem mais ou menos um-para-um com objetos de banco de dados.
A
seguintes objetos residem na camada fsica:
Conexes de banco de dados descritores de conexo
Fsica quadros-Descritores de tabelas de dados e pontos de vista
Fsica Tabela Colunas- definies de uma tabela fsica
As subsees seguintes abordam cada um desses objetos.
Conexes
Aobjeto de conexo representa uma conexo de banco de dados. uma descrio da
conexo
tor, bem como os utilizados por Pentaho Data Integration.
Para criar uma nova conexo no editor de metadados, voc pode usar o
menu principal e escolher Ficheiro New Connection, ou voc pode boto direito do mouse no
Conexes n na rvore do lado esquerdo do editor de metadados e
360 Parte IV Inteligncia Aplicaes de Negcio
escolha Nova conexo no menu de contexto. Isso traz um dilogo que ,
para todos os efeitos, idntico ao Pentaho Data Integration Database
Conexo de dilogo. (Consulte o Captulo 9 para obter mais detalhes sobre como usar esta
janela para
criar uma conexo de banco de dados.)
Imediatamente aps a conexo criada, uma caixa de dilogo aparece. A caixa de dilogo
apresenta as tabelas base que residem no banco de dados especificado, oferecendo a
importar
elas. Cancelar a caixa de dilogo para agora. Importando tabelas sero discutidos
extensivamente
na seo seguinte.
Depois que uma conexo criada, a conexo aparece como um n de rvore no
exibio em rvore no painel esquerdo. Voc pode boto direito do mouse no n de conexo
para trazer
o seu menu de contexto. As opes oferecidas h de novo, bastante semelhantes aos
voc viu no Pentaho Data Integration. Voc pode:
Explore a conexo do banco de dados usando o Database Explorer.
Use o Database Explorer para importar as tabelas (ou vises).
Abra o editor de SQL para executar instrues SQL arbitrrios.
Duplicar a conexo.
Excluir a conexo.
Se voc gosta, voc pode configurar conexes JNDI para o editor de metadados.
O processo idntico ao de adicionar conexes JNDI para Pentaho Data
Integrao. Para usar JNDI, primeiro voc precisa adicionar os descritores de conexo
ao jdbc.properties arquivo localizado na simples jndi diretamente abaixo do diretrio
o diretrio home do editor de metadados.
Tabelas e colunas Fsica Fsica
A camada de metadados podem descrever tabelas base e pontos de vista em um banco de
dados usando
chamada Os objetos fsicos tabela. Os objetos fsicos Tabela esto construindo de baixo nvel
blocos da camada de metadados. Eles oferecem uma abstrao do banco de dados real
tabelas.
Os objetos fsicos tabela so objetos filho direto de conexes (discutido no
subseo anterior). Ou seja, um objeto de tabela fsica diretamente dependente
em cima de um objeto de conexo existente.
Voc pode importar tabelas fsicas na camada de metadados clicando
em uma conexo e escolher tanto a opo Importar tabelas ou importao de
Explorer a opo no menu de contexto. A opo Importar tabelas permite que voc
apenas para importar tabelas base. A opo Importar do Explorer abre um banco de dados
Explorer como voc viu no Pentaho Data Integration. A partir daqui, voc pode
importao tanto a base tabelas e exibies.
Fsica Colunas um filho direto de objetos fsicos tabela. A Fsica
objeto coluna representa uma coluna de banco de dados real, como uma tabela fsica
representa uma tabela real no banco de dados. Colunas Fsica so normalmente adicionados
para a camada de metadados automaticamente ao importar tabelas fsicas.
Captulo 12 A camada de metadados 361
Para editar uma tabela (ou suas colunas), boto direito do mouse e selecione Editar a partir
do contexto
menu. A Fsica Quadro de dilogo Propriedades abre, como mostrado na Figura 12-3. Em
no lado esquerdo da janela, voc pode selecionar a tabela ou uma de suas colunas de
uma rvore. Selecionando um item na exibio de rvore carrega a propriedade apropriada
da pgina no lado direito da janela. Voc pode navegar a uma propriedade particular
rapidamente selecionando-o na vista de rvore propriedades esquerdo da pgina de
propriedades.
Figura 12-3: O quadro de dilogo Propriedades Fsicas
Na caixa de dilogo, voc tambm pode criar novas colunas personalizadas. Isso til se
voc deseja criar uma coluna calculada. Por exemplo, o COUNT (DISTINCT
customer_order_id) que foi usado no exemplo de relatrio pode ser adicionado
desta forma.
Para criar uma nova coluna, clique no pequeno boto com o sinal de adio que aparece
na parte superior da janela. Em seguida, editar as propriedades. Voc deve pelo menos
reviso
todas as propriedades no modelo de descritores e categorias de clculo:
1. Tipo de Agregao-se aplicvel, especificar a funo de agregao. Para
exemplo, o _order fato tabela no nosso exemplo Relatrio de Vendas teria
distinto agregador de Contagem.
2. O tipo de dados tipo de dados da expresso.
362 Parte IV Inteligncia Aplicaes de Negcio
3. Tipo do campo-Este pode ser usado para especificar se a coluna uma chave
coluna, ou uma mtrica ou um atributo de dimenso.
4. Este clculo deve conter a expresso SQL que define esta
coluna. Normalmente, isso simplesmente o nome da coluna.
Se voc precisa de definies de coluna personalizadas, note que voc tambm pode definir
na camada lgica. Na seo seguinte, vamos ilustrar a para o
COUNT (DISTINCT customer_order_id) item.
No h nenhuma regra dura e rpida que lhe diz onde adicionar estes personalizada
colunas. Em alguns casos, pode ser necessrio a coluna personalizada em vrios locais,
caso em que provavelmente melhor para adicion-lo ao nvel de uma tabela fsica. Se
a coluna personalizada especfico para um uso particular da tabela, provavelmente
melhor para inclu-lo na camada lgica ao nvel dos quadros de Negcios.
A camada lgica
A camada lgica, literalmente, fica entre a camada fsica ea apresentao
camada. A finalidade da camada lgica descrever como os objetos do
camada fsica se relacionam com o negcio. Os utilizadores empresariais s interagem com
esses
objetos de negcio ea camada de lgica, portanto, isola-los do tcnico
implementao a nvel fsico. At certo ponto, isso permite que um certo
grau de independncia de banco de dados de esquema de relatrios.
Modelos de Negcios
A camada lgica organizado em Modelos de Negcios. Funcionalmente, voc pode pensar
de um modelo de negcio como um data mart, ou seja, um subconjunto do data warehouse
focado em um assunto particular do negcio.
Modelos de Negcios contm tabelas de negcios, relacionamentos e negcios
Vistas. Tabelas de negcios e relacionamentos formam o back-end
o Modelo de Negcio. Tabelas de negcios so os modelos de tabelas fsicas e
Relacionamentos definem como mesas de negcios podem ser combinados (entrou).
Vistas Business formam o front-end do modelo de negcios, e servem para
apresentar o contedo do modelo para o usurio final. Uma viso de negcios um
recipiente para uma ou mais categorias de negcios e, como voc ver mais tarde, um
Categoria Negcios funcionalmente similar a um esquema em estrela em um data mart.
Voc pode criar um novo modelo de negcio clicando os modelos de negcios
n e escolha a opo Novo modelo de negcio. Na janela de propriedades,
use a caixa de lista que aparece no canto superior direito da caixa de dilogo para especificar
o banco de dados
conexo. Atualmente, apenas uma conexo suportada por Modelo de Negcios.
Tabelas e colunas de negcios Business
Tabelas de negcios residem em um Modelo de Negcio e decorrem directamente da
Tabelas fsicas. Da mesma forma, Negcios colunas so directamente derivados
Colunas Fsica.
Captulo 12 A camada de metadados 363
Em certa medida, mesas de negcios reproduzir fielmente a estrutura do seu
fsico correspondente da tabela. No entanto, h uma diferena importante
Tabelas de Fsica: Uma mesa de negcios no representa a tabela real;
ao contrrio, representa um uso particular de uma tabela fsica. Isso merece alguma
explicao.
A dim_date tabela uma tabela de dimenses conformadas. utilizado em muitos
diferentes papis ao longo do data warehouse de Classe Mundial Filmes. Em um Busi-
ness modelo, essas tabelas de role-playing dimenso que cada um ser representado
por seus prprios negcios tabela. Por exemplo, num modelo de negcio para o Cliente
Ordens do data warehouse de Classe Mundial Filmes, poderamos ter separado
Tabelas de negcios para a data do pedido, a data de transporte, data de entrega, eo retorno
data de vencimento.
Voc pode criar tabelas lgicas rapidamente, arrastando uma tabela fsica para o
Tabelas de negcios n. As Colunas fsica sero automaticamente importados,
tambm, e ser representada por colunas de negcios.
Tal como acontece com as tabelas fsicas, voc tambm pode adicionar colunas
personalizadas para Empresas
Tabelas. Figura 12-4 mostra o negcio de dilogo Tabela. Na caixa de dilogo, voc pode ver
um cliente Ordem coluna Contagem de ser definido. Seu Tipo de agregao de propriedade
ser substitudo e definido como o valor Distinct Count. Alm disso, o tipo de campo
substitudo e definido como Fato. Essas modificaes permitiro ao usurio de negcios
simplesmente escolher o item Contagem de Ordem, em vez de especificar explicitamente o
COUNT
funo e os DISTINCT modificador na customer_order_id item.
Figura 12-4: O negcio Quadro de dilogo Propriedades
364 Parte IV Inteligncia Aplicaes de Negcio
Relacionamentos
Relacionamentos definir um caminho de juno entre duas tabelas de Negcios. Geralmente
falam-
o, cada mesa de negcios que aparece em um Modelo de Negcio deve ser relacionado
com
pelo menos um outro negcio Quadro no mesmo modelo de negcio.
No h nenhuma exigncia lgica que dita que cada tabela de negcios deve
estar relacionada a pelo menos uma outra tabela. No entanto, faz sentido faz-lo
de qualquer maneira. A razo que, se um modelo de negcio de fato um subconjunto
prprio de
o armazm de dados focada em um aspecto particular do negcio, ento todas as suas
Tabelas de negcios deve de alguma forma contribuir para isso. Uma Mesa de Negcios que
no
relacionados com qualquer outro negcio de mesa tem aparentemente nada a ver com
qualquer
das outras tabelas. Se esse for realmente o caso, ele provavelmente no deve ser parte de
Neste particular Modelo de Negcios.
Voc pode criar um novo relacionamento com o boto direito do mouse sobre o
Relacionamento
n e em seguida, escolhendo Nova Relao. Na caixa de dilogo que aparece, voc
pode selecionar as tabelas que esto relacionados, e especificar quais colunas devem ser
comparados. Figura 12-5 mostra o dilogo de Relacionamento.
Figura 12-5: A relao de dilogo Propriedades
Uma coisa para manter em mente sobre os relacionamentos metadados Pentaho que eles
no so chaves estrangeiras. As tabelas em um relacionamento tm papis diferentes:
Existe uma''tabela''e de''Para uma tabela'', mas no h sentido implcito na
sentido de que a partir da tabela deve ser o pai''''Para a tabela e tabela deve
ser a criana''tabela'', ou vice-versa. Em vez disso, a direo do relacionamento deve
ser definida explicitamente usando a caixa de lista de Relacionamento. Na Figura 12-5 est
definido para N: 1,
o que significa que pode haver vrias linhas na tabela a partir de uma nica linha na
Para a mesa.
Por uma questo de sustentabilidade, geralmente uma boa idia de estabelecer um
conveno para determinar se a criana ou a tabela pai deve ser
inserido como o da tabela (e, inversamente, se a me ou a criana
tabela deve ser inserida como a tabela). Na Figura 12-5, foi escolhido o
Captulo 12 A camada de metadados 365
Pedidos tabela de negcios (que a criana na relao, e mapas para
o fact_orders tabela de fatos no armazm de dados) como o de mesa eo
Tabela de negcios do cliente (que a tabela pai na relao, e
mapas para o dim_customer tabela de dimenso no armazm de dados) como o
Para tabela.
A razo para a conveno usada na Figura 12-5 um simples:
tentar imitar o que seria o caso se seria a definio de uma chave estrangeira
restrio. Nesse caso, tambm, a tabela filho''''possui a chave estrangeira, que
evidenciando a partir da tabela filho para a tabela pai. Entretanto, se voc sentir isso
no conveniente por alguma razo, voc est livre para usar outra conveno, como
Contanto que voc tenha em mente que a propriedade Relaes reflete corretamente o
direo da relao.
A camada de entrega
A entrega camada contm objetos de metadados que so visveis ao fim
usurio, como Exibies de Negcios e categorias empresariais.
Vistas Negcios
Uma viso de negcios uma coleo de chamadas categorias de negcios. Voc pode
pensar
de uma viso empresarial como um data mart. Um data mart uma coleo de
funcionalmente
relacionados com esquemas em estrela. Da mesma forma, uma viso empresarial uma
coleo de funcionalmente
Categorias de negcios relacionados.
Voc no precisa criar explicitamente uma viso empresarial. No simplesmente uma
Viso empresarial em cada modelo de negcio.
Categorias de negcios
Uma categoria de negcios um conjunto coerente de negcios relacionados com colunas.
Funcionalmente, uma categoria de negcios pode ser pensado como um esquema em estrela.
Como tal,
uma categoria de negcios normalmente ir conter todos os itens que podem ser utilizados
para comunicar
sobre uma nica tabela de fatos.
Dito isto, Categorias de negcios no parecem ter qualquer estrutura interna
na medida em que o usurio final est em causa. A categoria Business simplesmente forma
uma
coleo de itens que podem ser usados juntos em um relatrio, muito parecido com o
Vendas exemplo Relatrio apresentado anteriormente neste captulo.
Voc pode criar uma categoria de negcios com o boto direito do mouse sobre o Vista
Business
n e escolha Nova categoria no menu de contexto. Para preencher a categoria
com colunas, basta arrastar todas as colunas de interesse das tabelas de Negcios
e solt-los dentro da categoria.
Figura 12-6 mostra uma tela do editor de metadados mostrando uma simples
Modelo de negcios ao longo das linhas do exemplo de relatrio no incio da Ordem
o captulo.
366 Parte IV Inteligncia Aplicaes de Negcio
Figura 12-6: Um simples modelo de negcio
Como voc pode ver, a figura contm as tabelas de negcios que correspondem a
as tabelas reais mostrado na Lista 12-1. Da mesma forma, as relaes entre
as tabelas correspondem s JOIN clusulas da Listagem 12-1. Uma vez implantado,
os usurios podem criar todos os tipos de relatrios que envolvam ordens, as datas de pedido,
clientes e sites sem precisar escrever SQL-se, em vez disso, o Pentaho
camada de metadados usado para interpretar as solicitaes dos usurios para os itens do
modelo
(MQL) e gerar os comandos de banco de dados apropriado (SQL) para produzir
os dados do relatrio.
Implantao e uso de metadados
Depois de criar o Modelo de Negcio (s), voc deve implantar a camada de dados antes
voc pode us-lo para criar relatrios. Nesta seo, descrevemos como publicar
os metadados. No prximo captulo, voc vai aprender como voc pode realmente construir
relatrios sobre uma camada de metadados j implantados.
Exportao e importao de arquivos XMI
Voc pode criar relatrios sobre metadados usando a fonte de dados de metadados. Esta
explicadas em detalhe no Captulo 13. Para criar um relatrio baseado em metadados, voc
Deve informar o Report Designer, onde os metadados.
O Report Designer consome metadados no XML Metadata Interchange
(XMI) formato. Para criar um arquivo XMI para o seu metadados, use o menu principal e
escolha Arquivo Exportar para arquivo XMI. Da mesma forma que voc pode usar o arquivo
de importao de
XMI opo Arquivo para carregar a camada de metadados com os metadados existentes.
Captulo 12 A camada de metadados 367
Publicao de metadados para o servidor
Se os relatrios devem ser executados no servidor, os metadados devem estar disponveis
para o
servidor. Os metadados so armazenados no servidor como arquivos XMI. Voc pode ter um
XMI arquivo por Pentaho. Este arquivo deve ser chamado metadata.xmi.
Voc pode simplesmente exportar os metadados para um arquivo XMI e, em seguida, basta
copiar o
XMI arquivo para o diretrio soluo adequada no servidor. No entanto, para um
servidor de produo, no provvel que todos os desenvolvedores de BI tem acesso directo

sistema de arquivos do servidor. Portanto, o Pentaho BI Server oferece um servio de
que permite que voc publique os metadados a partir do editor de metadados.
Voc pode publicar metadados para o servidor de BI Pentaho no menu principal por
escolha Arquivo Publicar servidor. Este aparece o dilogo Publicar Server,
mostrado na Figura 12-7.
Figura 12-7: A Publicar dilogo Servidor
Para publicar, voc deve configurar a configurao de publicao. A
Local de publicao deve ser o nome de um diretrio existente que residem sob
o pentaho solues diretrio. A URL Publicar Web deve ser apontado para
o Pentaho BI Server. Para obter a senha de publicao, voc deve usar a senha
que foi definido no publisher_config.xml arquivo. Essa configurao coberto em
Captulo 3. Finalmente, voc deve usar o ID de usurio e senha de um usurio
que tem a funo de Administrador (''Joe''e''senha''para uma instalao padro).
Atualizando os Metadados
Depois de publicar ou copiar o arquivo XMI para o servidor, voc deve dizer ao
servidor para recarregar os metadados. Isso pode ser feito a partir do usurio atravs do
console
No menu, escolha Ferramentas Refresh Reporting Metadados como mostrado na
Figura 12-8.
368 Parte IV Inteligncia Aplicaes de Negcio
Figura 12-8: Atualizando os metadados com o usurio do console
Alternativamente, voc pode atualizar os metadados usando o Servidor de Administrao
Console. Para atualizar os metadados do Server Administration Console,
pressione o boto Modelos de Metadados no painel Server Refresh BI no
Administrao pgina da guia, mostrado na Figura 12-9.
Figura 12-9: Atualizando os metadados com a Administrao Server Console
Resumo
Este captulo apresenta a camada de metadados Pentaho. Os metadados Pentaho
camada permite que voc apresente o seu banco de dados ou armazm de dados de uma
forma que
mais compreensvel para usurios empresariais. Isto permite-lhes apresentar relatrios
sem diretamente escrevendo em SQL. O captulo seguinte descreve como voc pode
realmente usar a camada de metadados para criar relatrios.
Captulo 12 A camada de metadados 369
Neste captulo, voc aprendeu:
Que metadados
As vantagens de uma camada de metadados
As caractersticas da camada de metadados Pentaho
Como os metadados Pentaho organizado em conceitos e propriedades e como
A herana usada para gerenci-los
Como usar o editor de metadados Pentaho (PME)
A diviso da camada de metadados Pentaho em fsica, lgica e
camadas de apresentao
Como a camada fsica organizada em conexes de banco de dados, tabelas e
colunas
Como a camada lgica organizado em modelos de negcios, mesas, colunas,
e relacionamentos
Como a camada de apresentao organizada em vises de negcios e categorias
Como publicar a camada de metadados para o servidor Pentaho
CAPTULO
13
Usando o Pentaho
Ferramentas de
Relatrios
A forma mais comum a publicao de informaes para os usurios finais a criao de
relatrios.
Na verdade, quando voc olha para um tpico ambiente de Business Intelligence (BI),
cerca de 75 a 80 por cento do uso e contedo distribudo composto de comunicao.
Outra cento 15-20 utiliza ferramentas analticas para OLAP, e apenas um nmero limitado
nmero de pessoas (de 0 a 5 por cento) trabalhar com as ferramentas de minerao de
dados. O mesmo
0-5 por cento est sendo tradicionalmente utilizada para indicar o tamanho do usurio
populao que utiliza um painel de gesto, mas isso est mudando rapidamente.
De fato, em uma soluo Pentaho, a maioria dos usurios de acesso provvel primeiro um
painel
que exibe o contedo de BI sob medida para suas necessidades. Novamente, uma grande
percentagem
deste contedo painel ser composto de relatrios, portanto, de informao um elemento-
chave
de qualquer soluo de BI. Este captulo apresenta os dois relatrios Pentaho
ferramentas, o Pentaho Web-based Ad Hoc de Consulta e Reporting Tool e os
mais avanados Pentaho Report Designer. Temos tido muito prtico
abordagem, oferecendo muitas mos sobre exerccios para que voc possa acompanhar
ao explorar as diferentes ferramentas. Supe-se que voc tem acesso a ambos os
do Pentaho BI Server e Report Designer Pentaho.
Reporting Arquitetura
Todas as solues de comunicao moderna tem uma arquitetura semelhante, como mostra
Figura 13-1. A figura mostra as diferentes componentes de um relatrio
arquitetura:
Um gerador de relatrio para definir a especificao do relatrio
A especificao do relatrio em um formato XML aberto
371
372 Parte IV Inteligncia Aplicaes de Negcio
Designer de Relatrios
Relatrio
Especificao
Middleware
Relatrio do motor
As fontes de dados
Sada do Relatrio
Figura 13-1: arquitetura Reporting
Um mecanismo de relatrio para executar o relatrio de acordo com a especificao e
processar a sada em formatos diferentes
Definio de conexo de banco de dados que pode utilizar o middleware do padro,
como
JDBC para se conectar a diferentes fontes de dados. Na verso mais recente do
Pentaho
Reporting, as consultas so executados diretamente a partir do mecanismo de relatrio.
O modelo na Figura 13-1 muito comum para um programa open source de relatrios
soluo. Pentaho no contm apenas os recursos para executar relatrios Pentaho
mas tambm inclui as bibliotecas JasperReports para distribuir ou relatrios BIRT. A
Pentaho mecanismo de relatrio era conhecido anteriormente como JFreeReports, o designer

uma verso completamente re-projetado do designer JFree relatrio, que agora
chamado o Pentaho Report Designer, ou PRD. Embora a funcionalidade de
outras solues de comunicao, principalmente o projeto BIRT, j ultrapassou
que da ferramenta Pentaho, sempre houve algumas vantagens importantes quando
trabalham com a sute de BI Pentaho que justificar o favorecimento do PRD e do JFree
motor:
Os relatrios criados com o PRD pode ser publicado diretamente no BI Pentaho
Server a partir do menu PRD. Isso faz com que a implantao de novos relatrios ou
existentes
to fcil quanto salvar uma planilha.
Captulo 13 Usando as ferramentas Pentaho Reporting 373
PRD pode usar a camada de metadados Pentaho como fonte de dados, tornando-se um
ferramenta ideal para usurios de poder sem conhecimento de SQL para criar as suas
prprias
relatrios avanados.
Os relatrios criados por usurios finais utilizando o Pentaho Web-based Ad Hoc
Consulta e ferramenta de relatrio pode ser estendida com PRD (embora
depois de modific-los com PRD, no pode ser editado com a web
interface mais).
PRD muito fcil de usar depois de fazer um esforo para se familiarizar com
as opes disponveis, este captulo pretende dar ao usurio inexperiente
um avano no uso do PRD para criar relatrios sofisticados.
Durante o primeiro semestre de 2009, o PRD tem uma reviso completa e est agora
funcionalmente a par com a principal fonte de informao aberta outras solues, e
em alguns aspectos, o conjunto de recursos mesmo superior ao das ferramentas
concorrentes.
Relatrios baseados na Web
O portal web Pentaho no apenas para visualizao e anlise de contedo, mas
tambm oferece recursos de relatrios ad hoc. A ferramenta de relatrios ad hoc trabalha em
uma forma intuitiva, orientando o usurio atravs de um assistente de quatro etapas. Os
relatrios
que podem ser criados usando o construtor do relatrio baseado na web se limitam a agrupar
listas, sem grficos, quadros ou tabelas de referncia cruzada. Isso limita a usabilidade do
ferramenta baseada na Web para criar relatrios perspicazes BI-tipo, mas ele ainda pode ser
usado por
usurios finais para obter rapidamente uma viso detalhada sobre questes especficas. O
nome oficial
da ferramenta web Web consulta ad hoc e cliente de relatrio, ou WAQR para breve.
O WAQR pode trabalhar apenas com modelos de metadados, que tm de ser criadas
e publicado no primeiro servidor. Esse processo explicado no Captulo 12.
Criando um relatrio um processo simples. Voc pode comear em um dos trs
maneiras: clique no boto Novo Relatrio sobre a tela de boas vindas, clique no Relatrio
cone de opo na barra principal, ou selecione Arquivo novo relatrio a partir do menu. Todos
estas opes de iniciar o Assistente de Relatrio Ad Hoc, onde voc comea escolhendo
um modelo de negcio e um modelo. O modelo de negcios determina os dados que
sero utilizados no relatrio, o modelo determina que o relatrio ser
aparncia.
NOTA Tenha cuidado quando voc seleciona um modelo diferente depois de modificar o relatrio
configuraes. Seleo de outra modelo redefine layout de pgina, tamanho do papel, bem como o
relatrio
cabealho para os valores padro.
Depois de selecionar o modelo de negcio e instalada em seguida, leva Pentaho
voc ao fazer selees parte do assistente. O lado esquerdo da tela
exibe todos os elementos disponveis dados agrupados por viso empresarial, o direito
374 Parte IV Inteligncia Aplicaes de Negcio
lado contm os grupos, os detalhes, e as caixas de filtro, onde os campos selecionados
podem
ser colocado. Grupos permite que voc adicione (sub) cabealhos e (sub) totais e pode
tem cinco nveis de aninhamento. Campos colocados na caixa de detalhes ser a
parte interna do menor nvel de grupo. A ltima caixa para elementos filtrantes, estes
campos no faro parte da sada do relatrio, mas pode ser usado para filtrar a
de dados. Os filtros tambm podem ser colocados em campos de grupo e de pormenor, mas o
contedo do
esses campos sero sempre visveis no relatrio.
O relatrio mais simples imaginvel a adio de apenas um nico campo para os detalhes
caixa, que tambm o requisito mnimo para o reprter ad hoc para o trabalho.
Os relatrios podem ser visualizados em HTML (a opo padro), PDF, CSV ou XLS.
Com estas duas ltimas opes, Pentaho adiciona uma maneira conveniente de extrao de
dados
a partir de um data warehouse para a anlise de qualquer ferramenta que o usurio est
acostumado.
Quando todo o grupo, detalhes e campos de filtro foram adicionados, voc pode clicar em
Avanar,
que traz uma tela quase vazio, para alm do mesmo grupo, detalhe,
e caixas de filtro que so posicionados do lado esquerdo. Este Customize Selees
tela onde o verdadeiro trabalho pode ser feito e contm muitas opes que
no so imediatamente bvios:
Classificando-Informao podem ser classificados em campos de grupo e detalhes.
WAQR
adiciona automaticamente os campos de grupo para seleo de classificao. No
possvel
para remover essa triagem, a nica opo mudar a ordem de classificao. Detalhe
campos no so adicionados automaticamente. Quando voc clica em um campo de
detalhes, o tipo
tela aparece no lado direito da tela, onde o campo pode ser adicionado
ea ordem de classificao pode ser alterada.
Filtragem de Qualquer campo pode ser usado para filtrar, e vrias condies podem
ser combinadas usando os operadores E e OR. As condies disponveis
dependem do tipo de campo utilizado no filtro. Se for um campo de caractere,
condies, tais como comea com ou contm Esto disponveis, para uma data, a
condies em,antesE depois podem ser utilizados, e para valores numricos,
operadores, tais como =,> =E <esto disponveis. A opo de seleo est disponvel
onde os valores podem ser escolhidos de uma lista de valores. Isso implementado
como uma tela de pesquisa onde voc pode usar o *personagem como um curinga. Se
voc deseja exibir todos os valores de uma determinada coluna, insira *e pressione
Pesquisar.
Agregando e formatao Vrios funes de agregao e de campo
formatos esto disponveis para os campos de detalhe. valores no-numricos s pode
ser contados, mas para valores numricos, o padro funes de clculo
mdia,contagem,soma,minE max esto disponveis. Estes resumos so
colocado dentro de cada grupo ou subgrupo. Basta clicar em um campo de detalhes e
as opes de formatao se tornar visvel. Cada campo pode ser formatado
individualmente.
Captulo 13 Usando as ferramentas Pentaho Reporting 375
Agrupamento e paginao Cada grupo pode ser usado para a criao de uma pgina
quebrar logo aps ou antes de um novo grupo comea. Voc tambm pode escolher
se um total de grupo devem ser adicionados e se cabealhos de grupo
devem ser repetidos em cada pgina. Para obter essas configuraes, voc precisar
selecionar
o nvel correspondente (Nvel 1 a Nvel 5), que ir exibir o
agrupamento disponveis e opes de paginao.
A tela final com as configuraes do relatrio contm a orientao da pgina e tamanho
e pode ser usado para inserir cabealhos e rodaps de relatrio. Imprimir a data ea pgina
nmeros so adicionados automaticamente. Voc ver que o boto Avanar na
inferior direito da tela cinza agora. Este o comportamento correto: salvar
o relatrio no faz parte do assistente, mas deve ser feito usando o menu
ou os botes de atalho na tela principal Pentaho. O relatrio salvo em
o formato que era o formato de visualizao ativa no momento de salvar, ento se voc
selecionados PDF como a opo de visualizao, o relatrio salvo abrir como um arquivo
PDF.
Usos Prticos da WAQR
A opo WAQR uma tima maneira de comear a construir os seus relatrios com o
primeiro
Pentaho BI Suite, mas tem vrias limitaes que tornam improvvel que WAQR
ser sua principal ferramenta de comunicao. Como j mencionado, grficos e tabelas
no esto disponveis, e as opes de formatao so muito limitados. Por exemplo, ele
no possvel modificar o tipo de fonte ou a cor dos valores exibidos na
relatrio a menos que voc modifique as configuraes da camada de metadados. A maneira
como olhamos
para ele, WAQR pode ser uma boa ferramenta em dois casos a seguir:
Exportar dados-Seleo e exportao de dados para uma planilha ou um arquivo CSV
provavelmente a opo mais utilizada de WAQR. H, naturalmente,
muitas outras maneiras de obter dados de um armazm de dados em uma planilha,
mas a velocidade ea facilidade de uso do WAQR para este efeito difcil de bater.
Quickstart relatrio Relatrios criado com WAQR e salvos no servidor
pode ser aberto a partir do Report Designer Pentaho (PRD) de novas
modificao. Como criar um relatrio bsico de WAQR geralmente muito
mais rpido do que com o designer de relatrio, isso pode poupar-lhe um considervel
quantidade de tempo. Uma ressalva, porm: voc ter direitos de acesso para o
pasta onde o servidor de relatrios so salvos.
DICA Quase nada na plataforma Pentaho pode ser alterada ao seu gosto,
incluindo o relatrio de modelos. Os modelos esto armazenados na pasta do servidor de BI
pentaho-solutions/system/waqr/templates. Cada modelo armazenado em sua
pasta prpria, por isso a maneira mais fcil de adicionar o seu prprio modelo uma cpia do
existentes pastas e renome-lo. PRD pode ser usado para criar e modificar templates,
376 Parte IV Inteligncia Aplicaes de Negcio
e as informaes detalhadas sobre a modificao manual de modelos pode ser
encontrado no Wiki em Pentaho http://wiki.pentaho.com/display/
ServerDoc1x/Adhoc Reporting + + Modelos.
Pentaho Report Designer
A Pentaho Report Designer (PRD) o front-end grfico para criar,
edio e publicao de relatrios para a plataforma Pentaho BI.
Uma das principais vantagens da utilizao do PRD mais construtores outro relatrio o
capacidade de utilizar modelos Pentaho metadados como fontes de dados. Os relatrios
tambm podem ser
publicado diretamente para o servidor Pentaho do designer para o uso no
Pentaho Portal do Usurio. O novo . PRPT formato do arquivo automaticamente reconhecido
pelo
a aplicao de servidor Pentaho assim um relatrio PRD podem ser executados no portal sem
a necessidade de adio de invlucros extra em torno dele.
Basicamente, existem dois tipos de escritores relatrio: anilhadas e fluxo orientado
ferramentas.
ferramentas Banded dividir um relatrio em um ou mais grupos de dados de relatrio onde
elementos podem ser colocados, enquanto as ferramentas baseado em fluxo permitem um
formato mais livre
colocao de elementos em uma pgina. PRD um editor de relatrio em faixas, assim como
o
bem conhecido e amplamente utilizado Crystal Reports. Embora autores do relatrio em faixas
so mais rigorosas na forma como os elementos de relatrios diferentes podem ser usados
em um relatrio, PRD
permite a utilizao de sub-relatrios, que em muito melhorar a flexibilidade e disposio
opes. RELATRIO DE ARQUIVOS
PRD
Um relatrio do PRD armazenado como um . PRPT ficheiro de pacote. Este pacote contm um colec-
o de arquivos XML que definem o relatrio. A layout.xml arquivo contm todas as
informaes de layout, enquanto o ds.xml *- arquivos contm as definies de consulta.
Tenha em ateno que quando uma conexo JDBC puro usado, as senhas so armazenadas como
texto simples. melhor usar as conexes JNDI e deixar o servidor de lidar com a
definies de segurana.
Alm da orientao da pgina das ferramentas de comunicao diferentes outra
distino importante: WYSIWYG versus viso da estrutura. WYSIWYG (What
You See Is What You Get) designers de relatrios permitem que voc trabalhe em uma lona e
os
resultado final imediatamente visvel para o designer do relatrio. PRD no uma completa
designer WYSIWYG, para que na maior parte trabalha com uma tela de design que mostra
a estrutura do relatrio, no o contedo e layout final. Uma opo de visualizao
disponveis para ver como o relatrio vai olhar para um usurio final. Qualquer relatrio pode
tambm ser
visualizada em diferentes formatos de sada disponveis: PDF, HTML, XLS, RTF,
e CSV.
Captulo 13 Usando as ferramentas Pentaho Reporting 377
NOTA Embora PRD no um editor WYSIWYG completo, voc pode alterar a maioria das
opes de formatao diretamente no painel de propriedades, quando em modo de
visualizao.
As prximas sees explicam como PRD pode ser usado para criar relatrios perspicazes.
A fim de ilustrar as diferentes partes do designer de relatrio, ns usamos muito
exemplo simples de um relatrio com os anos, trimestres e meses
a partir de uma dimenso de data WCM. Por fim, mostramos como construir uma venda
mensal
relatrio usando o conjunto de ferramentas completo.
A tela do PRD
Quando voc comea PRD, pela primeira vez, o aplicativo apresenta um Welcome
tela, como mostrado na Figura 13-2.
Figura 13-2: Pentaho Report Designer tela de boas vindas
Figura 13-2 mostra a tela de boas vindas com a guia Recursos aberta. Por
padro nesta parte da tela no ser visvel. Se voc fechar o Welcome
tela ou voc tem a opo Mostrar na inicializao desligada, voc pode reabrir
tela clicando em Ajuda Bem-vindo. A tela de boas-vindas realmente vem em
acessvel, pois contm todos os atalhos para voc comear rapidamente. Clicar
a opo exibe Recursos links para o Guia de Incio Rpido e Pentaho
Wiki com a documentao do produto disponvel. O link leva voc Fruns
ao Frum Pentaho onde voc pode postar e responder perguntas, ou encontrar
respostas de outros usurios que no podem ser encontrados na documentao. A
Recursos de parte da tela tambm contm uma lista de exemplos para ajud-lo
iniciado rapidamente.
378 Parte IV Inteligncia Aplicaes de Negcio
O layout da tela do PRD bastante simples e se parece muito com qualquer
outra ferramenta de relatrio sobre o mercado. H uma barra de menu no topo, a galeria
com blocos relatrio edifcio do lado esquerdo, ea tela de propriedades do lado direito.
A parte central da tela est reservado para a tela de design prprio onde voc
pode construir os relatrios e sub-relatrios. PRD oferece duas maneiras de construir um novo
relatrio:
A nova opo (ou em branco de relatrio no ecr Welcome) cria um novo
relatrio vazio para voc.
O Assistente de Relatrio leva voc atravs das quatro etapas necessrias para criar
uma
relatrio completo.
O Assistente de Relatrio funciona de forma semelhante ao WAQR conforme descrito no
seo''Usos Prticos WAQR'', mas suas opes so um pouco diferentes:
1. Selecione um modelo para o layout do relatrio exigido.
2. Definir os dados necessrios, incluindo filtros e tipos.
3. Definir e agrupando os itens disponveis a partir da consulta.
4. formatos campo Definir e funes de agregao.
Vamos pular o assistente no restante deste captulo e se concentrar em
configurar manualmente um relatrio. melhor que constri a sua compreenso do
ferramenta, o assistente apenas um atalho.
Estrutura do relatrio
Um relatrio do PRD dividido em vrias sees de diferentes tipos. Algumas destas
so padro, como cabealhos de pgina e relatrio, outros so flexveis e podem ser
adicionadas ou removidas por um designer de relatrio. Quando voc inicia um novo relatrio
em branco,
a estrutura bsica imediatamente visvel, como mostrado na Figura 13-3.
Para criar Figura 13-3, a guia Estrutura no canto superior direito foi ativado
e os grupos de rvores e detalhes do corpo foram ampliadas, clicando sobre eles.
Quando voc clica em um elemento, como o relatrio mestre na tela,
o editor de propriedades aparece no canto inferior direito. Qualquer estrutura ou contedo
elemento tem propriedades que podem ser alteradas programaticamente ou usando
o designer. As propriedades so divididas em estilos e atributos, onde o estilo
propriedades so usadas para determinar o que um elemento parece, e os atributos
determinar o contedo eo comportamento de um elemento.
DICA Para evitar que a tela fique demasiado cheio ao projetar seu
relatrio, os grupos e os cabealhos podem ser escondidos, clicando neles na Estrutura
navegador e selecionar o atributo comum esconder sobre tela, que uma simples
checkbox. Marcando ou desmarcando esta opo no tem efeito sobre o relatrio
sada apenas um projeto de ajuda.
Captulo 13 Usando as ferramentas Pentaho Reporting 379
Figura 13-3: Estrutura do relatrio
Os pontos bsicos que compem um relatrio so:
Cabealho / Rodap de Pgina-Qualquer contedo colocado aqui ser adicionado a
cada
pgina do relatrio. Exemplos de contedo so os nmeros de pgina, data de
impresso,
e os logotipos da empresa. A pgina de propriedades de estilo de comportamento pode
ser usado para
indicar se o cabealho ou rodap de pgina deve ser impresso na primeira
ou a ltima pgina ou no.
Relatrio / Cabealho Rodap-Qualquer contedo colocado aqui s ser exibido
uma vez. O uso tpico de um cabealho do relatrio uma pgina com todos os
relatrios
parmetros, um resumo breve relatrio, bem como o ttulo do relatrio. O rodap
freqentemente usado para exibir totais de relatrio.
Cabealho do Grupo / rodap-A relatrio tem pelo menos um grupo para organizar
contedo. Cada grupo tem um cabealho e rodap para colocar em nvel de grupo
rtulos ou subtotais. Os grupos podem ser aninhados em outros grupos, criando um
estrutura hierrquica relatrio.
Detalhes Corpo S o grupo mais interno contm o Corpo de detalhes,
que contm a banda Detalhes, onde as linhas individuais de uma consulta
conjunto de resultados pode ser colocado. O cabealho e rodap detalhes tambm
fazem parte da
Corpo detalhes.
380 Parte IV Inteligncia Aplicaes de Negcio
Dados no-Este um tipo especial de banda que pode ser usado para mostrar
informaes quando o conjunto de resultados da consulta est vazia. parte dos
detalhes
Grupo Corpo.
Watermark-Este banda especial pode ser usado para adicionar uma marca d'gua que
ser impresso como um fundo em cada pgina. uso comum para mostrar um
texto, como o''Projeto''ou''confidencial''ou um logotipo da empresa em cada pgina.
Relatrio Elementos
O lado esquerdo da tela do design na Figura 13-3 contm a paleta de base
blocos de construo para exibio de contedo em um relatrio. Tabela 13-1 contm uma
breve
descrio desses elementos. Todas as opes so visualizados como cones com o
texto a ser exibido quando o mouse passa sobre o cone.
Tabela 13-1: elementos Reporting
ELEMENTO
etiqueta
DESCRIO
A maioria dos elementos bsicos para adicionar texto esttico e rtulos de coluna
a um relatrio. Contm um rtulo para Assistente para criar facilmente
cabealhos de coluna.
Exibe valores de texto a partir de um conjunto de
dados.
Exibe os valores numricos de um conjunto de dados. Contm formato
atributos especficos para campos numricos.
Exibe valores de data a partir de um conjunto de dados. Contm formato
atributos especficos para campos de data.
A maioria dos campos de dados dinmico avanado. Pode conter combinado
texto, o campo de referncias e funes em uma nica clula e permite
para formatar os dados ao mesmo tempo. Por exemplo:
Cliente: $ (nome) $ membro (apelido)
desde: $ (data, date_registered, MM / dd / aaaa)
Baseado em um arquivo de recurso, PRD pode traduzir textos na etiqueta
outras lnguas.
Baseado em um arquivo de recurso, PRD pode traduzir no contedo do campo
outras lnguas.
Baseado em um arquivo de recurso, PRD pode traduzir mensagens em
outras lnguas.
campos de imagem exibe a partir de um conjunto de
dados.
Apresenta uma imagem de ambos os recursos de um local ou uma URL.
Insere uma elipse.
Insere um retngulo.
text-campo
campo de nmero
data-campo
Mensagem de-campo
recursos rtulo
recursos campo
recursos mensagem
teor de-campo
imagem
elipse
retngulo
Captulo 13 Usando as ferramentas Pentaho Reporting 381
ELEMENTO
na linha horizontal
linha vertical
levantamento escala
DESCRIO
Insere uma linha horizontal.
Insere uma linha vertical.
Um mini-mapa que exibe os resultados da pesquisa em uma escala de 1-5.
(Isso configurvel. O intervalo real definido atravs de
atributos).
Insere um grfico, que pode ser editado pelo editor grfico.
Traduz o contedo do campo em um cdigo de barras que pode ser lido por
leitores digitais.
Um grfico de mini-bar para ser utilizado em linha.
Um grfico de linha mini para ser usado em linha.
Um grfico de pizza mini para ser usado em linha. Este tipo de campo pode tambm
ser
usado para criar indicadores semforo em uma gesto
sumrio.
Pode ser usado para agrupar e formato diferentes elementos.
Pode ser usado para carga externa sub-relatrios a partir de uma URL ou
caminho.
Insere um sub-relatrio, que pode ser aberto em seu prprio PRD
tela.
grfico
simples cdigos de barras
bar sparkline
linha sparkline
torta-sparkline
banda
externa-
elemento-campo
sub-relatrio
Criando Conjuntos de
dados
A parte mais importante da criao de um relatrio determinar quais dados devem
ser exibido e, em caso de PRD, como os dados so agrupados e agregados.
Embora o agrupamento e agregao podem ser adicionados mais tarde, faz sentido
pensar o design do relatrio antes de comear a construir os conjuntos de dados. A PRD
relatrio pode conter apenas um conjunto de dados, mas os relatrios podem conter sub-
relatrios com
seus prprios dados conjuntos. No possvel usar ou combinar dados de sub-relatrios
no relatrio principal.
PRD pode recuperar dados de muitas fontes de dados, voc pode at usar o JavaScript
como fonte de dados. A maneira mais comum para criar consultas, no entanto, usar um
Conexo JDBC ou os arquivos de metadados Pentaho. Quando um relatrio criado,
Existem trs maneiras de criar uma fonte de dados:
Usando a opo Adicionar Fonte de Dados com a opo do menu Dados
Boto direito do mouse no cone DataSets na guia Dados sobre a direita da tela
Clique no cone do banco de dados na guia dados diretamente
382 Parte IV Inteligncia Aplicaes de Negcio
Com qualquer um destes mtodos voc obter uma lista de opes com JDBC e Metadados
no topo. Estas duas opes sero usados com mais freqncia para que eles sejam
explicado mais adiante no texto que segue.
Criando consultas SQL usando JDBC
A tela de definio de uma fonte de dados JDBC consiste de um painel com os disponveis
conexes, consultas disponveis, o nome da consulta e da consulta propriamente dita. Voc
j criou o wcm_dwh conexo no Captulo 3 para que possa ser selecionado aqui.
Aps clicar no sinal de mais direita do texto disponvel consultas, uma
consulta vazia criada uma nova com o nome Consulta 1. Se esta a nica consulta
voc estar criando para o relatrio deste nome bom, mas aconselhamos que voc sempre
dar um nome significativo para as consultas que voc est construindo. Voc pode escrever o
Consulta SQL diretamente no painel de consulta, mas no h uma alternativa muito melhor,
que ir aparecer quando voc clicar no pequeno lpis na direita. Isso abre uma
Query Designer grfico, que uma verso integrada do open source
SQLeonardo projeto. O Designer de Consulta oferece uma maneira fcil de criar SQL
consultas, mas voc precisar de algum conhecimento de SQL bsico para faz-lo. por isso
que
incluiu um primer SQL no Captulo 7.
A guia de design, que aberto por padro, consiste em consulta visual
representao no canto superior esquerdo, as tabelas e exibies disponveis no canto inferior
esquerdo,
ea tela de um desenho direita. Figura 13-4 mostra um exemplo da tela
com a consulta que ser usada para o exemplo de imagens mais tarde neste captulo.
Figura 13-4: Designer de Consulta SQL tela
Captulo 13 Usando as ferramentas Pentaho Reporting 383
Primeiro voc tem que decidir quais as tabelas a utilizar para a consulta. Voc pode
adicion-los
para a tela direita, arrastando-los l ou simplesmente clicando duas vezes
o nome da tabela. Quando voc adiciona uma segunda tabela voc notar que a consulta
Designer adiciona automaticamente a representao grfica da chave estrangeira
as relaes se tiverem sido definidos no banco de dados. Com certeza o jeito mais rpido para
selecionar um esquema em estrela completa no criador de consultas arrastar uma tabela de
fatos
para a tela, clique no nome da tabela e selecione Abrir Todas as tabelas primrias
a partir do menu. Isto ir adicionar todas as tabelas de dimenso para a estrela
esquema porque eles so os quadros de chave primria para todos os _Casos campos na
tabela de fatos. Por padro, todos os campos da tabela so selecionados, para desmarcar-los,
clique no
nome da tabela na tela e selecione Desmarcar tudo.
Note que isto s ir funcionar quando restries de chaves estrangeiras foram
definido. Com o MySQL utilizando MyISAM, isto no possvel a todos os que voc tem que
definir todas as relaes manualmente.
NOTA Relaes de chave estrangeira nem sempre existem no banco de dados, que
significa que voc tem que identificar as relaes entre as tabelas mesmo. Basta clicar
em uma coluna em uma tabela, mantenha o boto do mouse pressionado e mova o mouse para
a coluna relacionada na outra tabela. Quando voc soltar o boto do mouse, o
relacionamento adicionado. Boto direito do mouse sobre o pequeno quadrado vermelho no meio de um
relacionamento permite-lhe seleccionar a funo de edio. Isso traz a juntar-se editor
onde voc pode mudar de operador (=, >, < =>, <=, <>) e indicar a juno
tipo, selecionando a partir do qual todos os valores da tabela devem ser recuperados.
Selecionar os campos que precisam ser parte do conjunto de resultados uma questo de
clicando nas caixas apropriadas. Adicionando clculos leva um pouco de considerao,
entretanto. Se tudo que voc quer uma soma de um campo, no marque a caixa de seleo,
mas
boto direito do mouse na coluna e selecione Adicionar Expresso. As funes agregadas
Contagem,Min,MaxE Soma esto disponveis a partir da lista drop-down. Selecionando o
Soma funo para a coluna de receitas no fact_orders tabela cria o item
sum ("fact_orders '.' receitas ') no conjunto de resultados. Embora PRD aceita
isso como um nome de campo, melhor adicionar um alias significativa clicando com o
funo na lista de seleo, escolhendo Editar e adicionar o texto como Receita para
a funo. Do captulo 7, voc deve se lembrar que um agregado exige
umpelo grupo declarao tambm. O Designer de Consulta no adiciona os campos para
GRUPO seo automaticamente, mas estes podem ser facilmente arrastado l.
Adicionando restries onde clusula funciona de forma muito semelhante adio
expresses. Boto direito do mouse no nome da coluna na tela e selecione a opo
adicionar condio em que. Isso abre o editor de conexo em que as restries
pode ser definida. No nem uma opo de lista de valores nem qualquer outra forma de
exibio de dados de uma nica coluna que voc ter que saber as entradas disponveis
antes de definir as condies.
384 Parte IV Inteligncia Aplicaes de Negcio
DICA Quando voc est criando um onde condio e no sei o valor correto para
entrar, faa o seguinte:
1. Feche a tela do Query Designer, clicando em OK, e adicionar uma nova consulta
fonte de dados.
2. Abra a tela de Designer de Consulta e arraste a tabela que contm
a coluna cujos valores que voc precisa saber para a tela.
3. Desmarque todas as colunas e selecione a coluna da direita.
4. Direito do mouse no SELECT bem abaixo do cabealho ROOTQUERY e
Escolha distintas.
5. Pressione Visualizar para visualizar os valores da coluna, voc pode copiar os valores
voc quer, selecionando a linha (s) e pressionando Ctrl + C (no h
boto direito do mouse opo).
6. Feche o designer, retire da lista de consulta de valores e reabrir o
consulta original.
7. Edite o onde condio e colar os valores selecionados dentro (no for-
comea a colocar aspas em torno do valor [s], se a seleo est em
uma coluna de texto. Os valores numricos no exigem aspas).
Voc pode visualizar os resultados da consulta e do SQL que gerado como
resultado da consulta diretamente da tela do Query Designer. A guia de sintaxe em
os interruptores canto inferior esquerdo da vista para o SQL gerado, ea opo de visualizao
executar a consulta e mostrar o conjunto de resultados em forma tabular. Quando terminar
construo de sua consulta, pressione OK para fechar o Designer de Consulta e
posteriormente
pressione OK para fechar o editor de fonte de dados. O novo conjunto de dados agora
aparece na
Dados da guia PRD com todos os nomes de coluna expandido, como mostrado na Figura 13-
5.
Figura 13-5: JDBC resultado de consulta
DICA Quando quiser adicionar uma tabela pela segunda vez para ser usado como um alias (para
exemplo, para usar a dimenso de data para a data do pedido ea data da expedio), voc
Captulo 13 Usando as ferramentas Pentaho Reporting 385
notar que PRD gera um aviso com o texto''A tabela j carregados e
aliasing desativado!''Basta fechar esta mensagem e mude para o separador de sintaxe do
Designer de Consulta aps desmarcar todas as colunas. Adicione o nome de alias para o direito de
o nome da tabela. No no OK, mas voltar para o guia designer. Voc receber um
mensagem dizendo que a sintaxe mudou: aceitar as mudanas ea tabela
nome mudado para o novo apelido. Agora voc pode adicionar a mesma tabela uma
pela segunda vez. Repita esse processo se aliases so necessrios mais.
Criando consultas de metadados
Ao selecionar Metadados como fonte de dados, uma tela semelhante aos dados JDBC
janela de fonte aberta. Alm da ligao correta, os dados de metadados
Fonte tela Editor exige a seleo de um arquivo XMI. Depois de selecionar o
XMI arquivo e abrir o editor de consultas, o MQL Query Builder aberto para que
o modelo de negcios pode ser selecionado. As vises de negcios disponvel dentro de um
modelo so exibidos como pastas e campos podem ser selecionados clicando no
nome do campo e, posteriormente, clicando na seta para adicionar o campo para a
Selecione, Condio, ou ORDER BY lista.
ATENO Em PRD, os dados tm que ser ordenadas do jeito que voc quer que ele aparea em
o relatrio usando as opes de classificao na consulta. No h outra maneira de classificar os
dados depois de ter sido recuperado.
Criando um conjunto de dados usando o editor de MQL parece ser uma muito simples
processo e, primeira vista ele . O mesmo truque para obter valores a serem aplicados em
sua
condies pode trabalhar com o editor de consultas JDBC, mas voc deve estar ciente de
as seguintes limitaes:
Nenhum expresses podem ser adicionados, por isso, quando um objeto no est
disponvel no
modelo de metadados que voc no pode adicion-lo no editor de MQL. Em vez disso, o
modelo
precisa ser ampliado e exportada como um arquivo XMI novamente antes de
usar o novo campo.
Condies no podem ser agrupadas usando parnteses para forar a avaliao
precedncia, mas so avaliados de acordo com a ordem expresso lgica
onde E tem precedncia sobre OU. Voc pode experimentar por si mesmo: O
expresso E um b ou C e d avaliada como (A e b) ou (c e d),
que poderia ser correto, mas se voc queria ser A e (b ou c) e d
voc tem um problema porque o editor no pode MQL condies, este grupo
caminho. A nica maneira de condies corretamente grupo desta forma reconstruir
a consulta no editor JDBC vez e adicionar manualmente os colchetes.
O resultado da consulta MQL o mesmo que com qualquer outra fonte de dados.
No primeiro nvel um conjunto de dados que mostra o tipo de fonte de dados (neste caso
Metadados) Com o nome da conexo entre parnteses. Aninhados abaixo do conjunto de
dados
386 Parte IV Inteligncia Aplicaes de Negcio
a consulta com o nome da consulta (na maioria dos casos, uma consulta ou apenas de
consulta), e no
nvel mais baixo dos campos disponveis. A diferena entre um JDBC e Metadados
conjunto de dados a descrio das colunas de metadados, que mostra a
nome da coluna metadados de negcios, e no o nome da coluna do banco de dados real.
Exemplo de dados Set
Para as seguintes instrues que voc vai usar um dado muito simples definido a partir do
dim_date tabela. Os dados do exemplo dado pode ser criado usando ambos os
JDBC e editores de metadados e consiste dos campos ano4,quarter_name,
month_numberE MONTH_NAME de qualquer tabela de dimenso de data. Ordem dados
por ano4,quarter_nameE month_number e Verifique se a opo Distinct
escolhido. Nenhuma condio pode ser adicionada ainda. Arraste as linhas do resultado
para o
Detalhes da faixa e pressione o boto Preview (o olho''pouco''para a esquerda do
lista de fontes drop-down na parte superior da tela de projeto). Figura 13-6 mostra o
resultado parcial do presente exerccio. Parabns-voc acabou de criar seu primeiro
relatrio!
Figura 13-6: Primeiro Relatrio Lista
Adicionando e Usando Parmetros
Fixo consultas so muito bem para relatrios padro, mas normalmente um pouco mais de
interao
necessria. Essa interao pode ser adicionado usando parmetros que permitem que um
usurio a escolher determinados valores cada vez que o relatrio executado. Adicionando
parmetros
fcil usar o PRD Adicionar funo de parmetro. Voc pode encontrar este sob a
Dados do menu, clicando na rvore Parmetros na guia Dados, ou simplesmente
clicando no cone de atalho na parte superior da guia Dados. Um parmetro normalmente
com base num conjunto de valores que um usurio pode escolher, mas um parmetro de texto
livre
como bem disponvel. Todos os tipos de parmetro e exigem uma lista predefinida de IDs
e valores. A lista de valores deve vir de uma fonte de dados diferente
da consulta principal. Qualquer fonte de dados podem ser usados aqui e porque JDBC e
Captulo 13 Usando as ferramentas Pentaho Reporting 387
fontes de metadados j tenham sido abrangidos, vamos introduzir um novo tipo de
fonte de dados aqui. PRD tem a capacidade de definir uma tabela personalizada, incluindo
o contedo da tabela no relatrio. Quando voc adiciona um parmetro e clique em
no sinal de mais para criar uma nova fonte de dados, selecione Tabela. Isso inicia o Quadro
Datasource editor, que permite definir IDs de costume e valores. O ID o
valor que ser passado para a consulta, o valor ser exibido como uma escolha
para o usurio quando executar o relatrio.
Alm do parmetro de texto bsica, sete tipos de visualizao e seleo so
disponveis. A lista drop-down, lista simples / mltipla, um boto de rdio e caixas
so elementos bsicos da interface do usurio que podem ser encontrados em muitas outras
aplicaes como
tambm. Os dois ltimos so bastante raros, o que estranho, considerando a clareza ea
facilidade de uso para usurios finais. Estes so os tipos simples e multi-boto, que
apresentam uma banda de botes para escolher. Para o relatrio de exemplo, voc criar
dois parmetros, um para a seleco de um ano a partir de uma caixa suspensa, e um para
selecionando um ou mais quartos com um parmetro de multi-boto. Cada parmetro
vai buscar a sua prpria consulta. Siga estes passos:
1. Adicionar um novo parmetro para o Ano e adicionar um JDBC ou dados de metadados
fonte. A fonte de dados contm uma consulta que seleciona os valores distintos
da ano4 campo em qualquer dimenso de data.
2. D o nome qry_param_year fonte de dados eo nome do parmetro
param_year, Insira o texto Selecione o ano como parmetro Label Drop e selecione
Down como tipo. Como a consulta contm uma nica coluna, ano4,
este automaticamente selecionado para o ID e Valor.
3. Criar o Trimestre parmetro. Adicionar um novo parmetro param_quarter e
adicionar um novo quadro DataSource com o nome tbl_param_quarter. Agora
inserir os valores como mostrado na Figura 13-7.
Figura 13-7: Parmetro editor Tabela
4. Selecione Id como ID / Nome e valor como valor a partir das listas drop-down e
certifique-se que java.lang.String selecionado como o tipo de dados. O Adicionar
tela de parmetro agora parece que a tela na Figura 13-8.
388 Parte IV Inteligncia Aplicaes de Negcio
Figura 13-8: Adicione tela de parmetro
Os parmetros do recm-criado pode ser testado, executando uma previso: a
parmetros ser visvel na parte superior da tela do relatrio. Voc pode selecionar e
valores desmarcar, mas fora isso, nada acontece ainda. A etapa final
implica associar os parmetros para a consulta principal. Primeiro voc precisa saber
como referncia o parmetro em uma consulta. Usando uma fonte de dados JDBC este
simplesmente uma questo de colocar o parmetro ID com chaves e antes
los com um cifro, como no $ {} Param_year. Voc pode usar o grfico
designer para adicionar um onde condio para as colunas ano4 e quarter_name mas
o texto pode ser digitado diretamente sem abrir o editor. O completo
consulta deve ser semelhante ao seguinte:
SELECT DISTINCT
"Dim_date_en_us '. Ano4,
"Dim_date_en_us '. Quarter_name,
"Dim_date_en_us '. Month_number,
"Dim_date_en_us '. MONTH_NAME'
DA
"Dim_date_en_us '
ONDE
"Dim_date_en_us '. Ano4' = $ {} param_year
E 'dim_date_en_us'. Quarter_name 'IN ($ {} param_quarter)
Como o parmetro trimestre param_quarter pode ter vrios valores que
usar o EM operador e colocar o parmetro entre parnteses. Quando a consulta
executado, isto se traduz em uma lista separada por vrgulas de valores. Agora voc tem um
relatrio parametrizado e ao selecionar a opo de visualizao, voc ver uma
tela vazia. Depois de selecionar um ano, e um ou mais quartos, e clicando em
Atualizao, os dados selecionado aparece na tela. Com a opo Autoupdate
Tambm possvel ter o fogo consulta automaticamente quando um novo valor
selecionado. O resultado de seu trabalho at agora exibido na Figura 13-9.
Para maior clareza, todas as consultas e os parmetros foram ampliados, o que faz
claro porque os nomes de parmetro de consulta e devem ser significativas. Faz
manter o relatrio muito mais fcil quando voc faz.
Captulo 13 Usando as ferramentas Pentaho Reporting 389
Figura 13-9: Exemplo de parmetro de relatrio
Layout e Formatao
A maioria das pessoas gastam horas incontveis de trabalho no layout do relatrio e mais
ferramentas de comunicao no fazem isso muito fcil. PRD, no entanto, baseada em
algumas
smart princpios de design que torna muito fcil de alterar rapidamente o formato de
o relatrio. O primeiro e mais importante herana de estilo (Captulo
12 contm uma introduo bsica aos princpios da herana.) Quando voc olha
a estrutura de um relatrio no painel de estrutura, voc vai notar que a estrutura do
tem a forma de uma rvore aninhada. Esta no uma coincidncia: PRD segue esta
hierarquia
quando mudar as propriedades do item. O guia de propriedade Style contm quatro colunas:
Nome, Herdar valor e frmula. A segunda coluna, herdar, est marcada para
cada propriedade, por padro. Isto significa que as configuraes para a propriedade so
herdadas de um nvel mais elevado na hierarquia. Voc pode tentar isso em um simples
maneira: Basta selecionar a banda Detalhes no painel 'Estrutura. A famlia de fontes tem
a caixa de seleo para herdar selecionados eo valor Serif, que o padro
fonte. Agora altere o valor para Verdana: Voc perceber que remove o PRD
Herdar de seleo, e todos os itens que fazem parte da banda de detalhes tm agora a
font-family Verdana definido automaticamente por herana. O nvel mais alto na
hierarquia o nvel do relatrio mestre-e aqui voc pode mudar o estilo de relatrio de largura
propriedades, como tipo de fonte, tamanho de fonte, cores de texto, e assim por diante.
Este princpio de herana no restrito aos internos nos nveis de estrutura. A
agrupamentos de adicionar-se funcionam da mesma maneira. Suponha que voc queira criar
um cabealho de uma linha de detalhes que consiste em quatro colunas. Voc pode adicionar
quatro
rtulos de colunas e format-los individualmente, mas muito mais fcil para criar primeiro
uma banda arrastando-os elementos de design e colocando as etiquetas dentro
390 Parte IV Inteligncia Aplicaes de Negcio
a banda. Agora s a banda precisa ser formatado, todos os rtulos herdar
os valores de propriedade da banda. impossvel cobrir todas as opes de formatao
aqui, nos restringimos aos primeiros passos para ajud-lo em seu caminho. Ns
abrir o relatrio do ano-de-Semana pouco para os exemplos e comear por
adicionando um cabealho para as colunas no relatrio:
1. Navegue at o cabealho de detalhes na estrutura de rvore. Se a esconder sobre tela
est marcada, desmarque-a para apresentar a banda na tela.
2. Arraste uma faixa da lista de objetos esquerda para a banda de cabealho e detalhes
posicion-lo no topo.
3. Abra os atributos de estilo e definir a largura, que pode ser encontrado no
tamanho e posio do grupo, a 100 por cento.
4. Definir o estilo seguintes atributos para a banda:
Font-family: Arial
Tamanho da fonte: 12
Bold: checked
Texto de cor: branco
Bg-cor: cinza escuro
5. Arraste quatro rtulos para a banda. Eles herdam automaticamente o estilo
atributos que voc acabou de criar para a banda. As guias de posicionamento pode ser
usado para colocar o rtulo exatamente acima dos quatro colunas no relatrio. Isso
a seguinte: a formatao feita.
6. A nica coisa que resta definir os nomes certos para as colunas. Na
Atributos guia voc ver o valor propriedade digitar o cabealho da coluna,
ou voc pode usar as etiquetas para Wizard, que apresenta uma lista drop-down
com as colunas disponveis na consulta. Se o nome da coluna consulta
exatamente o que voc gostaria que o cabealho para exibir, usar o assistente. Em
qualquer
outro caso, basta digitar os valores.
Alm das propriedades de estilo, PRD contm um multi-tabbed para-
tela esteira similar s telas de dilogo de formatao encontrados nos mais modernos
processadores de texto. Basta selecionar um objeto em seu relatrio e selecione Formatar
Fonte do menu principal.
Cores de linha alternadas: Bandas da Linha
Para melhorar a legibilidade de um relatrio tipo de lista, uma boa idia para uso alternativo
colorir linha onde as linhas com um nmero de linha at obter uma cor diferente
aqueles com um nmero de linha mpar. Muitas ferramentas de relatrios exigem que voc
use
Captulo 13 Usando as ferramentas Pentaho Reporting 391
algo semelhante ao seguinte: a primeira utilizao de um clculo mod, em seguida, criar
uma varivel, e, finalmente, usar a formatao condicional com base na varivel de
destacar linhas mpares e pares. Com PRD, este processo ainda mais simples. Selecione
a opo de formato de linha de bandas a partir do menu e escolha as cores necessrias
para as linhas mpares e pares. PRD, em seguida, cria uma linha de bandas de funo, que
acessvel a partir da guia Dados na pasta Funes. Basta arrastar a funo de
Detalhes da banda e tornar o campo invisvel. Quando voc clique em Visualizar, voc
ver as cores de linha alternadas aparecer, como mostrado na Figura 13-10.
Figura 13-10: bandagem Row aplicada
Agrupando e resumindo dados
Um dos princpios bsicos do PRD (ou qualquer outra ferramenta de comunicao em faixas)
o
agrupados apresentao de dados. At agora, voc criou as consultas necessrias
para selecionar e filtrar os dados para o relatrio. Agora hora de trazer estrutura para
o conjunto de resultados, adicionando grupos, cabealhos e sumrios para o layout do
relatrio.
Adicionando e modificando grupos
Um grupo usado para organizar o contedo em diferentes nveis, onde os sub-cabealhos
e totais podem ser adicionados. Os grupos podem ser adicionados clicando em qualquer lugar
a tela de design, clicando na seo Grupos na estrutura de relatrio,
ou clicando no cone Adicionar Grupo na guia Estrutura. Quando voc adiciona um
grupo, uma nova camada adicionado seo Grupos. Cada grupo pode ligar para
um campo nos dados de relatrios de jogo, assim quando voc quer criar um relatrio com
uma
agrupamento Ano-de-ms, melhor quando esses campos j esto presentes
no conjunto de dados em primeiro lugar, embora isso no seja necessrio. Um grupo padro
usado para
agrupar os dados de detalhe, como voc pode ver na rvore de estrutura. Quando voc abre o
editor de grupo (o cone mais esquerda da esquerda na guia estrutura) este vazio
392 Parte IV Inteligncia Aplicaes de Negcio
grupo padro exibido como uma linha em branco que faz referncia a um campo vazio
lista []. Este o grupo padro, que pode ser usada para o agrupamento, mas no pode
remov-lo, embora voc pode remover todos os grupos a partir do editor grupo.
Aps fechar o editor e reabri-lo, voc vai notar a linha em branco com o
grupo padro novamente. Porque voc no quer desperdiar recursos, voc vai usar
este grupo padro para o nvel Trimestre grupo em seu relatrio de exemplo. Usando
nomes de grupo necessria, caso contrrio voc no pode fazer referncia os grupos da
relatrio. Ento adicione QuarterGroup como o nome e selecione o campo quarter_name como
o campo de grupo. Enquanto voc ainda estiver nessa tela, digite um outro grupo e nome
presente YearGroup. O campo de referncia a ano4. Clique na YearGroup linha e
mov-lo, clicando na seta para cima. Figura 13-11 mostra o resultado at agora.
Figura 13-11: editor do Grupo
Quando voc executar um preview de novo, voc vai notar que os resultados tm agora um
quebra em cada trimestre, e que os detalhes do cabealho repetido para cada trimestre.
Agora adicione uma nova banda em ambos os anos, o quarto eo cabealho e definir a banda
largura de 100 por cento novamente. Verifique se o esquema de cor diferente para cada um
dos
os trs nveis de agrupamento (Ano, Trimestre, detalhes).
NOTA No (ainda) possvel arrastar e soltar objetos, tais como rtulos, campos ou
grficos de uma banda (cabealho) para outro, mas possvel copiar ou cortar a partir de
uma faixa e col-los em outro.
Agora voc pode simplesmente mover o cabealho campos do cabealho de detalhes para a
ano e quarto, respectivamente, cabealho, mas vamos usar um campo de mensagem em seu
lugar. A
anos de campo de cabealho de mensagem obtm o valor Ano: $ (ano4); Cabealho no
trimestre
campo da mensagem se o valor Bairro: $ (quarter_name). Agora voc pode remover
os campos de detalhe para ano4 e quarter_name tambm. Para ser capaz de selecionar mais
de um ano e ver os efeitos do agrupamento que voc adicionou, voc pode alterar
o parmetro ano, em uma lista ou tipo multi-multi-boto e alterar a consulta
condio para EM. No se esquea de adicionar o parmetro entre colchetes. A
relatrio deve agora parecido com o exemplo na Figura 13-12.
Captulo 13 Usando as ferramentas Pentaho Reporting 393
Figura 13-12: Agrupamento aplicada
Usando funes
O passo final na criao de um relatrio agrupado consiste na adio de textos de rodap
e campos de resumo. A fim de mostrar resumos como o nmero total
de meses ou trimestres em um grupo, voc precisa criar funes. No caso de voc
no tenha notado, voc j criou uma funo para aplicar a linha de bandas
formatao, mas o que feito de uma forma quase transparente. PRD contm
muito mais funes que podem ser usados para melhorar o seu relatrio. A lista dos
funes disponveis pode ser acessado na guia Dados, clicando em Funes
cone de atalho na parte superior da guia de dados, clicando na linha Funes
dentro da guia Dados, ou selecionando Adicionar funo no menu Dados.
A lista contm expresses de funo para as converses, layout, contedo e
agregao. As funes de agregao so os necessrios para a adio de grupo
e resumos total a um relatrio e so divididos em Global e executando
As funes de agregao. A distino entre estes dois tipos de funes
o contexto no qual so aplicados: Funes globais sempre calcular o
agregao no grupo para o qual eles so definidos. Executar funes
calcular a totalizao at o ponto ou sub-grupo em que esto
colocado. Para ilustrar isso, vamos criar quatro funes para contar o nmero de
linhas no relatrio em diferentes nveis:
1. Adicionar um item de durao funo Count (selecione Adicionar Funo, clique duas
vezes
Correndo, selecione o conde [de durao] Funo, e clique em Adicionar). Funes
obter um nome padro que consiste de seu nome da funo e um apenso
nmero de seqncia para mudar o nome para RunningCountYear. Selecione
YearGroup como o Reset nome do grupo para garantir que a contagem comea
a partir do incio de cada ano encontrado.
2. Adicione um nome de ponto de funo Count Total, este TotalCountYearE selecione
YearGroup como o nome do grupo (selecione Adicionar Funo, clique duas vezes em
Soma
Maria, Count selecione e clique em Adicionar).
394 Parte IV Inteligncia Aplicaes de Negcio
3. Agora soma mais de durao e Total Item Count funo eo nome
eles RunningCountReport e TotalCountReport mas deixar o grupo
e nomes de grupo redefinir vazio para ter a agregao calculados para todos os
os valores no relatrio.
4. Abra o Quarter Group Footer e arraste as quatro funes recm-criado
na rea de rodap. Observe que isso cria um campo com um nmero de referncia
para a funo, que agora faz parte da lista de campos.
5. Adicione quatro rtulos, bem como para indicar que o valor representado por cada
de campo. Figura 13-13 mostra que o grupo de funes e do relatrio
olhar de rodap, como aps a aplicao de todas as etapas anteriores.
Figura 13-13: Agregao exemplo funes
ATENO As funes so referenciados pelo nome para se certificar de que todas as funes
tem um nome nico dentro do relatrio.
Como a prova do pudim est no comer, hora de acertar o
Preview boto novamente e saber como essas funes so avaliadas pelo PRD.
Figura 13-14 mostra parte dos resultados, com uma seleco de dois anos (2008 e
2009) e todos os quatro trimestres.
Figura 13-14: resultados da agregao
Este valor um bom exemplo de como as funes de agrupamento e agregao
trabalho e deve dar-lhe fundo o suficiente para construir seus prprios relatrios.
Captulo 13 Usando as ferramentas Pentaho Reporting 395
O que mostrado que para o Q2 de 2009, a contagem corrida item 6, o que correto
porque cada quarto composto por 3 linhas de ms, eo total no ano
grupo de 12. A durao contagem Relatrio mostra 18 para 2009 Q2 porque todos os 2008
linhas, bem como dos atuais 6 de 2009, fazer 18. Finalmente, o relatrio mostra a contagem
total
24 em cada grupo, que o nmero de meses a 2 anos.
Voc pode ser tentado, neste ponto, tentar adicionar clculos baseados em
esses campos nova funo, por exemplo, para calcular um percentual do valor da linha de
uma
grupo total. PRD no funciona dessa maneira, mas fornece funes out-of-the-box
para estes clculos tambm. Como ltimo exemplo, em um quarto o ano-ms
relatrio, voc pode adicionar uma funo ItemPercentage para calcular o nmero do ms
percentagem do nmero total do grupo ms. Como referncia, voc pode criar
este grupo no ms Nmero total e exibi-lo no rodap do grupo Bairro.
A funo ItemPercentage parte das funes de agregao de execuo
(Selecione Adicionar funo, abra durao, e selecione Porcentagem do Total). Aps o
funo foi adicionada, o campo para criar o percentual para o grupo e para
determinar o valor total deve ser selecionado. Tambm uma boa idia para mudar
o nome da funo em algo significativo, como MonthPercentage. A
especificao da funo completa apresentada na Figura 13-15.
Figura 13-15: definio do percentual do item
Agora, a funo pode ser adicionada aos detalhes no relatrio. Para ter
coluna exibida como uma porcentagem, altere o valor no formato do campo
atributos em 00.0%. O resultado completo pode ser visto na Figura 13-16, embora
este exemplo no um clculo muito til no mundo real, ele faz um bom
trabalho de explicar como o mecanismo de clculo do PRD obras.
Usando frmulas
Na seo anterior, voc aprendeu como adicionar uma funo ItemPercentage
para calcular a porcentagem nmero do ms do total de nmero de grupo de ms.
Se voc j possui uma funo que calcula o nmero total ms, voc
pode obter o mesmo resultado usando uma frmula. Para fazer isso, voc precisa criar
um campo Nmero e especificar uma expresso que calcula a porcentagem item
para o campo Frmula propriedade. A sintaxe para frmulas o mesmo que
396 Parte IV Inteligncia Aplicaes de Negcio
encontrados em programas de planilha como o Microsoft Excel e Open Office Calc:
inserir um sinal de igual, seguido pela expresso. Para calcular a verdade
ItemPercentage, necessrio dividir o nmero do ms pelo total de meses.
Assim, na frmula, a expresso que aparece atrs do sinal de igual que
leia [Month_number] / [MonthTotal]. Note que essa [Month_number] e
[MonthTotal] so eles prprios tambm expresses: [Month_number] referncias
um campo da consulta, e [MonthTotal] se refere a uma funo Soma Total
calcular a soma dos nmeros do ms.
Figura 13-16: Nmero percentagens ms
Expresses em frmulas Pentaho Reporting no esto limitados aos campos da
conjunto de dados e referncias a funes com nome, voc tambm pode usar valores
constantes,
comum operadores aritmticos, como + -, * E / e operadores lgicos como
AND e OR. Alm disso, h uma srie de funes internas para tarefas como
data do clculo do tempo / e manipulao de cadeia. Cuidado, porm, que isso no
um programa de planilha: voc s pode fazer referncia a linha atual de dados, no o
linha anterior ou seguinte. Voc pode, no entanto, utilizar funes para determinar mnimos
ou valores mximos dentro de um grupo, por exemplo, e fazer referncia funo
no nvel de linha. As funes tambm podem fazer referncia a resultados de outras funes,
de modo
praticamente no h limites para o que voc pode fazer com as funes, frmulas e
expresses.
NOTA Para uma viso completa da Pentaho Reporting Frmulas, built-in
funes e operadores, consulte a documentao do Pentaho em
http://wiki.pentaho.com/display/Reporting/9.+Report+Designer
+ + Expresses Frmula.
Captulo 13 Usando as ferramentas Pentaho Reporting 397
Adicionando grficos e elementos
grficos
Uma imagem vale por mil palavras, e essa sabedoria comum particularmente
verdade no mundo de BI. Mostrando apenas os nmeros muitas vezes no suficiente
quando voc
deseja obter uma viso imediata da evoluo ou da distribuio dos dados. PRD, portanto,
no somente fornecer uma interface para criar Pentaho Reporting, mas pode
ser utilizadas para integrar JFreeChart tambm. Lembre-se que Pentaho Reporting
e JFreeChart so dois projetos diferentes, que foram integrados em um
nica soluo por Pentaho. Mais informaes sobre JFreeChart pode ser encontrado
em http://www.jfree.org/jfreechart.
Antes de um grfico pode ser usado, os dados para ser visualizado no grfico precisa
estar presentes no relatrio. PRD no possvel utilizar os campos de dados de uma consulta
directa
mas precisa de um provedor de dados especial, chamado funo de cobrador que transforma
o
dados para uso em um grfico. Existem seis funes de coletor e 14 tipos de grfico
disponveis. Cada tipo de grfico usa a sua funo de coletor prprio, e alguns tipos de grfico
pode usar dois deles. Para um grfico simples, basta ter uma coluna da srie
e um valor definido, enquanto que para um grfico de barras empilhadas com um segundo
eixo Y mais
dados precisam ser passados para o grfico. A vantagem do uso de coletores de dados
que esto separados dos dados principal definir a capacidade de criar grficos diferentes
a partir de um nico conjunto de dados.
Captar o modo de grficos obras e as opes de dados diferentes disponveis
Pode parecer difcil no comeo, ento vamos comear por um exemplo simples para ter uma
noo de
como as coisas funcionam. Este exemplo baseado no banco de dados de exemplo Pentaho,
e ir mostrar a receita ea quantidade por ano ordem e linha de produtos em
vrias maneiras.
NOTA Em uma situao da vida real, voc deve iniciar com o design do relatrio,
que deve ser baseado em um requisito de negcio. Somente depois que voc descreveu o que
voc quer alcanar com o novo relatrio que voc pode comear a pensar em que dados
seria necessrio e como o relatrio deve ser construdo. Os passos seguintes
supor que os requisitos e fase de concepo j est concludo para que voc possa
agora comear a construir o relatrio atual.
1. Depois de criar um novo relatrio, use o PRD Designer de Consulta para adicionar um
Fonte de dados com JDBC OrderYear,ProductLine,OrderRevenueE
OrderQuantity. Para comear o ano a fim, necessrio o ano () funo.
ATENO O PRD Query Designer permite que voc adicione as expresses suma,
min, max, e contagem mas podem ser alterados posteriormente. Tenha em ateno que quando voc estiver
usando
funes no-agregado, como ano (), o campo deve ser adicionada ao grupo
por clusula. Quando o fizer, ser acrescentado, incluindo o alias, o que no correto.
A ordenar por e pelo grupo clusulas tero que ser ajustados manualmente para
gerar os resultados corretos. Alm disso, cuidado que cada vez que voc entra na grfica
398 Parte IV Inteligncia Aplicaes de Negcio
Designer de Consulta, SQLeonardo ir gerar a sintaxe da consulta errado novamente
traduzindo ano (OrderDate) em apenas ano.
2. A consulta correto para obter o conjunto de resultados que voc precisa exibido na
seguinte bloco de cdigo:
SELECT
,
,
,
DA
INNER JOIN
INNER JOIN
GROUP BY
,
ORDER BY
,
ANO (o.orderdate) AS orderyear
p.productline
SUM (d.quantityordered)
SUM (* d.priceeach d.quantityordered)
o ordersAS
OrderDetails AS d o.ordernumber ON
productsAS p ON d.productcode
ano (o.orderdate)
p.productline
ano (o.orderdate) ASC
ASC p.productline
orderquantity AS
orderrevenue AS
= D.ordernumber
= P.productcode
3. A partir deste conjunto de resultados diferentes grficos podem ser gerados em
diferentes nveis de
detalhes. Os grficos podem ser colocados no cabealho do relatrio, mas voc tambm
pode usar
os grupos criados em um relatrio. Ao fazer isso, voc pode dar um alto nvel
Resumo na parte superior do relatrio e prestao de informaes detalhadas na
reparties grupo. A idia do projeto o seguinte:
Mostrar um grfico de barras na parte superior do relatrio com a quantidade total por
linha de produtos discriminados por ano para destacar tendncias de vendas para
cada
linha de produtos ao longo do tempo.
Para cada ano, apresentar a distribuio de renda ea quantidade por produto
linha em percentagem e utilizando grficos de pizza.
Exibio do ano, a quantidade total ea receita total como cabealho de grupo.
4. Para fazer isso, criar primeiro um grupo baseado na OrderYear. Os grficos podem ser
adicionado por arrastar um objeto grfico a partir da paleta na tela do projeto,
neste caso para o cabealho do relatrio. Para ter a propagao grfico mais
toda a largura da pgina, clique sobre o grfico e definir o estilo a seguir
atributos: x = 0,y = 0,width = 100%E height = 190.
NOTA Todos os objetos em um relatrio pode ser dimensionada e posicionada em um absoluto ou
um
forma relativa dentro de uma faixa relatrio. O padro no PRD est usando o posicionamento absoluto
e dimensionar em pixels, por exemplo, quando uma carta colocada em algum lugar em uma banda,
o xe yvalores indicam a posio absoluta do canto superior esquerdo da
grfico e os largura e altura Os valores esto em pixels. Todos os valores podem ser alterados
em valores relativos, adicionando o sinal de porcentagem (%).
5. Grficos que so colocados sobre a tela pode ser editado clicando em
o grfico e escolha a opo editor grfico. Isso abre a tela que
apresentado na Figura 13-17.
Captulo 13 Usando as ferramentas Pentaho Reporting 399
Figura 13-17: editor grfico
A tela mostra os diferentes tipos de grficos na parte superior, as propriedades do grfico
esquerda e definio da fonte de dados direita. Esta parte da fonte de dados
vazio quando voc cria um grfico e voc ter que selecionar uma das
funes de coletor disponvel para alimentar o grfico. Cada tipo de grfico tem uma ou duas
disponveis as funes de coletor, dependendo do tipo de grfico. A fim de fazer
as escolhas grfico direita, voc vai precisar saber o que voc pode fazer com os diversos
funes de coletor:
PieSet-Requer uma srie (as fatias do bolo) e uma coluna de valor. Usado
para grficos de pizza e anel.
CategorySet-Requer uma categoria (eixo X) e uma coluna de valor.
Opcionalmente, uma srie (avaria de uma categoria) podem ser adicionados. Usado para
grficos de barra, linha, torta multi-cachoeira e regio.
PivotCategorySet-Pivs as colunas de valor para us-los como categorias.
Requer que voc tem pelo menos duas colunas de valores (por exemplo, real e
oramento), que so traduzidas em categorias. Usado nos tipos de grfico mesmo
como CategorySets.
TimeSeries-Requer uma coluna de data / hora para ser usado como uma categoria
(Eixo X) e um valor. Uma srie pode ser adicionada, opcionalmente. Usado em
disperso,
XY bar, XY linha, rea XY, e os grficos de linhas prolongado XY.
Permite-YYSeries duas medidas deve ser posicionado sobre o X e Y
eixo a parcela relativa a dependncia de duas variveis. O valor da srie
opcional. Pode ser usado nos grficos mesmo que o coletor TimeSeries
funo.
400 Parte IV Inteligncia Aplicaes de Negcio
Somente XYZSeries para o grfico de bolhas; precisa de trs colunas de valores onde
X e Y determinam a posio em relao ao eixo X e Y, e Z
valor determina o tamanho das bolhas. Adicionando uma srie permite um perodo de
quatro
visualizao tridimensional.
Adicionando um grfico de
barras
O primeiro grfico que deseja criar baseado em uma CategorySet onde productline
usado como categoria, OrderYear como a srie de colunas, e orderquantity como um
valor da coluna. Observe o seguinte:
Adicionando as colunas para a srie de valores e requer um pouco mais clicando
atravs do que abrir uma tela de seleo distintas. Parece que voc poderia
adicionar vrias colunas para qualquer srie ou um valor, mas quando o fizer, esta
no tem qualquer efeito sobre o grfico, ou ele simplesmente no vai exibir todos os
valores
em tudo.
Certifique-se que o valor de uso de resumo somente definido como False. O estilo
atributos do lado esquerdo pode ser ajustado ao seu gosto.
Quando um ttulo tem de ser exibido, digite-pol Se voc no quer um ttulo,
deixar o campo vazio. No h ttulo de exibio atributo como no existe para o
lenda e os eixos X e Y.
O resto das opes de formatao so bastante auto-explicativo, exceto por
as fontes. As fontes podem ser ajustadas por meio de um texto em trs partes divididas
por traos onde a primeira parte consiste no nome da fonte, seguido do
estilo e tamanho. A negrito, fonte Arial 12 pontos codificado como Arial Bold-12.
Ao usar a opo de visualizao, voc pode verificar se o grfico partidas
suas exigncias.
Grficos de pizza
Os grficos de pizza que voc deseja adicionar exigir um PieSetCollectorFunctionE
porque voc quer uma torta para mostrar a quantidade e as receitas do outro,
ambos comeam a sua funo de coletor prprio. A coisa agradvel sobre grficos de pizza
que voc pode mostrar rtulos para as fatias e indicar qual o contedo deve ser
exibidos dentro do rtulo. Trs valores podem ser exibidos: o texto real da etiqueta,
o valor de corte, ea porcentagem da fatia. Eles podem ser acessados atravs da adio {0},
{1}, ou {2} em qualquer ordem ou combinao para o atributo formato de etiqueta onde
pode adicionar o texto tambm. Se, por exemplo, voc quer exibir o nome da fatia
seguido pelo valor entre colchetes, basta digitar {0} ({1}).
Os grficos de pizza no exemplo so colocados na Ano cabealho de grupo e
exibir os valores para um determinado ano. O valor para o pelo grupo atributo
Captulo 13 Usando as ferramentas Pentaho Reporting 401
precisa ser definido para o YearGroup grupo, caso contrrio, os grficos no usar o
agrupamento e todos iro mostrar os mesmos valores globais.
Com grficos de pizza, voc tambm pode explodir uma fatia (posicion-lo fora do crculo
por uma determinada porcentagem) ou exibir o grfico em 3D. A combinao destas
no possvel: no se pode explodir uma fatia em um grfico de pizza 3D. Para selecionar a
fatia de
explodir, voc vai precisar conhecer o seu ID, que determinada pela ordem de classificao
na consulta. nmeros de identificao comea com 0 ento neste caso, a fatia Classic Cars
ID 0 e ser explodido. O montante explodir indicado como uma percentagem
entre 0 e 1, para 0,1 dar um deslocamento de 10 por cento da fatia.
Voc no pode usar o editor grfico para o dimensionamento e grficos de posicionamento,
que
parte do designer do relatrio principal. Para colocar duas tabelas lado a lado e ter
escala-los automaticamente, defina o valor X e Y para o grfico da esquerda para 0 eo
largura para 50 por cento. O grfico direita ter um valor de x e uma largura de 50
por cento. Combinados, esses dois quadros agora preencher a pgina da esquerda para a
direita.
Para finalizar o projeto definido, h apenas uma coisa: o texto do cabealho do grupo
ao ano, quantidade e receitas nele. Se voc adicionar um campo de mensagem e deixar
um pouco de espao em branco no topo do cabealho de grupo, defina o campo a 100 por
cento,
e mudar a cor de fundo para a mesma luz cinzenta como grficos de pizza,
o cabealho do grupo ser a aparncia de um bloco nico, que d um muito profissional
aparncia do relatrio. O campo mensagem o valor:
Ano: $ quantidade (ORDERYEAR) Total $ (ORDERQUANTITY, ,#,###), nmero
Total de receitas $ (ORDERREVENUE, ,$#,###.##) nmero
O relatrio resultante mostrado na Figura 13-18.
Trabalhando com imagens
PRD pode manipular dados de imagem de URLs, arquivos locais, ou colunas de banco de
dados. Este
permite inserir logotipos de empresas, mas tambm para criar relatrios com o produto
informaes, incluindo imagens do produto, ou funcionrio folhas, incluindo
uma foto de passaporte, se o que est disponvel em um banco de dados corporativo. Para
que o
seguindo o exemplo funcionar, voc precisar de um logotipo em qualquer formato de arquivo
de imagem (JPG,
PNG, GIF, BMP WMF ou SVG. TIFF provavelmente ir funcionar to bem, mas isso no
garantido) para criar um cabealho do relatrio, e um ou mais fotos em um banco de dados.
A tabela de funcionrios no banco de dados contm uma amostra WCM passport_photo
coluna do tipo LONGBLOB onde as imagens podem ser armazenadas. A tabela contm
algumas
imagens de exemplo, mas voc tambm pode substitu-los por conta prpria ou usar um outro
fonte de dados com fotos.
NOTA Na maioria dos bancos de dados modernos, um campo blob pode ser definida que pode
armazenar
informao binria de um tipo arbitrrio, incluindo fotos. No MySQL, voc precisa
402 Parte IV Inteligncia Aplicaes de Negcio
definir um campo do tipo BLOB (pequena, MDIO, ou LONGBLOB, dependendo do tamanho da
os arquivos a serem armazenados). Obter uma imagem no banco de dados fcil com o MySQL
comando LOAD FILE que aponta para o arquivo a ser carregado. A instruo usada
para fazer o upload de imagem Roland :
UPDATE empregado
SETpassport_photo LOAD FILE = ('/ media / foto / photo_roland.jpg)
WHEREemployee_id = 22612
Figura 13-18: Exemplo de grfico Relatrio
Siga estes passos para criar o relatrio mostrado na Figura 13-19:
1. Em PRD, iniciar um novo relatrio e criar uma consulta para selecionar o trabalhador
detalhes do banco de dados WCM, incluindo a coluna passport_photo.
2. Para exibir imagens de um arquivo ou URL, coloque um campo de imagem a partir do
paleta no cabealho da pgina e adicionar um ttulo assim.
Captulo 13 Usando as ferramentas Pentaho Reporting 403
3. Boto direito do mouse no campo da imagem e selecione Editar Contedo. A localizao
do arquivo
O editor aberto e voc pode digitar uma URL ou procure um arquivo local. A
de exemplo usa o logotipo WCM.
4. Adicionar um grupo Empregado e uso employee_id como campo de grupo. Isso permite que
a organizar o relatrio e para iniciar uma nova pgina para cada funcionrio.
5. Agora voc pode colocar todos os campos de detalhe de funcionrio no cabealho do
grupo, mas
verifique se voc usar um campo de contedo para a imagem.
ATENO PRD no reconhece o campo blob automaticamente assim que quando voc acabou de
arrastar o campo a partir do separador de dados para a tela torna-se um campo de texto, e no um
domnio de contedo. Este um bug conhecido (PRD-1394).
6. Para tanto o objeto de contedo e domnio de contedo, h dois atributos
que provavelmente ter que ser definido: a escala e proporo de atributos. Ambos
esto disponveis quando voc clica nos campos e tambm fazem parte da
os atributos de estilo na vista de estrutura. Figura 13-19 mostra o resultado da
Neste exerccio imagem.
Figura 13-19: exemplos PRD Imagem
Aqui esto algumas dicas para criar estes relatrios:
404 Parte IV Inteligncia Aplicaes de Negcio
Use os campos de mensagem para os nomes, endereos ou qualquer outra informao
que
contm vrios campos de um banco de dados. O valor para o campo de nome em
Este exemplo $ (First_name) $ (middle_initial) $ (last_name). No
h necessidade de espaos inserir explicitamente, eles sero captados automaticamente
pelo PRD.
Os campos de data devem ser formatados, caso contrrio eles sero exibidos como
plena valores de data e hora, incluindo o fuso horrio. O formato da data est inscrita
no atributo formato do campo data. Neste exemplo, o valor
dd-MMM-yyyy (Sem aspas).
Os campos podem ser organizadas, alinhadas e distribudas, utilizando o Organizar,
Alinhar e Distribuir assistentes layout no menu Formatar. Voc pode selecionar
vrios campos que precisam ser alinhados ou distribudos uniformemente pela
explorao
pressionada a tecla Shift e clicar nos campos.
Trabalhando com sub-relatrios
Sub-relatrios pode adicionar uma dimenso extra a seu design do relatrio e permitir
exibir dados agrupados em um nvel de agregao diferente ou a partir de dados diferentes
fontes. Uma palavra de cautela, porm, antes sub-relatrios usando: um sub-relatrio
usa sua prpria fonte de dados para que ele ir disparar uma segunda consulta ao banco de
dados. Usando
vrios sub-relatrios em um relatrio mestre torna esta situao ainda pior. A
melhor estratgia criar seus relatrios usando como sub poucos, e, portanto, extra
consultas, como possvel. Com esta precauo em mente, vamos mostrar como usar
como sub-relatrios que se destinam.
Um relatrio do mestre PRD utilizada para visualizar um nico conjunto de dados. Em certo
sentido, a
relatrio inteiro age como uma nica tabela. Isso significa que voc no pode filtrar ou exibir
apenas uma parte do conjunto de dados, que no por meio de tabelas ou grupos. Resultados
de dois
quadros adjacentes, com uma estrutura semelhante, mas com contedo diferente, no
possvel
sem o uso de sub-relatrios. Um rpido exemplo pode ilustrar isso. Suponha que voc
deseja exibir a parte superior e inferior a cinco clientes com base em suas receitas
a lado. Isso exigiria colocar duas listas em um nico relatrio, que no
possvel, PRD (alm de usar SQL complexa para gerar as duas listas em
o conjunto de dados). Com sub-relatrios, muito fcil de fazer isso: o mestre
relatrio contm um Top 5 e um fundo de cinco sub-relatrio, cada um com sua prpria
consulta, cabealhos e detalhes. Estes sub-relatrios podem tanto ser colocado no relatrio
cabealho, como mostrado na Figura 13-20.
Para construir este relatrio, ns criamos um relatrio novo mestre vazio, sem dados
ou o layout e adicionou dois sub-relatrios no cabealho do relatrio. Quando voc arrasta
um sub-relatrio para a tela e clique duplo-lo, uma nova guia com um relatrio
Captulo 13 Usando as ferramentas Pentaho Reporting 405
tela se abre. Um sub-relatrio semelhante a um relatrio do mestre. Ele pode conter um
conjunto de dados
fonte, diferentes grupos, bandas e grficos. H uma diferena notvel,
no entanto: no possvel criar novos parmetros para um sub-relatrio.
Figura 13-20: Top 5 e inferior 5 clientes
PRD tem dois tipos de sub-relatrios: em faixas e inline. Voc deve escolher
que tipo voc quer que voc arrastar o objeto sub-relatrio da paleta e
coloc-lo na tela. Um faixas subrelatrio toda a largura da banda
onde o sub-relatrio colocado, enquanto um sub-relatrio em linha pode ser colocada
em qualquer lugar. Tenha cuidado ao usar sub-inline porque exigem mais
memria e poder de processamento do que suas contrapartes em faixas. Outra coisa
estar ciente de a faixa em que o sub-relatrio colocado. Se o sub-relatrio
colocado dentro do cabealho ou rodap do relatrio, ele ser executado apenas uma vez.
Quando
colocado dentro de um cabealho ou rodap do grupo, ele ser executado tantas vezes
quanto
h valores do grupo, e se voc posicionar um sub-relatrio em detalhes, ser
executado para cada linha do relatrio. No possvel colocar um sub-relatrio em
o cabealho ou rodap de pgina.
Passando valores de parmetros para sub-relatrios
Quando um parmetro definido no relatrio principal, que deve ser dada uma nica
ID pelo qual o parmetro pode ser referenciado. O sub-relatrio pode fazer referncia
o parmetro de relatrio mestre por meio de importao, mas sem novos parmetros podem
ser
definido em um sub-relatrio. Voc pode abrir a tela de importao de parmetros por
boto direito do mouse no cone do parmetro na guia Dados do sub-relatrio ou clicar
na Sub-relatrio de parmetro cone na guia Dados. A tela permite que voc
Mapa parmetros mestre relatrio ao equivalentes sub-relatrio. Voc pode usar o
mesmo nome para o comandante eo sub-relatrio, mas ns preferimos usar um diferente
nome para a clareza. Como exemplo, voc pode expandir o superior / inferior e cinco relatrio
da seo anterior para incluir uma linha de produtos de seleo que voc vai passar
para o sub-relatrio.
1. Primeiro, crie ambos os parmetros no relatrio mestre antes de abrir a
sub-relatrio.
406 Parte IV Inteligncia Aplicaes de Negcio
2. Em seguida, no sub-relatrio, abra o Sub-relatrio editor de parmetro e insira
os nomes exteriores e interiores dos parmetros. Os nomes exterior referem-se a
nomes do relatrio pai de parmetro, os nomes interior ser utilizado no
sub-consulta. Figura 13-21 mostra a tela do editor de parmetro com
os valores inseridos.
Figura 13-21: parmetros de importao
3. A consulta para a lista Top 5 j pode ser estendido com as necessrias onde
clusulas e entrada de parmetro, como mostra o seguinte cdigo:
customers.customername
SUM (orderdetails.priceeach * orderdetails.quantityordered)
como receitas
FROMorders
INNER JOIN OrderDetails
ONorders.ordernumber orderdetails.ordernumber =
INNER JOIN clientes
ONorders.customernumber customers.customernumber =
INNER JOIN produtos
ONorderdetails.productcode products.productcode =
WHEREproducts.productline = $ {} subparaprodline
GRUPO BYcustomers.customername
ORDEM BY2 DESC
LIMIT5
SELECT
,
4. Agora voc tambm pode incluir um campo de mensagem em seu relatrio mestre
exibir a linha de produtos selecionados com a expresso Selecionados
Valor: $ (paraprodline). O resultado final deste exerccio apresentado no
Figura 13-22.
Publicando e Exportando relatrios
Voc pode publicar relatrios para o Pentaho BI Server a partir do menu principal pelo PRD
Publicar escolhendo Arquivo, ou clicando no cone Publicar situado direita do
no boto Salvar na barra de atalho. Isso abre a caixa de dilogo Publicar mostrado na
Figura 13-23.
Para publicar, voc deve configurar a configurao de publicao. A Publicar
localizao deve ser o nome de um diretrio existente que residem sob o
pentaho solues diretrio. A URL Publicar Web deve ser apontado para o seu
Captulo 13 Usando as ferramentas Pentaho Reporting 407
Servidor Pentaho BI. Para obter a senha de publicao, voc deve usar a senha
que foi definido no publisher_config.xml arquivo. Configurar essa senha
abordada no captulo 3. Finalmente, voc deve usar o ID de usurio e senha
de um usurio que tem a funo de Administrador (''Joe''e''''senha de um padro
instalao).
Figura 13-22: sub-relatrios parametrizados
Figura 13-23: A caixa de dilogo Publish
Atualizando os Metadados
Aps a publicao do relatrio para o servidor, voc deve dizer ao servidor para recarregar
os metadados para garantir que o usurio ser presenteado com a verso mais recente
do relatrio, quando ele abre. Isso pode ser feito a partir do console do usurio
atravs do menu, escolha Ferramentas Atualizar Cache Repositrio de Metadados.
408 Parte IV Inteligncia Aplicaes de Negcio
Alternativamente, voc pode atualizar o cache usando o Servidor de Administrao
Console. Para atualizar o cache do Servidor de Administrao console, v para
Na guia Servios e pressione o boto Atualizar no painel Repositrio Solution.
Exportando relatrios
relatrios Pentaho PRD pode ser exportada no mesmo formato da WAQR
aplicao, com a opo extra de exportar o relatrio no formato RTF. Antes
exportar o relatrio, pode ser visualizado em formato de exportao desejado
selecionar o formato de sada (HTML, PDF, XLS, RTF, CSV) a partir do arquivo
Preview opo do menu. O cone de atalho visualizao tem uma opo adicional
chamado Preview como texto.
Resumo
Este captulo apresenta a arquitetura bsica de uma soluo de relatrios e
descreveram dois principais ferramentas para criao de relatrios em uma soluo Pentaho,
a
Web-based Ad Hoc ferramenta de relatrio (WAQR) e os novos Pentaho Report
Designer (PRD). Aps oferecer um breve panorama da WAQR comeamos
relatrios prdio usando PRD e explicou os seguintes tpicos:
Diferentes componentes do Report Designer Pentaho
A estrutura de um relatrio Pentaho e os diferentes elementos que podem ser
usado dentro de um relatrio
Criando JDBC e Metadados consultas usando o Designer de Consulta
Adicionando parmetros para dar aos usurios a flexibilidade de escolher apenas um
subconjunto de
os dados de um banco de dados
As opes de layout e formatao disponveis no PRD
Como agrupar e resumir dados em um relatrio
Utilizao das funes e expresses
Como visualizar informaes usando grficos e diagramas
Usando imagens de URLs, arquivos e tabelas do banco de
dados
Trabalhando com sub-relatrios para criar layouts de relatrio complexo, constitudo
de vrios conjuntos de dados
Como criar parmetros que podem ser passados para o conjunto de dados de um sub-
relatrio
Como publicar os relatrios para o servidor Pentaho e certifique-se que o
ltima verso exibida para um usurio
Captulo 13 Usando as ferramentas Pentaho Reporting 409
H muito mais a comunicao eo Pentaho Report Designer do que ns
poderia abranger neste captulo. Pretende-se como uma base slida para que voc obtenha
comeou, no como uma referncia completa ou guia para o desenvolvimento.
Recomendamos que voc
para visitar o Wiki e os fruns on-line se voc precisar de mais informaes tcnicas
sobre o produto.
CAPTULO
14
Agendamento, assinatura
e de ruptura
Neste captulo, vamos olhar para algumas das capacidades da plataforma Pentaho para
distribuir contedo para o usurio final. Basicamente, existem trs maneiras diferentes para
usurios para executar sequncias de ao:
Imediata execuo ou interativo-In Neste caso, a ao executada
imediatamente aps a solicitaes de usurios, eo usurio espera para a entrega dos
de sada da ao, que marca o fim do pedido do usurio.
Execuo em segundo plano-Upon a solicitao do usurio, a ao
implicitamente, prevista para ser processada o mais rapidamente possvel, e em vez de
aguardando o resultado, a solicitao do usurio termina aqui. A execuo efectiva
da ao procede de forma assncrona at entregar sua produo, que
ento armazenado para que o usurio pode busc-la em um momento posterior.
Explcita-agendamento Este semelhante execuo em segundo plano, mas
em vez de programar a ao a ser realizada imediatamente, ele executado
de acordo com um cronograma pr-definido.
Voc tem visto uma srie de exemplos de execuo imediata, em anteriores
captulos. Neste captulo, voc explora programao e como voc pode us-lo para
organizar a entrega de contedo.
Agendamento
Pentaho fornece agendamento de servios por intermdio da Empresa Quartz Job
Scheduler, que parte do projeto Open Symphony. O programador um
componente que permite que o servidor de BI para realizar tarefas em um tempo programado
ou definido
intervalo de tempo.
411
412 Parte IV Inteligncia Aplicaes de Negcio
NOTA Para mais informaes sobre quartzo eo projeto Open Symphony, visite o
Abrir site no Symphony www.opensymphony.com/quartz/.
H um nmero de casos de uso para o programador:
Peridico de execuo das tarefas de manuteno
Execuo de tarefas de ETL (como atualizar as tabelas de agregados)
Executando tarefas demoradas, tais como relatrios de grande no fundo
Distribuir a carga de trabalho do servidor ao longo
do tempo
Preparao de contedo para assinantes
Conceitos do Scheduler
Dois itens esto envolvidos na programao:
Acronograma, que uma regra ou conjunto de regras que especificam um momento ou
srie
de momentos no tempo
Um seqncia de aes (Ou grupo deles) que executado no tempo ou
vezes especificado no cronograma
Discutimos o conceito de seqncias de ao no captulo 4, e voc tem
vi alguns exemplos deles em outros captulos deste livro. No restante
desta seo, descrevemos horrios em detalhes.
Pblico e Agendas Privada
Existem dois tipos distintos de modelos: pblico e privado.
agendas pblicas so visveis para todos os usurios. Eles so principalmente usados para
implementar
assinatura.
horrios Privada esto disponveis para o administrador do servidor. So principalmente
usados para implementar as tarefas de manuteno. Por exemplo, na pgina da guia Servios
da
o Pentaho Server Administration Console (PAC), h um boto Agendar
no painel de repositrio de contedo. Ao pressionar este boto ir criar um grupo privado
cronograma que ser executado diariamente para limpar o repositrio de contedo.
Discutimos
o repositrio de contedo na prxima seo, mas o importante que este
um exemplo de uma tarefa de manuteno programada que governada por uma empresa
privada
cronograma.
Repositrio de contedo
Normalmente, quando um usurio executa uma seqncia de ao, o resultado da ao
seqncia imediatamente entregue ao usurio final. Programado seqncias de ao
funcionam de forma diferente. A produo de seqncias de ao programada gerado no
Captulo 14 Agendamento, assinatura e Bursting 413
fundo. A sada guardado e preservado no que chamado de contedo
repositrio, para que o usurio pode inspecionar o resultado mais tarde.
Fisicamente, o repositrio de contedo simplesmente um diretrio no sistema de arquivos
onde a sada seqncia de ao so armazenados em arquivos. Voc pode encontrar a sada
arquivos no contedo Diretrio do sistema Pentaho soluo.
A organizao do repositrio de contedo semelhante organizao de
a soluo de repositrio. Para cada soluo Pentaho, h um contedo separado
diretrio do repositrio. A estrutura da rvore embaixo de cada repositrio de contedo
espelha a estrutura de diretrio de sua soluo de correspondente no repositrio, mas
em vez de seqncias de ao, h um diretrio partilha o nome do
seqncia de ao. Nesses diretrios voc pode encontrar um diretrio assinaturas,
que contm a sada a seqncia de ao para cada vez que ele correu de acordo com
um cronograma.
Alm dos diretrios para as solues Pentaho, a raiz do contedo
repositrio tambm contm um diretrio chamado fundo. Este diretrio usado
para armazenar a produo de seqncias de ao que executam em segundo plano.
Na seo''Espao do Usurio''mais adiante neste captulo, voc aprender como
o usurio final pode acessar o contedo do repositrio de contedo.
Criao e manuteno de agendas com o Pentaho
Console de Administrao
Voc pode criar e manter programas de uso da Administrao Pentaho
Console para trabalhar com horrios, aponte seu navegador para a casa do PAC
pgina. Assumindo que voc est executando na mquina local, voc pode encontrar este
em http://localhost:8099/. Ative a pgina de administrao e clique no
Agendador de guia. Voc pode ver uma lista de todas as agendas pblicas e privadas
mantidas
pelo servidor de BI Pentaho. Isso mostrado na Figura 14-1.
Figura 14-1: A ficha de Programador na Administrao Pentaho Console
Por padro, h uma programao chamada PentahoSystemVersionCheck. Este
um programa privado que usado para verificar periodicamente se h uma nova verso do
Pentaho est disponvel.
414 Parte IV Inteligncia Aplicaes de Negcio
Criar uma Nova Agenda
Clique no primeiro boto da barra de ferramentas para criar um novo agendamento. O Criador
Agenda
dilogo aparece como mostrado na Figura 14-2.
Figura 14-2: A Agenda de dilogo Criador
Se voc quiser criar uma agenda pblica, selecione a opo Agenda Pblica.
Isso garante que todos os usurios podem ver a programao e que lhes permite usar esse
cronograma de inscries.
Use o campo Nome para introduzir um nome nico para a agenda. Tenha em ateno que
para agendas pblicas, este nome ser apresentado para os usurios finais, sempre que
tem que escolher um horrio. Use nomes que so claras e concisas.
Use o campo Grupo para especificar um nome que descreve o tipo de sched-
ule isso. Por exemplo, voc pode criar grupos de acordo com o departamento
(Site do armazm), localizao (Edmonton, Los Angeles), rea temtica (Sales,
Marketing), ou no tempo (dirio, semanal).
A barra de ferramentas na pgina Scheduler (veja a Figura 14-1) inclui uma caixa de listagem
que permite que o administrador do filtro para todas as programaes pertencentes mesma
grupo. Esta caracterstica de convenincia permite o administrador a trabalhar rapidamente
com todos os horrios pertencentes ao mesmo grupo.
NOTA Mesmo se voc achar que no precisa organizar programaes em grupos, que so
Continua a ser necessrio digitar algo no campo Grupo. O mesmo vale para o
Descrio campo, embora seja inteiramente descritiva, ainda necessria.
Captulo 14 Agendamento, assinatura e Bursting 415
O campo Descrio permite inserir um texto descritivo. Voc deve usar este
campo para breve documento a finalidade da programao. Ao invs de somar
at as propriedades que tm a ver diretamente com a programao em si (como
tempo), este campo deve descrever os tipos de relatrios que so executados de acordo
a esta programao e da audincia para que a lista se destina.
A caixa de listagem Recorrncia contm uma srie de opes para especificar quantas
vezes
a programao acionado. Voc pode escolher entre uma ampla gama de intervalos,
todo o caminho de segundos at anual. H tambm uma opo Executar uma vez para
agendar aes one-shot. Se a flexibilidade oferecida por essas opes ainda no
suficiente, voc pode escolher a opo Cron para especificar recorrncia na forma de
umcron string.
Usando expresses CRON
O cron um agendador de tarefas bem conhecidas para sistemas UNIX-like. Para cron, recorrer-
ocorrncia especificado na forma de uma seqncia que denota seis ou sete campos de um
valor data / hora, separados por espaos em branco. O planejador de quartzo usados por Pen-
Taho oferece suporte para cron expresses.
Em cron expresses, da esquerda para a direita os campos de data e hora so: segundos,
minutos, horas, dias do ms, ms, dia da semana, ano. Os campos podem con-
manter valores inteiros simples, mas tambm possvel especificar listas de valores, intervalos
e curingas, como todos, por ltimo, e muito mais. Por exemplo, o seguinte cron
expresso denota um retorno s 01h00, cada segunda tera-feira de cada
ms:
0 0 1? * 3 # 2 *
(Em zero segundos, zero minutos, uma hora, independentemente do dia do ms, cada
ms, a segunda ocorrncia do dia da semana em terceiro lugar, para cada ano).
Voc pode encontrar mais informaes sobre cron expresses em quartzo na http://
quartzo www.opensymphony.com / wikidocs / CronTriggers Tutorial.html
Para todas as opes disponveis da opo de Recorrncia (exceto Cron) voc pode
especificar um tempo Comece escolhendo o valor apropriado na hora, minuto,
e segundo caixas de listagem.
Para todas as opes de recorrncia, exceto executado uma vez e Cron, voc pode
especificar como
muitas vezes o cronograma deve ser acionado. O Widget de especificar as
valor aparece na tela assim que voc selecione uma opo na lista de recorrncia
caixa. Por exemplo, para um retorno de segundos, minutos, horas e dias em que voc
pode inserir um nmero para indicar quantos segundos, minutos, e assim por diante
entre as execues subseqentes do cronograma.
O semanrio e opes de recorrncia mensal apoio mais avanado
possibilidades para especificar o intervalo. Por exemplo, a mensal e dirio
opes de recorrncia aparecer um widget que permite que voc defina o agendamento para
416 Parte IV Inteligncia Aplicaes de Negcio
cada segunda-feira de cada ms, ea opo de recorrncia semanal permite que voc
para especificar a quais dias da semana o horrio se aplica.
Finalmente, voc pode especificar uma data de incio ou um intervalo de datas de incio e
fim. Estas datas
determinar o perodo de tempo em que o cronograma se repete. Depois de especificar
a programao, clique em OK para salv-lo e fechar o dilogo.
Correndo Horrios
Apesar de horrios so, normalmente provocada pela passagem do tempo, voc pode
tambm execut-los manualmente a partir do Console de Administrao Pentaho. Esta
teis para fins de teste, e tambm para se recuperar de erros.
Para executar manualmente as seqncias de ao ligada a uma agenda, selecione o
caixa que aparece logo antes de cada programao. Em seguida, clique no boto Play
(O tringulo verde) na barra de ferramentas.
Suspenso e retomada de Horrios
s vezes til para evitar temporariamente que um cronograma de execuo. Para
exemplo, voc pode, temporariamente, a necessidade de recursos do sistema para fazer
algumas outras
tarefa, ou voc pode precisar para implantar vrias seqncias de ao novo ou modificado
e voc deseja evitar que o cronograma de ser acionado enquanto estiver em
no meio de uma implantao.
Para esses efeitos, voc pode suspender temporariamente uma agenda. Suspendendo
o cronograma evita as aces conexas de ser executado. Uma suspenso
agenda permanecer suspensa at que voc configur-lo para continuar. Ambas as aes
pode ser feito de dentro do PAC.
Para suspender um ou mais modelos, selecione-os respectivos
na pgina da guia Horrios no servidor de Administrao Console. Depois de fazer
a seleo desejada, pressione o boto Pausa na barra de ferramentas. Isto ir suspender
as programaes por tempo indeterminado, eo cronograma de Estado vai mostrar como
Suspensa. Isso mostrado na Figura 14-3.
Figura 14-3: Suspendendo um cronograma
Note-se que o Estado coluna na tabela de horrios tem o valor Suspensa,
Considerando que todos os outros modelos tm o valor Normal.
Captulo 14 Agendamento, assinatura e Bursting 417
Para retomar a programao suspensa, selecione o calendrio que deseja retomar
e pressione o boto Continuar (o tringulo verde com a seta).
Excluindo agendas
Voc pode apagar horrios marcando a caixa associados e, em seguida,
pressionando o boto com o X vermelho''''na barra de ferramentas. Antes de excluir um
pblico
programao, uma boa idia para verificar primeiro se o cronograma est sendo usado
pelos assinantes. Voc pode ver isso na viso calendrio apresentado pelo
PAC, porque a coluna [Contagem] Tipo mostra se o calendrio pblico,
bem como o nmero de assinantes.
Voc sempre solicitado para confirmar a remoo de um cronograma. Figura 14-4
mostra como uma tentativa de remover o programa''minutos''usando o Adminis-
trao Console dispara um pedido de confirmao, e tambm mostra que h
ainda um assinante.
Figura 14-4: Excluindo uma programao dispara um pedido de confirmao
Programao do Programador com seqncias de ao
Alm da interface grfica oferecida pela Administrao
Console, voc tambm pode trabalhar com o Agendador de uma maneira mais programtica
atravs de sequncias de ao.
sequncias de ao oferecem uma srie de aes processo que permite que voc trabalhe
com o Scheduler. Estes podem ser encontrados no submenu Scheduler do
Processo menu Aco. O menu Scheduler mostrado na Figura 14-5.
As aes processo Scheduler pode ser usado para criar uma alternativa para o
Programador de interface oferecida pelo console de administrao. Um uso vlido
caso para reconstruir esse tipo de funcionalidade que ela permitiria que os usurios finais
de exercer mais controle sobre o contedo programado dentro de autorizao do servidor
quadro.
418 Parte IV Inteligncia Aplicaes de Negcio
Figura 14-5: O Agendador menu ao do processo
As seguintes sees descrevem resumidamente as aes processo Scheduler.
Adicionar tarefa
A Adicionar tarefa aco processo cria um novo agendamento privada e associados
com uma seqncia de ao. A Adicionar tarefa ao do processo tem o seguinte
parmetros:
Nome do trabalho-O nome do trabalho de Quartz. Isto aproximadamente equivalente
ao
o nome do programa em Pentaho. (A plataforma Pentaho adiciona alguns
abstrao para o programador de quartzo. Uma programao Pentaho realmente um
combinao de um trabalho de quartzo e um gatilho de quartzo).
XAction Arquivo-A nome do arquivo (incluindo o . Xaction extenso) da
seqncia de ao que deve ser associado a esse cronograma.
Soluo Nome-O nome da soluo Pentaho que contm o
seqncia de ao que est associado com o cronograma.
Soluo Subdireo-A subdiretrio (se houver), onde a ao
arquivo de seqncia reside.
Trigger Nome-O nome do gatilho de quartzo. Em Quartz, o gatilho
contm todas as informaes de tempo que pode ser usado para determinar quando um
trabalho deve ser executado. Um disparo de quartzo refere-se a um trabalho de quartzo
(mas um quartzo
trabalho pode ser desencadeada por vrios gatilhos). Em Pentaho, a distino
entre gatilho e trabalho oculto. Em vez disso, os associados Pentaho um emprego
com um cronograma e se refere a isso como um agendamento. Tambm veja a
descrio
do parmetro Nome do trabalho.
Trigger Type-Este um boto para escolher entre um trigger simples
ou um cron gatilho. Trigger para disparar cron gatilhos especificado atravs de um
cron string. Para simples gatilhos de disparo determinado por um valor de intervalo,
que determina em que momento no futuro, o gatilho acionado e uma repetio
Captulo 14 Agendamento, assinatura e Bursting 419
contagem. Simples gatilhos no suportam reincidncia, e so assim teis
apenas para''one-shot''eventos, tais como a execuo do fundo.
Cron String-Aplica para cron gatilhos. Especifica o cron seqncia de caracteres que
rege a execuo do trabalho.
Trigger Interval-Aplica a simples gatilhos. Isso especifica a quantidade
de tempo antes que o gatilho ser disparado, especificado em microsegundos. Para
exemplo, um minuto a partir de agora seria especificado como 60.000 (60 segundos
vezes 1000), e uma hora a partir de agora seria especificado como 3,6 milhes
(60 minutos por 60 segundos vezes 1.000 microsegundos).
Trigger Count-Aplica a simples gatilhos. Em tempo de disparar tiros, o trabalho
sero executados repetidamente de acordo com esse valor. Na maioria dos casos, este
valor deve ser 1 (um) para executar o trabalho apenas quando o intervalo j
passado.
Figura 14-6 mostra o design de uma seqncia de aes simples que solicita
parmetros de trabalho usando uma Prompt / Secure Filtro ao do processo e, em seguida,
alimenta
estes parmetros em um Adicionar tarefa processo de ao.
Figura 14-6: Um agendador de tarefas muito simples que acessvel atravs de uma seqncia de ao
Esta seqncia de ao simples faz uma prova de conceito para a construo de uma
schedul-
barao que podem ser acessveis aos usurios finais dentro da autorizao
quadro do Servidor Pentaho.
420 Parte IV Inteligncia Aplicaes de Negcio
Trabalho suspender, reiniciar Trabalho, Emprego e Excluir
A Suspender Trabalho,Currculo de EmpregoE Excluir Trabalho aes processo de aceitar apenas
um Nome do trabalho parmetro que deve ser usado para especificar o nome de um Pentaho
cronograma. (Para uma discusso a respeito das programaes Pentaho e quartzo Jobs,
consulte a seo anterior sobre a Adicionar tarefa processo de ao). A
aes, em seguida, executar a ao implcita do seu nome para o Schedule. A
Suspender Trabalho ao ir interromper o processo especificado Anexo, o Currculo de Emprego
ao do processo vai continuar, e os Excluir Trabalho ao ser permanentemente
remover o Schedule (e todas as suas aes associadas).
Aes Outros Processo Scheduler
Alm das aes processo que acabamos de discutir, h um pouco mais
Agendador de aes relacionadas com processo:
Suspender Scheduler -Pausa a execuo de todo o Agendador de inde-
terminar o tempo
Resume Scheduler -Termina o Agendador de pausa
Status Scheduler Indica-se o Agendador de suspenso ou
em execuo.
Empregos lista agendada -Lista todos os horrios privada
Essas etapas no so muito teis quando comparado com as funes equivalentes-
dade oferecida pelo console de administrao. Os passos que o relatrio da
Programador status so bastante limitadas, e se voc acha que precisa deles para construir
um
interface do usurio personalizada de programao, voc provavelmente melhor fora
diretamente consultando
o banco de dados de quartzo.
Programador Alternativas
O Agendador incorporado na plataforma Pentaho ternos muitos fins de agendamento.
No entanto, ainda pode haver vantagens para agendamento de tarefas usando as ferramentas
que
so independentes do servidor de BI Pentaho. Aqui esto algumas razes que podem
se por:
Estas tarefas ETL- pode ser de longa durao, e pode colocar carga sobre o grave
servidor. A plataforma, o programador, e todas as suas tarefas agendadas so todos
executados
na mesma instncia do Java Virtual Machine, e para o desempenho
e as razes de disponibilidade voc pode querer execuo separada de tarefas ETL
do restante do servidor de BI.
Poltica-Para razes de manuteno e sustentabilidade, a empresa pode
padronizaram em uma ferramenta de programao particular, e isso pode impedir
de usar Pentaho's built-in Agendador.
Captulo 14 Agendamento, assinatura e Bursting 421
Se voc s precisa agendar recursos para estes tipos de efeitos e voc
no requerem nenhuma das funcionalidades Pentaho que constroem em cima da vegetao
nativa
Scheduler, voc deve pensar em ir com uma soluo mais leve.
Em seguida, discutir brevemente as solues de programao mais comuns de trabalho para
sistemas baseados em UNIX e Windows.
Sistemas baseados em Unix: Cron
sistemas baseados em UNIX geralmente oferecem algum tipo de cron implementao. Nor-
malmente, este criado como parte da instalao do sistema operacional, e voc
no deve ter que instalar nada para comear a trabalhar.
Voc tem que especificar as tarefas que voc deseja programar. Isso feito simplesmente
adicionar entradas para o emprego em um arquivo especial chamado de crontab
(Para''tabela''cron).
Esse arquivo est normalmente localizado no / Etc / crontab, Mas pode haver diferenas
dependendo do sabor de UNIX. Em muitos casos, h uma crontab utilitrio
disponveis, que facilita a manuteno cron entradas.
O real cron as entradas so compostas de cron string (que foi discutido
anteriormente para o Quartz), seguido pelo comando. H uma diferena notvel,
rena entre UNIX cron cordas e quartzo cron strings: UNIX cron
cadeias no suportam um campo de segundos. Em vez disso, o campo menor tempo
minutos.
A linha a seguir no crontab arquivo dever agendar o daily_load
Pentaho trabalho de integrao de dados para executar todos os dias meia-noite:
# M h dow dom seg
0 0 ***
/ Daily_load.kjb
comando
/ Opt / pentaho / PDI / arquivo kitchen.sh / home wcm / PDI
NOTA Para obter mais opes no cron e crontab usando, consulte o seu funcionamento
sistema de documentao. man crontab geralmente um bom comeo. H tambm muitos
recursos on-line que oferecem bons exemplos e explicaes sobre o cron.
Windows: o de utilidade pblica e do Agendador de Tarefas
Os usurios do Windows podem usar o utilitrio ou menos o Agendador de Tarefas.
O utilitrio est disponvel a partir da linha de comando. Aqui est um exemplo simples
que ilustra como programar a execuo de um trabalho em lotes para executar cada dia
meia-noite:
s 00:00 / every: M, T, W, Th, F, S, Su "D: \ pentaho \ pdi \ daily_job.bat"
Em vez de fornecer um comando muito diretamente para a em linha de comando,
geralmente melhor que escrever um arquivo em lotes (. Morcego arquivo) e ter ao executar isso.
(Este
tcnica pode, naturalmente, ser aplicado tambm em sistemas UNIX-like, onde um
iria escrever um bater ou sh script.)
422 Parte IV Inteligncia Aplicaes de Negcio
O Windows tambm oferece uma interface grfica para agendamento. Voc pode encontrar
Agendador de Tarefas do Windows no Painel de Controle ou no menu Iniciar
navegar at Iniciar Programas Acessrios Ferramentas do sistema Agendador de Tarefas.
NOTA Para obter mais informaes sobre o em comando eo agendador de tarefas, por favor
ir para a http://support.microsoft.com/ e procure por''no''comando e
''''Agendador de Tarefas.
Contexto de execuo e assinatura
Contexto de execuo e assinatura so duas aplicaes especiais de
agendamento. Nesta seo, descrevemos estas caractersticas em detalhes.
Como funciona a execuo em segundo plano
execuo de fundo uma caracterstica conveniente que permite aos usurios executar
seqncias de ao sem aguardar o resultado. Ao invs de iniciar a ao
seqncia e esperando por ele para encerrar, uma agenda privada criada para
programar a ao ocorra o mais rapidamente possvel. Aps a concluso, o
sada da seqncia de ao armazenado para que o usurio pode consult-lo em um
momento posterior.
Para executar uma seqncia de ao em segundo plano, voc pode simplesmente clicar
com o boto direito
ela e escolha a opo Executar em segundo plano. Este aparece como uma caixa de
mensagem
o mostrado na Figura 14-7.
Figura 14-7: Um aviso antes de executar em segundo plano
Conforme sugerido pela caixa de mensagens, executando em segundo plano, desta forma
No h suporte para seqncias de ao que exigem parmetros de entrada, mas h
uma alternativa.
Se voc criar uma seqncia de ao que pede ao utilizador para parmetros de entrada
usando um Prompt / Secure Filtro Processo de ao, um boto de rdio automaticamente
apresentada, que permite ao usurio escolher imediatos ou de fundo
execuo. Um alerta simples / Secure filtro de entrada mostrado na Figura 14-8. A
Executado em segundo plano boto visvel na parte inferior.
Captulo 14 Agendamento, assinatura e Bursting 423
Figura 14-8: Prompt para executar em segundo plano
Assinatura Como funciona
Assinatura um recurso que permite aos usurios finais para receber contedo de acordo
com BI
com uma programao predefinida. Em Pentaho, a subscrio construdo imediatamente
aps a
topo da Scheduler, permitindo que os usurios finais a atribuir seqncias de ao para
agendas pblicas. Como tal, a assinatura uma extenso da programao
caracterstica.
Alguns requisitos devem ser cumpridos para permitir inscrio:
O administrador do servidor deve definir uma ou mais agendas pblicas. Ns
discutida a criao de cronogramas utilizando o Server Console de Administrao em
na seo anterior. Lembre-se que voc tem que selecionar o pblico Agenda
checkbox.
Para cada seqncia de ao, o administrador deve especificar quais os horrios
o usurio tem permisso para escolher quando se inscrever.
Um usurio que deseja se inscrever com um relatrio deve ter o privilgio de
executar e agendar o relatrio.
Permitir que usurios se inscrevam
O administrador do servidor deve especificar a que agendas pblicas, o utilizador pode
atribuir uma seqncia de ao em particular do usurio dentro do console. O servidor
administrador pode fazer isso a partir do console de usurio (no o Servidor de Administrao
Console) clicando com a seqncia de ao e escolha Propriedades.
Escolhendo o item de menu Propriedades abre a caixa de dilogo Propriedades. Na
de dilogo Propriedades, ative a pgina da guia Avanado. Na pgina da guia Avanado
voc tem que primeiro verificar o Uso Pblico checkbox Anexos. Depois, voc pode
selecionar uma agenda a partir da lista de horrios disponveis no lado esquerdo da guia
pgina e use o boto para mov-lo para a lista Horrios atual sobre o direito
lado da janela. Isso mostrado na Figura 14-9.
Isso permite que todos os usurios que tm o privilgio de faz-lo para agendar esta ao
seqncia.
424 Parte IV Inteligncia Aplicaes de Negcio
Figura 14-9: Fazendo uma seqncia de ao registrveis
Concesso de execuo e cronograma Privilgios
Os usurios precisam ter, pelo menos, executar e agendar os privilgios de uma ao
seqncia antes que eles possam assin-lo. No importa se esses
privilgios eram concedidos directamente ou atravs de um papel.
Para conceder privilgios sobre uma seqncia de ao particular, boto direito do mouse e
escolha
a opo Compartilhamento no menu de contexto. Na caixa de dilogo que aparece, o de
aes
ficha j est ativado. (Outra maneira de chegar aqui escolher o
Propriedades opo no menu de contexto e, em seguida, ativar manualmente o
compartilhamento
pgina da guia.)
Na metade superior da pgina da guia de aes na caixa de dilogo, voc pode ver todos os
disponveis
usurios e funes. Na metade inferior, os privilgios que so actualmente configurado
para o papel ou o utilizador que est atualmente selecionado so exibidas. Figura 14-10
ilustra isso.
Figura 14-10: Concesso de Execuo e Programao privilgios
Captulo 14 Agendamento, assinatura e Bursting 425
A subscrio efectiva
No console do usurio, os usurios finais podem criar uma assinatura com o boto direito do
mouse sobre um
seqncia de ao e escolhendo a opo Schedule no menu de contexto. Se
a seqncia de ao registrvel eo usurio tem privilgios suficientes, o
pgina web vai carregar uma caixa de dilogo como o mostrado na Figura 14-11.
Figura 14-11: Um dilogo simples assinatura
O dilogo mostrado na figura 14-11 o mais simples possvel assinatura
dilogo. No dilogo, o usurio precisa digitar um nome no nome do relatrio
caixa de texto para identificar o relatrio agendado. (Voc pode digitar no mximo 25
caracteres,
que no muita coisa.)
Com a programao caixa de listagem, o usurio pode selecionar uma das programaes
oferecidos. Estas so todas as programaes que foram associados com a seqncia de ao
pelo administrador do servidor.
Se a seqncia de ao utilizado na inscrio requer entrada do usurio, o
dilogo de inscrio tambm apresenta os parmetros do relatrio, que pode ento ser
preenchido pelo usurio. Por exemplo, a figura 14-12 ilustra como um prompt usado
para configurar o formato de sada do relatrio so combinados com as instrues para o
parmetros de assinatura. O alerta para o formato de sada adicionado explicitamente
na seqncia de ao, ao passo que o alerta para a inscrio apresentado
automaticamente.
Figura 14-12: O prompt regular para os parmetros automaticamente combinadas com avisos
para a subscrio
A entrada do usurio armazenado junto com a escolha da programao e da ao
seqncia na assinatura. Quando o cronograma de execuo dos gatilhos
seqncia de ao, os valores armazenados so usados como valores de parmetro para a
ao
seqncia.
Como foi explicado na subseo anterior, o usurio deve ter o Executar
e da Tabela de privilgio para a seqncia de ao, a fim de subscrev-lo.
426 Parte IV Inteligncia Aplicaes de Negcio
Se o usurio no tem o privilgio de Programao, este indicado por uma mensagem
caixa como o mostrado na Figura 14-13.
Figura 14-13: Uma caixa de mensagem indicando que o usurio no tem permisso para agendar o relatrio
NOTA No momento da redao deste texto, ele aparece como se possvel inscrever-se
seqncias de ao que no tenham sido feitas registrvel pelo servidor
administrador. Se voc clique direito do mouse sobre uma tal seqncia de ao, voc pode
escolher
Inscrever-se que aparece um Agendador de dilogo Criador. No entanto, o preenchimento do
dilogo e confirmando que sempre leva a uma mensagem de erro.
Espao de Trabalho do Usurio
Com os recursos para execuo de programao e de fundo, surge a necessidade
para que o usurio seja capaz de controlar e monitorar o contedo programado. Alm disso,
tem que haver algum meio para que o usurio acessar os resultados gerados por qualquer
agendada aes ou de fundo.
Pentaho oferece uma vista por usurio chamado Workspace que permite aos usurios
gerenciar sua parte do repositrio de contedo e seus horrios.
Visualizando o Contedo da rea de Trabalho
No console do usurio, os usurios podem revisar o contedo de sua rea de trabalho pessoal
escolhendo Exibir espao de trabalho a partir do menu. Na pgina Espao de Trabalho,
os usurios podem monitorar e controlar todas as seqncias de ao que esto agendadas
ou
executados em segundo plano em seu nome. Figura 14-14 mostra um exemplo de usurio
espao de trabalho.
Figura 14-14: Um espao de trabalho do usurio
Captulo 14 Agendamento, assinatura e Bursting 427
A pgina Workspace mostra uma srie de painis contendo todas as medidas
seqncias regulares em nome do usurio. Cada painel de aes pode ser col-
caducado ou expandida clicando no tringulo imediatamente antes do painel
ttulos.
A espera, completa e painis Meu Horrios
A espera, completa e painis Meu Horrios podem ser utilizados para a gesto da aco
seqncias que so executados em segundo plano.
O painel de espera contm uma linha para cada seqncia de ao que
atualmente em execuo em segundo plano em nome do usurio atual. A
nome e data de incio so mostrados para cada trabalho. Um link Cancelar est
disponvel para
interromper o trabalho. Por exemplo, na Figura 14-14 voc pode ver que um trabalho
chamado
''''Relatrio de Vendas iniciou a execuo em segundo plano em 24-3-09 15:37. Em
o tempo a pgina Workspace estava sendo visto, o trabalho ainda estava correndo.
O painel de listas completas de todas as seqncias de ao que foram encomendados
para
execuo em segundo plano e que j se acabaram. Para cada ao
seqncia, o nome e data de execuo so mostrados. Alm disso, o
resultado da execuo da ao est disponvel a partir do painel completo: O
coluna de tamanho indica o nmero de bytes na sada, e do tipo
indica o tipo de sada foi armazenado. H tambm um link para Ver
inspecionar o resultado, e um link Delete para remov-lo permanentemente da
espao de trabalho. Na Figura 14-14, dois resultados de execuo em segundo plano
antes
do relatrio de vendas esto disponveis.
O meu painel de listas tambm mostra as seqncias de ao que foram
iniciado. Alm das informaes mostradas no painel de espera, o
Meu painel Horrios apresenta informaes mais detalhadas (como o estado)
sobre a seqncia de ao de execuo.
O Painel de Agendas Pblicas
O pblico painel Horrios mostra todas as assinaturas do usurio atual. Para
cada assinatura, uma srie de links esto disponveis.
O Run Now link executa a seqncia de ao imediatamente. Esta
til no caso de haver uma sbita necessidade de obter o resultado antes do
programao regular. Como o Run Now link, o link Executar e Arquivo
executa a seqncia de ao antes do previsto. No entanto, neste caso,
a seqncia de ao executada em segundo plano eo resultado armazenado
no repositrio de contedo.
Com o link Editar, voc pode alterar os detalhes da inscrio, tais como
o cronograma. Se o relatrio aceita parmetros, estes podem ser modificados
428 Parte IV Inteligncia Aplicaes de Negcio
a partir deste link, tambm. A figura 14-15 ilustra o que acontece quando voc clica
no link Editar.
O link Delete remove permanentemente a assinatura. Quando voc clica
ela, uma caixa de mensagem aparece e pede confirmao para excluir
a assinatura. Confirmando isto ir remover apenas o usurio atual
assinatura, mas o cronograma real prprio pblico.
Figura 14-15: Editando uma subscrio existente
A sada de inscrio normalmente aparece logo abaixo da assinatura
entrada no painel Horrios Pblica. Figura 14-16 mostra o Relatrio de Vendas 1
assinatura, e imediatamente abaixo, so trs linhas que correspondem a
uma execuo bem-sucedida da seqncia de ao. Usando o link View, os usurios
pode baixar o resultado da ao, e com o link Excluir, os usurios podem
remover permanentemente o contedo do seu espao de trabalho.
Figura 14-16: Uma assinatura e sua sada
rea de trabalho do administrador do servidor
espao de trabalho do administrador do servidor, mostrado na Figura 14-17, tem um adicional
de
Todos os Horrios painel. Este painel mostra todos os horrios e lhes permite
ser executado imediatamente, suspensos, e retomada. A mesma funcionalidade est
disponvel a partir do Servidor de Administrao do console, mas repetido aqui como um
convenincia recurso.
Captulo 14 Agendamento, assinatura e Bursting 429
Figura 14-17: espao de trabalho do administrador do servidor
Limpando a rea de trabalho
Quando deixado sem vigilncia, o repositrio de contedo ser em algum momento,
preencher o
disco. Os usurios podem excluir seus prprios itens do repositrio de contedo, mas o
servidor
Os administradores no devem se basear nisso. Para qualquer configurao de produo, os
administradores
deve ter o cuidado de monitorar o repositrio de contedo.
Na pgina da guia Servios do Console de Administrao, alguns itens so
disponveis para ajudar a gerenciar o repositrio de contedo. O repositrio de contedo
painel de servio mostrado na Figura 14-18.
Figura 14-18: servios Console de Administrao para gerenciar o repositrio de contedo
Pressionando o boto Executar ir executar o clean_repository ao
seqncia localizado no Admin Pentaho soluo. Isto ir remover todos os arquivos
no repositrio de contedo que so mais de 180 dias. Se voc gosta, voc
pode editar o clean_repository seqncia de aes e modificar o nmero
de dias.
Apertando o boto ir executar o Schedule schedule_clean ao
seqncia, que tambm reside no Admin Pentaho soluo. Esta aco
usa a seqncia Adicionar tarefa ao do processo para instalar um programa para o dirio
clean-up do repositrio de contedo. Como voc poderia esperar, esta recai sobre o
clean_repository para fazer a limpeza real.
430 Parte IV Inteligncia Aplicaes de Negcio
Ruptura
Em um contexto de BI, ruptura por lotes de produo, baseados em dados e distribuio
de BI de contedo, como relatrios e grficos.
Um exemplo muito simples de rompimento seria a criao de relatrios da expedio
para cada armazm e enviar a sada do relatrio para o correspondente
Warehouse Manager. Outro exemplo tpico o envio de cada cliente um
e-mail com um anexo mostrando uma viso geral de todas as rendas e as compras
efectuadas durante o ano passado.
NOTA A expresso''''estouro origina-se da poca em que grandes relatrios foram
impresso todo em papel, a impresso e precisaria ser dividido em separado
peas para seus respectivos destinatrios.
Nestes dois exemplos, o relatrio executado, mas o contedo eo contexto do
produo feita sob medida para cada destinatrio.
Implementao de ruptura em Pentaho
A edio da comunidade do Servidor Pentaho no oferece nativa rebentar
recursos. No entanto, com alguma criatividade e esforo, estourando pode ser imple-
complementados por looping atravs de um conjunto de dados e usando os dados da linha
atual
executar um relatrio e envia os resultados para o receptor apropriado (s). Os seguintes
seo o orienta atravs de um exemplo que estouram no Pentaho.
Exemplo de ruptura: Aluguel lembrete E-mails
Considere o caso de uso de lembrete de aluguer e-mails: a cada semana, de Classe Mundial
Filmes envia lembretes de e-mail aos seus clientes para notific-los que DVDs
devero ser devolvidos (ou adquiridos), durante a semana seguinte. Porque este
essencialmente um processo operacional, escolhemos como base para este exemplo
diretamente
no banco de dados WCM, e no o data warehouse. (Em uma configurao de prtica, voc
seria mais provvel ainda usar uma instncia de banco de dados separado, como uma
replicao
escravo, a fim de descarregar outras operaes, como a entrada do pedido).
Os passos seguintes descrevem como isso funciona:
1. Obter um conjunto de resultados de todos os clientes que ordenou DVDs que devero
ser
retornados durante a semana seguinte.
2. Loop sobre as linhas no conjunto de resultados. Para cada linha:
Obter a lista atual de ttulos de DVD, que devero ser devolvidos durante
na semana seguinte para o cliente atual.
Executar um relatrio que lista os ttulos de DVD e as respectivas datas
de vencimento.
Captulo 14 Agendamento, assinatura e Bursting 431
Conecte a sada do relatrio para uma mensagem de correio electrnico e envi-lo
cliente.
No restante desta seo, descrevemos como implementar isso em um
Pentaho seqncia de ao. Para seguir com o exemplo, voc vai precisar
Pentaho Design Studio (para criar a seqncia de ao) eo Relatrio de Pentaho
Designer (para criar o relatrio).
Passo 1: encontrar clientes com DVDs que so Entrega esta semana
O primeiro passo encontrar todos os clientes que precisam receber um lembrete. Um
maneira de abordar este problema olhar para todos os DVDs que so devidos durante o
Na semana seguinte, e depois de olhar para cima os dados do cliente atravs da
correspondente
da ordem.
Use o SQL na listagem 14-1 para fazer isso.
Listing 14-1: Encontrar clientes com DVDs que so devidos
c.customer_id
MAX (c.first_name) first_name
MAX (c.last_name) last_name
MAX (c.balance) equilbrio
MAX (c.email_address) email_address
CAST (
GROUP_CONCAT (
col.customer_order_line_id
) AS CHAR (512)
) Customer_order_lines
FROMwcm.customerc
INNER JOIN wcm.customer_orderco
ONc.customer_id = co.customer_id
INNER JOIN wcm.customer_order_linecol
ONco.customer_order_id = col.customer_order_id
WHEREcol.return_due_date
Entre {} report_date
E report_date {} + INTERVAL {} report_interval SEMANA
GRUPO BYc.customer_id
SELECT
,
,
,
,
,
Algumas coisas so dignas de nota sobre essa consulta. Na consulta, voc pode
veja {} Report_date e {} Report_interval. As chaves no so vlidas
SQL. Ao contrrio, eles delimitar parmetros ao nvel de uma seqncia de ao.
Em vez de incorporar uma chamada para CURRENT_DATE () ou algo parecido em
a consulta, ns preferimos a exteriorizar isso em um parmetro. Isso far com que
muito mais fcil depois para iniciar a seqncia de ao de alguns dias frente ou
atraso. Ns gostamos de ter a {} Report_interval por um motivo semelhante.
Ao torn-la disponvel como um parmetro, podemos facilmente decidir mais tarde para
432 Parte IV Inteligncia Aplicaes de Negcio
enviar e-mails uma vez a cada duas ou trs semanas, em vez de a cada semana. Embora seja
impossvel para parametrizar tudo (ou pelo menos no seria muito prtico),
esses itens so os provveis candidatos para a mudana por causa da mudana de negcios
decises.
A consulta usa uma GROUP BY customer_id clusula. Porque customer_id o
chave primria da cliente tabela, essa consulta ir produzir, por definio, apenas um
linha por cliente. Na SELECT lista, que voc deseja recuperar todos os tipos de dados de
o cliente, e para evitar confuso, voc deve adicionar explicitamente MAX agregada
funes para todas as outras colunas que voc precisa do cliente. (Tecnicamente, voc
no precisa fazer isso, por causa da GROUP BY em customer_id voc pode ser
se todas as outras colunas da cliente tabela ter apenas um valor por
distintos customer_id. No entanto, voc deve aplicar MAX () de qualquer forma para a clareza
e portabilidade).
Um aspecto final desta consulta a aplicao do GROUP_CONCAT funo.
Esta uma funo especfica do MySQL agregado que as linhas de grupos usando con-corda
encadeamento, por padro, separando os valores com uma vrgula. Neste caso, a nica
argumento o customer_order_line_id, O que significa GROUP_CONCAT
funo ir gerar uma lista separada por vrgulas dos customer_order_line_ids
que correspondem aos DVDs que devero ser devolvidos. Voc vai usar isso mais tarde
na na seqncia de ao para executar uma consulta para o relatrio.
Para colocar isto em seqncias de ao, voc pode usar o Relacional processo
aco. Voc pode encontr-lo sob a obter dados a partir do menu. Na Consulta propriedade,
digite a instruo SQL. Para o nome do conjunto de resultados, os clientes que voc digita e
em
Alm disso, voc definir explicitamente cada coluna do conjunto de resultados no Resultado
Definir grade Colunas. Isto tornar mais fcil para se referir a itens especficos no
conjunto de resultados. Voc tambm tem que especificar os parmetros de ao para a
seqncia de entrada
{} Report_date e {} Report_interval parmetros.
A seqncia de ao mostrado na Figura 14-19.
Passo 2: looping atravs dos clientes
A segunda etapa da seqncia de ao um Loop processo de ao. Isso itera
atravs de todos os clientes que encontramos na primeira etapa da seqncia de ao.
Figura 14-20 mostra como usar o Loop ao processual na ao de ruptura
seqncia. Na figura, o Loop ao do processo marcado Loop em Ao
Clientes.
Em si, a Loop ao do processo no muito interessante. No entanto, torna-se
interessante em virtude das aes que so colocados dentro dela. Essas aes so
repetido para cada iterao do loop. Na Figura 14-20, os restantes trs
aes aparecem recuadas em relao ao ciclo. Assim, estas aces sero
repetido para cada linha da clientes conjunto de resultados.
Captulo 14 Agendamento, assinatura e Bursting 433
Figura 14-19: Encontrar clientes usando uma etapa da ao processo relacional
Figura 14-20: Loop atravs de um conjunto de resultados
434 Parte IV Inteligncia Aplicaes de Negcio
Passo 3: Primeiros DVDs que devero ser devolvidos
Dentro do loop, voc precisa descobrir quais DVDs devero ser devolvidos
para a iterao atual cliente. Felizmente, isso muito fcil! Porque
voc incluiu o GROUP_CONCAT expresso sobre o customer_order_line_id
coluna em sua clientes consulta, voc pode usar um muito simples e eficiente EM
consulta para procurar as linhas relevantes do customer_order_line tabela. De
o tabela customer_order_line, Voc pode facilmente procurar o correspondente
DVDs na dvd_release tabela utilizando uma INNER JOIN.
Mais uma vez, voc usa um Relacional ao do processo, como voc fez para os clientes.
Para os DVDs, foi utilizada a consulta mostrada na listagem 14-2.
Listagem 14-2: Encontrar DVDs que so devidos
SELECT
,
,
,
,
,
,
,
,
DA
INNER JOIN
ON
ONDE
{} Customer_id customer_id
first_name 'first_name {}'
last_name '{} last_name "
{} Equilbrio equilbrio
{} Report_date report_date
d.title
col.return_due_date
col.rental_price
col.purchase_price
col wcm.customer_order_line
wcm.dvd_released
col.dvd_release_id = d.dvd_release_id
col.customer_order_line_id IN ({} customer_order_lines)
Na ONDE clusula, voc v o {} Customer_order_lines parmetro, que
usado para localizar o customer_order_line linhas. Lembre-se que o GROUP_CONCAT
funo usada na consulta do cliente retorna uma lista separada por vrgulas
customer_order_id valores.
Alm da {} Customer_order_lines parmetro, voc copiou o cus-
Tomer dados da iterao atual cliente para o SELECT lista. Voc precisa
dados de clientes de qualquer maneira para personalizar o relatrio, e embora voc possa
obter as mesmas informaes de programao, alargando o SQL estado
mento com INNER JOINs para customer_order e cliente, Voc pode muito bem
beneficiar do fato de que a obra j est executada.
Passo 4: Executando o relatrio lembrete
Agora que voc tem dados sobre o cliente e os DVDs, voc pode processar
um relatrio. Para este efeito, voc precisa de um relatrio muito simples, que ns criamos
com o Designer de Relatrios Pentaho. No vamos descrever este processo em pormenor,
mas o ponto principal deste relatrio que todos os dados relativos alugado
Captulo 14 Agendamento, assinatura e Bursting 435
DVDs, como o DVD de ttulo, aluguel de dados de vencimento, preo de aluguel, eo preo de
compra so
prestados no item Band. Os dados repetidos no item Band marcado
utilizando rtulos estticos que aparecem no cabealho do relatrio. Os dados referentes ao
o relatrio em si (como o report_date) Ou um cliente seu recebimento (como
first_name,last_name,equilbrioE report_data) E so colocados na pgina
Cabealho. O design do relatrio mostrado na Figura 14-21.
Figura 14-21: O projeto para o arrendamento lembrete Relatrio
Da perspectiva do design do relatrio, as coisas so bastante simples se
enviar o relatrio como um anexo em PDF com uma mensagem de correio electrnico. No
entanto,
Se voc quiser enviar o relatrio em si como o corpo de um email HTML, voc
pode querer configurar a sada de HTML especialmente para esse fim. Voc pode
acesso a configurao do relatrio atravs do painel de propriedades mostradas no relatrio
Figura 14-22.
Figura 14-22: Acessando as propriedades do relatrio no painel Propriedades
436 Parte IV Inteligncia Aplicaes de Negcio
Na janela de propriedades, voc pode ativar o sada de tabela html
configurao e explicitamente suprimir folhas de estilo externas, ou mesmo a fora estilos
a ser escrita em linha. Para relatrios baseados na Web normal, folhas de estilo externas
geralmente so preferveis, e um estilo inline deve ser evitado. No entanto,
folhas de estilo externas e estilos fora-de-linha pode impedir alguns clientes de e-mail
da prestao corretamente o relatrio, por isso que explicitamente se desviam
entre as opes padro neste caso. Substituindo esses padres mostrada na
Figura 14-23.
Figura 14-23: Forar estilo interno e estilos inline para HTML e-mail
O relatrio chamada com o Pentaho Report ao do processo, que reside
sob o submenu relatrio. Figura 14-24 mostra que a ao do processo
parece.
Note-se que o <dvds> parmetro utilizado para o relatrio de dados. Este o nome
do resultado do conjunto de parmetros a partir da ao do processo anterior. Note tambm a
Nome da sada do relatrio, que definida como rental_reminder_report. Voc precisa
referem-se a isso no prximo passo, onde voc vai enviar a sada do relatrio em um e-mail.
Passo 5: o envio do relatrio via e-mail
O passo final na seqncia de ao toma conta da entrega ao cliente.
Para fazer isso, use um EMAIL processo de ao. Isto pode ser alcanado a partir do Enviar
Para menu, como mostrado na Figura 14-25.
Captulo 14 Agendamento, assinatura e Bursting 437
Figura 14-24: Chamando o Relatrio lembrete
Figura 14-25: O envio do relatrio, como HTML e-mail
438 Parte IV Inteligncia Aplicaes de Negcio
Observe que voc use o <email-address> a partir dos dados de clientes do exterior
conjunto de resultados como um parmetro para o resolver. Para a mensagem HTML, utilize
o <rental-reminder-report> parmetro, que a sada do relatrio real
criada no processo de ao anterior.
Outras implementaes de ruptura
O exemplo j visto simplesmente uma forma de execuo de ruptura. No
pode haver casos em que esta abordagem funciona muito bem. Pode haver outros casos
onde esta abordagem no to til (tal como quando o resultset exterior
grande, e consultar o para o resultset interno complexo e caro). Aqui
so apenas algumas outras possibilidades para a aplicao do relatrio de ruptura com base
na
Pentaho BI Suite:
Em vez de enviar e-mail HTML, voc pode configurar o relatrio (ou
a ao processo de chamada do relatrio) para gerar um PDF. Neste caso,
a sada do relatrio ser anexado ao e-mail ao invs de enviado como o
corpo. Com o E-mail ao do processo dessa mudana quase trivial. Voc pode
basta mover o <rental-reminder-report> parmetro a partir do HTML
campo de mensagem para a grade Anexos e escreva uma mensagem de texto esttico
em
Mensagem de Texto de campo.
Se voc quiser enviar apenas uma mensagem de correio electrnico simples, voc pode
usar o Mensagem
Modelo ao do processo de mesclar um modelo de texto esttico com o conjunto de
resultados
dados provenientes de outras partes da seqncia de ao. Voc pode at escolher entre e-mail de texto simples, HTML e-mail ou um arquivo PDF
penhora, dependendo das preferncias do usurio. Para fazer isso, voc iria expandir
a consulta com um campo que detm a preferncia do usurio para PDF, texto simples,
ou HTML. Dependendo do valor do campo, voc pode usar um Se
Declarao ao do processo para enviar o tipo correto de e-mail.
Em vez de construir seqncias de ao complexo, voc poderia escolher para imple-
mento muito da lgica dentro de uma transformao Pentaho Data Integration.
Esta abordagem especialmente til quando voc precisa simplesmente de enviar um
mensagem de e-mail, e podem ignorar gerar um relatrio completo. Um extra
vantagem de usar PDI que voc pode usar as suas capacidades de clustering para
distribuir a carga entre mltiplas mquinas.
Depois de trazer PDI na mistura, voc pode ser capaz de eliminar a necessidade
para consultas de banco de dados totalmente aninhados. Em vez disso, voc pode
escrever apenas
uma consulta que inclui dados de clientes e ttulos de DVD, e usar a PDI
transformao que diretamente em uma estrutura aninhada, como XML ou JSON. Voc
seria ento necessrio para analisar a utilizao de uma obter dados de / XML ou
Javascript
etapa, mas esta ainda pode ser mais rpido do que espera para uma consulta de banco
de dados.
Captulo 14 Agendamento, assinatura e Bursting 439
Resumo
Neste captulo, investigamos alguns dos mtodos mais avanados de
fornecimento de contedos de inteligncia comercial para usurios finais. Neste captulo, voc
Aprendi a:
Criar e manter horrios usando o console de administrao
Use sequncias de ao para programaticamente criar agendas
Uso externo solues de programao, tais como cron e em
Permitir que as seqncias de ao a ser registrveis, associando-as com um
cronograma
Conceder os privilgios apropriados para os utilizadores (e funes), que lhes permitam
subscrever
para os itens de ao
Monitorar e gerenciar o contedo inscrito no espao de trabalho do usurio
Limpe o repositrio de contedo
Implementar explodindo em uma seqncia de ao
CAPTULO
15
Solues OLAP Utilizando Pentaho
Analysis Services
Pentaho Analysis Services fornece os recursos OLAP do Pentaho
Plataforma. Captulo 8 breve introduo aos conceitos de OLAP, ROLAP, MOLAP,
e HOLAP. Este captulo dedicado obteno de solues (R) para cima e OLAP
execuo na plataforma Pentaho BI Pentaho usando Analysis Services (PAS).
PAS lhe permite analisar os dados de forma interativa a partir da data warehouse
fornecendo uma interface de referncia cruzada de estilo em que as diferentes dimenses,
tais como
tempo, produto e cliente pode ser colocado. Ao contrrio de uma ferramenta de comunicao,
no h
preciso primeiro definir uma consulta, obter os resultados e formatar esses, embora esta
possvel, se desejar. Um front end OLAP fornece uma interface intuitiva ponto-e-clique
ou interface drag-and-drop que ir automaticamente recuperar e formatar dados
com base na seleo feita por um usurio. Ela permite a rpida zoom em
certas partes do cubo de dados, tambm chamado drill down, ou agregar detalhes
um nvel de sntese, tambm chamado drill-up. Voc pode aplicar condies para apenas
olhar
partes de um cubo, que tambm chamado corte. Trocando informaes de linhas
a colunas ou vice-versa, finalmente como o giro do cubo e olh-lo de
ngulos diferentes, que tambm chamado corte. Executando drill up, drill down,
Fatie e pique, e fazendo tudo isso de uma alta velocidade, o que forma interativa
OLAP distingue de outros tipos de anlises e relatrios e permite uma
usurio para analisar rapidamente os dados e encontrar excees ou ter uma viso de
negcios
desempenho.
Neste captulo, comeamos por descrever a arquitetura da Pentaho Analysis
Servios, seguido por uma breve introduo ao MDX, que de facto
linguagem padro de consulta OLAP. A seguir, vamos explicar em detalhe como criar
e implementar cubos OLAP para o motor ROLAP Mondrian, que o corao
do Analysis Services Pentaho. Tambm explicamos como navegar estes cubos
441
442 Parte IV Inteligncia Aplicaes de Negcio
usando o front-end JPivot. Finalmente, discutiremos como voc pode usar o Pentaho
designer de agregao para melhorar o desempenho do OLAP.
Viso Geral dos Servios de Anlise Pentaho
PAS composto dos seguintes componentes:
JPivot front-end-anlise JPivot uma ferramenta de anlise baseada em Java que serve
como a interface real do usurio para trabalhar com cubos OLAP.
Mondrian motor ROLAP-A motor recebe a partir de consultas MDX
front-end ferramentas como JPivot, e responde enviando uma mul-
resultado provisrio-set.
Schema Workbench-Este a ferramenta visual para projetar e testar
Mondrian esquemas cubo. Mondrian usa esses esquemas cubo para interpretar
MDX e traduzi-lo em consultas SQL para recuperar os dados de uma
RDBMS.
Agregado Designer-A ferramenta visual para gerao de tabelas de agregados para
acelerar o desempenho do motor analtico.
NOTA Em 2009, um projeto da comunidade foi iniciada a construo de uma nova gerao
Pentaho Analysis Tool (PAT), que visa substituir JPivot no futuro. No momento da
isto foi escrito, o PAT est ainda na sua fase inicial de desenvolvimento assim para o resto do
Neste captulo, vamos furar a JPivot. Se voc quiser dar uma olhada no PAT, visite o
pgina do projeto na casa http://code.google.com/p/pentahoanalysistool.
Arquitetura
Figura 15-1 mostra uma viso esquemtica dos componentes do PAS e os seus
relacionamentos.
Primeiro, vamos resumir os elementos e as interaes mostrado na Figura 15-1.
A seguinte seqncia de eventos descreve o que acontece quando o usurio final
usa um tpico Pentaho aplicao OLAP:
1. O navegador do usurio final de internet faz uma solicitao HTTP para ler, ver ou
drill down em uma tabela dinmica OLAP. (Em Pentaho, isso normalmente resulta em
a execuo de uma seqncia de ao, que neste caso foi construdo
para chamar JPivot).
2. O servlet JPivot recebe o pedido e converte-lo em um MDX
consulta. A consulta MDX enviado para o motor de Mondrian.
3. Mondrian interpreta a consulta MDX e traduz isso em um ou mais
Consultas SQL. Esta tcnica especial referido como ROLAP, que
representa Relational OLAP. (Neste captulo, nos referimos ao termo OLAP
para maior clareza, embora no contexto de Mondrian, a tcnica atual
mais apropriadamente chamada ROLAP).
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 443
OLAP Front End Fim Metadados e Back
Pentaho
Agregada
Designer
Navegador da Web
Referncia Cruzada
Cliente
Pentaho esquema
Workbench
XML
Editor
<Schema>
<Cube>
..
</ Cube>
</ Schema>
1. HTTP
Pedido
Publicar Editar
Otimizar,
Publicar
Design,
Criar,
Povoar
6. HTML
Resposta
Pentaho BI
Server
Esquema
Arquivo (XML)
Leia Metadados
JPivot
Servlet
2.MDX
Mondrian
ROLAP Engine
5. Mutidimensional
Resultado
3. SQL
4. Relacional
Resultado
Data
Warehouse
RDBMS
Figura 15-1: Viso geral dos componentes Pentaho OLAP
444 Parte IV Inteligncia Aplicaes de Negcio
4. O Relational Database Management System (RDBMS) executa o
consultas emitidas por Mondrian. Mondrian recebe tabular (relacional)
os resultados.
5. Mondrian processa os resultados recebidos do RDBMS e traduz
los a um conjunto de resultados multidimensional. Esta realmente a consulta MDX
resultado da consulta MDX enviado para Mondrian na Etapa 2.
6. JPivot utiliza o resultado multidimensional para renderizar uma pgina HTML para
exibir os dados. Este ento enviado para o navegador onde mostrado
o usurio.
Esquema
A estrutura central mostrado na Figura 15-1 o esquema. O esquema essencialmente
um documento XML que descreve um ou mais cubos multidimensionais. A
cubos tambm descrever o mapeamento das dimenses do cubo e as medidas de
tabelas e colunas em um banco de dados relacional. Para Mondrian, o esquema a chave
em traduzir a consulta MDX para consultas SQL.
Ferramentas de projeto de
esquema
A parte superior direita da figura 15-1 mostra uma srie de componentes que fazem
no participa diretamente na interao anteriormente resumidas. Estes todos
representa o design e desenvolvimento de ferramentas usadas para construir ou melhorar
Mon-
drian esquemas. Um esquema de Mondrian o mapeamento entre o relacional
eo modelo multi-dimensional. Esse mapeamento usado para ajudar a traduzir
Consultas MDX para consultas SQL, e para transformar os resultados relacional recebidos em
resposta s consultas SQL para resultados multi-dimensional. O multidimensional
modelo, composto de dimenses, hierarquias e medidas, criada primeiro e
o modelo relacional mapeado para o esquema. Porque voc vai trabalhar
com um esquema em estrela como a origem do esquema de Mondrian, esta ser uma grande
simples processo.
Pentaho Schema Workbench oferece uma interface grfica para criar Mon-
drian esquemas. Alm disso, Pentaho Schema Workbench pode publicar esquemas
ao Servidor Pentaho, que em seguida, armazena-los na soluo de repositrio. Uma vez
armazenados na soluo de repositrio, os esquemas podem ser usados pelo servidor
motor de Mondrian como um back-end para servios OLAP.
Pentaho Schema Workbench apenas uma ferramenta que voc pode usar para criar
esquemas.
Voc tambm pode usar um editor de texto ou editor XML para gravar o esquema homem-
vamente, por isso que o incluiu na Figura 15-1, ao lado de Pentaho
Schema Workbench. Voc pode publicar esquemas escritos manualmente usando Pen-
Bancada Taho, ou movendo o arquivo XML que contm o esquema para o
Diretrio da soluo Pentaho desejada no sistema de arquivos.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 445
Tabelas agregadas
O Pentaho Designer Agregado (PAD) uma ferramenta que pode ajud-lo a
gerao e preenchimento de tabelas de agregao. Mondrian pode aproveitar
de tabelas de agregados para gerar consultas SQL eficientes que podem ser
consideravelmente
melhorar o desempenho. Assim, o PAD anlises do banco de dados de back-end, gerando
as declaraes adequadas SQL para criar e preencher as tabelas de agregao. Em
mesmo tempo, PAD modifica o arquivo de esquema, que necessrio para Mondrian
usar as tabelas de agregao.
Este captulo aborda todas as ferramentas necessrias para desenvolver e utilizar solues
OLAP,
mas antes de podermos fazer isso precisamos cobrir alguns conceitos bsicos como MDX
ea estrutura de um cubo OLAP.
MDX Primer
MDX a abreviao de expresses Multi Dimensional, que um
linguagem que especialmente concebido para consultar bancos de dados OLAP. MDX um
padro de facto originalmente desenvolvido pela Microsoft.
NOTA MDX um padro criado e implementado pela primeira vez pela Microsoft
no servidor da Microsoft Analysis, que fornecido como parte do SQL Server
RDBMS. Aps sua introduo, MDX foi amplamente adotado por outros fabricantes como a
OLAP linguagem de consulta.
Atualmente no h consrcio ou comit estabelece normas fora da Microsoft,
que mantm uma especificao MDX. documentao de referncia s est disponvel
como parte da documentao do produto SQL Server. A referncia atual
documentao pode ser encontrada em http://msdn.microsoft.com/en-us/
library/ms145506.aspx.
Voc pode encontrar mais informaes e documentao no site de um dos
inventores da linguagem MDX, Mosha Pasumansky: http://www.mosha/.com
MSOLAP. Outra excelente fonte a MDX srie Essentials no
www.databasejournal.com.
Alm desses recursos on-line, voc pode ler mais sobre MDX MDX
Solues: Com o Microsoft SQL Server Analysis Services 2005 e Hyperion
Essbase, por G. Spofford, S. Harinath, C. Webb, Huang Hai D. e F. Civardi (Wiley,
2006, ISBN: 978-0-471-74808-3).
Em certo sentido, MDX o modelo multidimensional que o SQL o
modelo relacional. Consultas SQL definir operaes em tabelas do banco de dados para
recuperar
um conjunto de linhas, enquanto as consultas MDX operar em um cubo e entregar um
multidimensional-
multidimensional coleo de clulas.
446 Parte IV Inteligncia Aplicaes de Negcio
Embora voc no precisa ser um especialista em MDX, que ajuda a saber o
noes bsicas antes de comear a construir os cubos de Mondrian. Alm disso, se voc
quiser
criar solues analticas que excedem o padro de perfurao e de filtros
do front-end JPivot, voc precisar modificar o MDX gerado a si mesmo.
Mas antes de explorar o poder do MDX, uma boa idia para cobrir algumas de base
conceitos OLAP para ajudar voc a entender melhor a sintaxe.
Cubos, dimenses e medidas
Quando voc primeiro encontro MDX, um dos aspectos mais confusa a
terminologia utilizada. Alguns termos podem parecer familiares e referem-se os conceitos
utilizados na
modelagem dimensional. No entanto, alguns conceitos so totalmente diferentes e parecem
inbil no incio. Nesse sentido, e as subsees seguintes, vamos dar uma simplificada
verso do modelo de WCM e usar isso para ilustrar todos estes conceitos.
O Conceito de Cubo
A maioria dos livros sobre OLAP MDX e comear por apresentar uma representao visual
de um cubo tridimensional. Por que devemos romper com esta tradio? Ento, vamos
apresentar alguns dos principais conceitos com a Figura 15-2, que mostra um simples
cubo construdo a partir do armazm de dados WCM.
AZ
CA
IL
Cliente
NY
WA
2009
2008
2007 Time
2006
SciFi Esportes Drama Thriller
Produto
Figura 15-2: cubo tridimensional
O cubo mostrado na Figura 15-2 composto por um tempo, produto e cliente
dimenso, cada uma delas colocada num dos lados do cubo. As dimenses so
a pedra angular de cubos OLAP: um cubo simplesmente uma coleo de vrios
dimenses.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 447
Alm dimenses com os dados de identificao, voc precisa de algo a relatar,
tais como vendas ou receitas de aluguel, custo, ou o nmero de aluguis. Estes valores so
chamada medidas. Um aspecto importante das medidas que elas no repre-
enviou um nico valor. Ao contrrio, eles representam um agregada valor. As medidas
acabamos de mencionar so tipicamente agregados por soma. Em MDX, a recolha,
o de medidas que fazem um tipo especial de dimenso chamada medida
dimenso.
Agora, d uma olhada no cubo da Figura 15-2, claro, h mais de
um produto, um cliente e um ponto no tempo. Na verdade, cada cliente,
produto, eo dia em que o cubo tem uma interseco chamada tupla. Cada tupla,
que pode ser uma clula individual ou de uma seco no cubo, pode conter uma ou
medidas mais.
NOTA Porque nem todo cliente compra todos os produtos disponveis em cada dia, um
lote de tuplas no existem fisicamente em um cubo OLAP. Isso chamado esparsidade mas
porque os dados so recuperados de um banco de dados relacional, onde apenas os dados existentes
so
armazenados, esparsidade no representa um problema.
Analogia Star Schema
H uma analogia entre estes conceitos eo modelo MDX-dimensional
conceitos de esquema ing e estrela discutido nos captulos 6 e 7, respectivamente. A
termo''''dimenso refere-se ao mesmo conceito, em todos estes domnios. Um MDX
cubo anlogo a um esquema de estrela, e as medidas so anlogos aos fatos. Para
clareza, Figura 15-3 mostra como um esquema em estrela simples podem ser mapeados para
um cubo
como o mostrado na Figura 15-2.
A correspondncia entre o cubo mostrado na Figura 15-2 ea estrela
esquema mostrado na Figura 15-3 apenas uma consequncia prtica da estrela
esquema de tcnica de modelagem: embora seja possvel organizar as coisas para que
MDX cubos, dimenses e medidas correspondem diretamente a um esquema em estrela,
tabelas de dimenso, e uma tabela de fatos, respectivamente, isso no necessrio ou
implcita.
Mencionamos a analogia porque, na prtica, alguns mapeamento que descreve
como um cubo pode ser construdo a partir dos dados no data warehouse sempre
existe. No caso dos motores ROLAP, como Mondrian, esse mapeamento
realmente muito apertado, como os dados do cubo construdo on-the-fly, consultando a
banco de dados.
Cubo Visualization
No h limite prtico para o nmero de dimenses que podem ser usados para
construir um cubo. No entanto, a maioria das ferramentas que so projetadas para apresentar
visual
representaes de cubos OLAP para os usurios finais podem apresentar apenas duas
dimenses.
Normalmente, este assume a forma de um tabela cruzada, tambm conhecido como tabela de
referncia cruzada ou um
tabela dinmica.
448 Parte IV Inteligncia Aplicaes de Negcio
AZ
CA
IL
NY
WA
Scifi Suspense Drama Esporte
2009
2008
2007
2006
Dimenso Cliente
Produto
Dimenso
Aluguer de fatos
(MDX: Medidas)
Data
Dimenso
Aluguer de Esquema Estrela (MDX: Cube)
Figura 15-3: Um cubo como um esquema em estrela
No caso da tabela de referncia cruzada, as duas dimenses da tela so horizontais e
eixos verticais da tabela. Dimenses de um cubo multidimensional pode ser
combinadas, produzindo dois conjuntos construdos a partir de uma ou mais dimenses. Estes
podem ser mapeados para os dois eixos da tabela de referncia cruzada. Figura 15-4 ilustra
uma
possvel mapeamento do cubo mostrado na Figura 15-2 a uma tabela de referncia cruzada.
Na Figura 15-4, o DVD e as dimenses so combinados Data e aparecem
como colunas da tabela de referncia cruzada (o eixo horizontal). A dimenso do cliente
aparece como linhas na tabela de referncia cruzada (o eixo vertical).
Hierarquias, nveis, e membros
Para o seu cubo para ser til, voc precisa mais do que apenas valores individuais no
intersees dimenso individual. Voc precisa encontrar uma maneira de agregar os dados
entre as vrias dimenses. Para este efeito, as dimenses so organizadas
em uma ou mais hierarquias.
Hierarquias
Uma hierarquia uma estrutura de rvore que pode ser usado para recuperar dados de
o cubo em diferentes nveis de agregao. A maneira mais fcil e mais usado
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 449
exemplo a dimenso de data com a hierarquia do Ano-de-ms-dia.
Para ilustrar o conceito da hierarquia e do MDX terminologia correspondente,
Figura 15-5 mostra uma parte ampliada hierarquia Ano-de-ms-dia de um
data de dimenso.
AZ
CA
IL
NY
WA
Scifi Suspense Drama Esporte
2009
2008
2007
2006
Scifi
06
AZ
CA
IL
NY
WA
07 08 09 06
Esportes
07 08 09 06
Drama
07 08 09 06
Thriller
07 08 09
Figura 15-4: Referncia cruzada a visualizao de um cubo
Nveis e deputados
A hierarquia consiste nveis, e cada nvel tem uma ou mais membros. Assim, em
Figura 15-5, ano, ms, trimestre, e de dia so nveis e os itens nomeados
dentro de cada nvel so os membros. Por exemplo, os anos 2008, 2009 e
2010 so os membros ao nvel do ano, e os quartos Q1 atravs Q4 so
membros ao nvel Quarter. A ordem dos nveis hierrquicos reflete a
organizao: Ano representa um nvel superior de agregao de Bairro, e
Ms representa um menor nvel de agregao de Bairro.
Uma coisa importante a se notar que os membros dentro de um nvel no
sobrepem-se: dentro do nvel do ano, os membros so todos diferentes um do outro.
Mas o mesmo verdadeiro para os membros abaixo do nvel do ano: ambos os anos
2009 e 2010 pode ter um membro chamado Q1, a nvel Bairro, mas, apesar
com o mesmo nome, estes membros so distintos um do outro. Este
garante que a agregao de dados ao longo de um nvel produz um resultado consistente.
450 Parte IV Inteligncia Aplicaes de Negcio
Deputados
Todas as Datas
Nveis
Todos
Ano 2008 2009 2010
Trimestre Q4 Q1 Q2 Q3 Q4 Q1
Ms Junho Julho Agosto Setembro Outubro
Dia 27 28 29 30 31 1
Figura 15-5: Um ano-de-ms-dia hierarquia em uma dimenso de data
Usando a sintaxe MDX, um membro pode ser sempre referenciados usando o
caminho de membro de pleno direito constitudo da dimenso, nvel e nome do membro, como
em [Data]. [Ano]. [2008]. s vezes, os membros podem ser referenciados dentro de um
hierarquia sem nomear explicitamente o nvel que o membro pertence, isto ,
enquanto o nome do membro nico. Assim, no exemplo anterior, [2008]
funcionaria to bem se este um nome nico.
DICA Uma das primeiras coisas que voc vai perceber quando olhar para instrues MDX o
uso extensivo de colchetes. Isso no necessrio, mas se seu nomes dos membros
conter espaos ou nmeros, ou se o nome uma palavra reservada MDX, usando o boto []
parnteses obrigatrio. A melhor prtica sempre usar os colchetes.
O nvel de todos, todos os Estados e os Estados-padro
Hierarquias podem ter uma especial todos os nveis para alm do expressamente definido
nveis. O nvel de todas a raiz conceitual da hierarquia. especial porque
no explicitamente definido. Em vez do motor OLAP vez deriva-lo.
contm exatamente um membro, o todos os membros, que construda atravs da unificao
todos os membros pertencentes ao mais alto nvel de agregao definido. Na Figura 15-5,
o nvel de todos rotulado como Todos e Todos os membros marcado todas as datas.
Hierarquias tambm pode especificar o membro padro, que usado quando os membros
no so explicitamente especificado. Isto importante observar que, como voc geralmente
no
explicitamente todas as dimenses em uma consulta MDX. Normalmente, a todos os
membros
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 451
denominao utilizada como membro padro. O efeito disto que as medidas so
automaticamente agregadas ao mais alto nvel em todas as dimenses que no so
explicitamente usada na consulta MDX.
Define-Membros
Para recuperar todos os membros de um nvel, basta adicionar o MEMBROS palavra-chave ao
nvel, como no [Data]. [Meses]. [Ano]. MEMBROS. Esta expresso avalia a todos os
membros do nvel do ano como um membro do conjunto. Voc tambm pode especificar
explicitamente um conjunto
enumerando os nomes dos membros de uma lista separada por vrgulas em crespos
suspensrios. Os colchetes indicam o conjunto, como no {[Ano]. [2007], [ano]. [2008],
[Ano]. [2009]}.
Vrias hierarquias
As dimenses podem conter mltiplas hierarquias, oferecendo mltiplos analtica ou
caminhos de navegao dentro de uma dimenso. Normalmente, vrias hierarquias servir
negcios diferentes necessidades. Por exemplo, em uma dimenso de data, uma Trimestre-
hierarquia ms-dia usado para anlise de vendas, e um adicional de Ano-de-semana,
Dia da hierarquia pode ser usado para executar a anlise de ordem de compra semanal.
hierarquias mltiplas para a mesma dimenso podem ter alguns nveis comum:
neste caso especfico, o nvel do ano tem o mesmo significado em ambas as hierarquias.
No entanto, as definies nvel das hierarquias diferem em algum lugar no
line-isto , de fato, a ponto de ter vrias hierarquias. Por exemplo, o
duas hierarquias data diferem uma da outra para todos os nveis abaixo do nvel do ano.
Em MDX voc pode atribuir uma hierarquia especfica a ser parte do di-
Sion referncia. Por exemplo, suponha que voc tenha um Data dimenso com
duas hierarquias separadas: uma para o ano-de-ms-dia e outra para
Ano-Dia-de-semana, chamado Meses e Semanas , respectivamente. Neste caso, a ex-
Sion [Date.Months]. [2000]. [1] [1]. refere-se a 1 ms em um trimestre no ano
2000, enquanto que [Date.Weeks]. [2000]. [1] [1]. refere-se ao 1 dia da 1 semana do
ano de 2000. Observe como o nome da hierarquia anexado ao nome da dimenso
diretamente, usando a notao de ponto dentro dos colchetes.
Se voc omitir uma especificao de hierarquia, a hierarquia padro, que o primeiro
hierarquia especificada para a dimenso, usado.
Relacionamentos Familiares Cube
Dentro de cada hierarquia em uma dimenso de cubo a ordem dos membros que constituem-
bros predefinido automaticamente com base na sua natural ordem alfabtica, numrica
ou ordenao temporal. Os nveis dentro de uma hierarquia no so automaticamente
ordenada. Eles precisam ser colocados em uma certa ordem, indo de um resumo
a um nvel detalhado. Cada membro de um nvel inferior na hierarquia podem pertencer a
452 Parte IV Inteligncia Aplicaes de Negcio
apenas um membro de nvel superior. Como exemplo, pense de produtos: um produto pode
apenas fazer parte de um grupo de produtos, mas um grupo de produtos pode conter vrios
produtos. Para comear com o fim dos nveis, as relaes entre diferentes
nveis chamado de pai-filho relacionamento. Em uma dimenso de data, o nvel do ano
o pai do nvel do Bairro, que por sua vez, o nvel criana de ano.
Ele fica mais interessante quando voc olha para os membros do nvel. Agora, o
ano de 2009 tem quatro filhos, Q1, Q2, Q3 e Q4, e de cada trimestre, por sua vez tem
trs filhos, Jan, Fev, Mar e para o Q1, e assim por diante. Cada membro tambm pode
ter irmos e primos. Os irmos so membros relacionados no mesmo nvel, mas
com o outro progenitor, eles s podem ser abordadas, apontando para o primeiro ou o ltimo
irmo ou por recuperar todos os irmos. A posio de um primo no nvel correspondente
para o membro de referncia. Suponha que voc quer olhar para o primo
Q1 2009 em 2008, o membro resultante ser 1 trimestre de 2008. A semelhana entre
filhos e irmos, por um lado, e primos, por outro, que as crianas
e os irmos s podem ser tratadas como um grupo ou especificando explicitamente o
membros do primeiro ou ltimo, mas primos precisam ser abordadas, especificando o pai.
Muitas mais maneiras de referenciar clulas relacionadas esto disponveis, voc pode, por
exemplo, usar a palavra-chave descendentes para recuperar um conjunto de membros que
desce do membro de partida. Isto tambm vai exigir que voc adicione o
distncia para o membro pai, ento a funo do MDX Descendentes ([2008], 2)
recupera todos os meses de 2008, caso a hierarquia o Ano-de-ms. Neste
caso, o nvel do ms a dois passos a partir do nvel do ano.
Relativo relaes de tempo
Quando voc est trabalhando com uma dimenso de tempo, funes especiais relativos so
disponveis, que so baseadas em relaes familiares entre os membros anteriores
dentro de uma hierarquia. Na maioria das solues de BI, os utilizadores esto interessados
em comparar
um perodo com o mesmo perodo no ano anterior. Embora voc possa
usar o primo funo para chegar a este perodo de comparao, o ParallelPeriod
funo mais adequada para isso. A funo recebe trs argumentos: a hierarquia
nmero do nvel dos perodos de volta, e membro da dimenso do tempo. Por exemplo,
Se voc est interessado no perodo de outubro de 2009 em paralelo nos ltimos
ano, voc usaria ParallelPeriod ([Ano], 1 [Data]. [Ms]. [200910]),
que retornaria [200810].
Year-to-date tambm uma caracterstica essencial das solues de BI, e os Acumulado do
ano funo
fornece essa informao. De cada perodo de um ano, se voc est lidando
com os trimestres ou meses, voc pode recuperar o Acumulado do ano membros muito
facilmente. Quando
usar Acumulado do ano ([Time]. [Ms]. [200903]), Os membros [200901],[200902],
e [200903] so retornados como um conjunto.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 453
A sintaxe MDX Query
primeira vista, pode parecer familiar MDX se voc j conhece o SQL
linguagem. As aparncias enganam, no entanto, existem algumas semelhanas, mas o
diferenas so ainda maiores.
Basic Consulta MDX
Assim como voc conseguir dados de seu cubo em uma resultado MDX? Vamos comear
com
o mais simples de consultas simples MDX:
SELECT
DA wcm_sales
O resultado da consulta dessa consulta o total do cubo da medida padro
da wcm_orders cubo. Claro, isso no muito til e s bom
para testar se funciona sua conexo, mas este exemplo ilustra-se
trar alguns conceitos-chave do MDX, ento vamos dar uma olhada neste simples
declarao.
O cubo a partir do qual os dados a serem recuperados especificado no MDX
DA clusula. Como tal, algo anlogo ao SQL DA clusula, que
especifica uma tabela ou intermedirio juntar o resultado que fornece os dados para o resto da
a consulta.
A SELECT palavra-chave especificada, mas porque ele no seguido por um
lista de expresses, a medida padro usado. Neste caso, a medida padro
Receita. Porque as medidas so agregadas, essa consulta retorna a soma de todos
receitas do cubo chamado wcm_orders.
Eixos: em linhas e ON COLUNAS
MDX pode representar informaes sobre vrios eixos. Geralmente, esses so os ROWS
e COLUNAS eixos. Outros eixos padro PGINAS,SEESE CAPTULOS,
mas a maioria das ferramentas de visualizao OLAP (incluindo JPivot) no pode trabalhar
com eixos
alm das duas primeiras, muito menos a 128 eixos possvel o padro MDX
permite.
Na maioria dos casos, voc vai trabalhar com apenas dois conjuntos de membros de cada
vez, uma
exibido no eixo de colunas e um no eixo linhas. A expresso MDX
portanto, usa a seguinte sintaxe genrica:
SELECT <member collection> em colunas,
<member collection> ON ROWS
DA <cubename>
454 Parte IV Inteligncia Aplicaes de Negcio
Na verdade, as palavras-chave ROWS e COLUNAS so sinnimos para o padro
numeradas notao, COLUNAS a abreviatura para AXIS (0)E ROWS representa
EIXO (1). Voc pode at omitir a palavra-chave AXIS e simplesmente usar 0
e 1. Assim, no exemplo anterior tambm pode ser escrita como:
SELECT <member collection> ON AXIS (0),
<member collection> EM 1
DA <cubename>
Embora a ordem real das especificaes eixo irrelevante, deve
especificar uma srie sem intervalos consecutivos de eixos, a comear AXIS (0) (O COLUNAS
eixo). Por isso, possvel especificar apenas o primeiro EM COLUNAS linha, mas voc no
pode
ignor-lo e s usar ON ROWS. Embora voc poderia inverter a ordem dos
e ON ROWS linhas, seria confuso, por isso que no
recomendamos o uso dessa ordenao.
Para obter uma tela vertical de linhas somente com uma nica medida, use o seguinte
consulta:
SELECT [Measures]. [Receita] em colunas,
<member collection> ON ROWS
DA <cubename>
Olhando para uma parte dos dados
Voc pode se perguntar se uma consulta MDX tambm pode conter um ONDE
clusula, e na verdade ele pode. o chamado fatiador porque restringe os dados que
pode ser acessado atravs do cubo para um subconjunto especfico (a fatia). Embora o
ONDE palavra-chave o mesmo que no SQL regular, o comportamento bastante diferente,
como o nome''''slicer implica. A consulta MDX a seguir os limites da anlise a
o ano de 2008, usando um cortador de:
SELECT [Measures]. [Receita] em colunas,
<member collection> ON ROWS
DA <cubename>
WHERE [Data]. [Ano]. [2008]
Assim, em vez de especificar uma condio, como se estivesse em SQL, a MDX ONDE
clusula exige que voc especifique a parcela dos dados que voc gostaria
para incluir em termos de uma especificao membro da dimenso. Voc pode especificar
uma lista separada por vrgulas de nomes de membros desde que voc coloque a lista
parnteses. Assim, a consulta MDX seguintes limites o resultado para o ano de 2008
e os clientes do Canad:
SELECT [Measures]. [Receita] ON COLUNAS
DA <cubename>
WHERE ([Data]. [Ano]. [2007], [cliente]. [No pas]. [CA])
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 455
Dimenso em apenas um eixo
E agora a m notcia: voc no pode usar a mesma dimenso em mais de
um eixo. Por exemplo, se voc usar a dimenso de data j ON ROWS ou ON
COLUNAS, No pode ser usado no fatiador. A consulta a seguir, portanto, no:
SELECT [Measures]. [Receita] em colunas,
[Data]. [Bairro]. Deputados ON ROWS
DA <cubename>
ONDE [Data]. [Ano]. [2008]
A maioria das pessoas usadas para SQL achar isto difcil de entender, mas simplesmente
uma
dos meandros MDX que voc vai ter que se acostumar. Se voc s quer
olhar trimestres em 2008, voc pode fazer isso usando o CRIANAS palavra-chave
o membro 2008 do nvel do ano:
SELECT [Measures]. [Receita] em colunas,
[Data]. [2008]. Crianas ON ROWS
DA <cubename>
MDX permite a utilizao de mltiplas dimenses em um eixo, mas lembre-se que
uma dimenso particular pode aparecer em apenas um dos eixos (ou o slicer).
Mais exemplos MDX: um simples cubo
Para o restante da explicao MDX e exemplos, melhor ter um
modelo especfico. Nos pargrafos seguintes, vamos construir o wcm_orders cubo,
que tem a estrutura conforme listado na Tabela 15-1.
Voc vai aprender como criar um cubo Mondrian para este modelo mais tarde, mas por
agora
us-lo para continuar explorando MDX.
A funo FILTER
A FILTRO funo permite-lhe limitar a escolha dos membros do cubo. Voc
pode usar o ONDE clusula apenas a uma parte da fatia do cubo, mas o que se quiser
para limitar os resultados de ttulos de DVD que tm receita acima de R $ 10.000 em 2008, ou
consulte
apenas os ttulos dos filmes que mostraram um aumento de 10 por cento na receita em
relao ao
ms anterior? Estes so apenas dois exemplos onde a FILTRO funo pode
ser til. FILTRO uma funo MDX que usa dois argumentos: um conjunto e um
pesquisa condio. O primeiro exemplo traduz a declarao MDX a seguir:
SELECT [no pas]. Membros em colunas,
FILTRO (
[Ttulo]. Associados,
[Receita]> 10000
) ON ROWS
[Wcm_orders] FROM
WHERE [ano]. [2008]
456 Parte IV Inteligncia Aplicaes de Negcio
A instruo anterior inclui um filtro e um fatiador. Este ltimo assume
precedncia sobre os outros elementos, o que significa que o filtro eo conjunto de resultados
so limitadas a 2008 a fatia do cubo.
Tabela 15-1: WCM_orders_cube
DIMENSO
Data da Ordem local
HIERARQUIA
Meses
NVEL
Ano
Trimestre
Ms
Data
Ano
Semana
Data
Pas
Regio
Cidade
CEP
Nome
Gnero
Ttulo
Receita
Quantidade
RentalDuration
Data da Ordem local Semanas
Cliente
DVD
Medidas
A funo ORDEM
Se voc executar a consulta do exemplo anterior, os resultados mantm a sua natural
ordem, que est em ordem alfabtica dentro da hierarquia. Isso significa que o filme
ttulos so ordenados alfabeticamente, mas o gnero que sempre precede a ordenao.
(Mais tarde neste captulo, quando explicamos como construir o cubo, voc aprender como
para controlar a ordem de membro de dimenso na definio do cubo).
Em muitos casos, voc quer resultados ordem baseada em uma medida, por exemplo,
talvez voc queira ordenar os resultados em faturamento, de alto a baixo. Voc usa o
ORDEM funo para realizar exatamente isso. A ORDEM funo recebe trs
parmetros: o conjunto de ser ordenada, a expresso a fim de, eo tipo
ordem, o que pode levar de quatro valores possveis: ASC,DESC,BASCE BDESC. A
Bnos ltimos dois valores foras para romper as hierarquias para permitir uma total
ordem de classificao, por isso, se voc quer os resultados do exemplo anterior classificada
em
ordem decrescente, use a seguinte consulta:
SELECT [no pas]. Membros em colunas,
DESPACHO (
FILTRO ([ttulo]. Associados, [Receita]> 10000),
[Receita]
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 457
DA
ONDE
BDESC
)ON ROWS
[Wcm_orders]
[Ano]. [2008]
Agora, os resultados sero classificados com os filmes mais vendidos no topo da
da lista.
Usando TopCount e BOTTOMCOUNT
No h outro caminho para chegar aos melhores filmes (ou pior) que vendem, e que por
usando o TopCount e BOTTOMCOUNT funes. Essas funes so realmente um
abreviao para o uso do CABEA e CAUDA funes que podem ser usados para limitar um
resultado conjunto ordenado como o do exemplo anterior, mas fazer a consulta de um
muito mais simples de escrever.
A TopCount e BOTTOMCOUNT funes usam trs argumentos: um conjunto, o
nmero de membros a serem exibidos, e medida de ordem no. Aqui a consulta
que recupera os 10 melhores filmes de 2008:
SELECT [no pas]. Membros em colunas,
TopCount (
[Ttulo]. Deputados
, 10
[Receita]
) ON ROWS
[Wcm_orders] FROM
WHERE [ano]. [2008]
Combinando Dimenses: A funo Crossjoin
MDX no se limita exibio de uma dimenso para cada eixo, mas para colocar multi-
plo dimenses em um nico eixo, voc deve usar o funo. Este
funo semelhante CROSS JOIN tipo de associao no SQL simples e cria uma combi-
nao de todos os valores a partir de duas dimenses. Por exemplo, usando Crossjoin, Voc
pode colocar os dois [Cliente]. [Pas] e [DVD]. [Gnero] no mesmo eixo,
e uso [Data Local Ordem]. [Ano] e [Measures]. [Quantidade] sobre os outros:
SELECT Crossjoin (
{[Data Local Ordem]. [Ano].} Deputados
{[Measures]. [Quantidade]}
) Em colunas,
Crossjoin (
{[Cliente]. [No pas].} Deputados
{[DVD]. [Gnero].} Deputados
) ON ROWS
[Wcm_orders] FROM
Usando no vazia
Um comumente usado na construo de queries MDX No vazio. Ele fora a consulta para
retornar apenas os resultados que contm um valor. Porque altamente improvvel que todos
os
458 Parte IV Inteligncia Aplicaes de Negcio
cliente compra todos os produtos em cada dia do ano, o MDX mdia
consulta retorna uma grande quantidade de resultados vazio que voc comear a perfurar
abaixo em detalhes.
A No vazio frase pode ser colocada na frente do conjunto em qualquer consulta
dimenses. Quando um Crossjoin usado, o No vazio palavra-chave colocada em
frente, como no exemplo a seguir:
SELECT No vazio Crossjoin ({[Data Local Ordem]. [Ano].} Membros,
{[Measures]. [Quantidade]}) EM COLUNAS
Na verdade, este o comportamento padro do JPivot na plataforma Web Pentaho.
A barra de ferramentas JPivot contm um boto rotulado Suprimir linhas vazias / Colunas
que faz com que as consultas MDX gerado para incluir No vazio. Por padro, esse
recurso ativado.
Trabalhando com conjuntos e a clusula WITH
No incio deste captulo, fazemos uma breve usou o termo conjuntos e as chavetas necessrio
especific-los. Um conjunto uma coleo de membros de uma dimenso e
geralmente definida implicitamente. Por exemplo, quando voc usa [Ano]. MEMBROS em um
dos eixos, voc est usando um conjunto, porque a MEMBROS operador retorna um conjunto.
De fato, muitas das funes MDX que voc viu at agora retornar conjuntos: CRIANAS,
IRMOS,DESCENDENTESE Acumulado do ano todos se comportam assim.
O problema com essas funes que elas sempre voltam a completa
coleo de membros dentro de um nvel. s vezes, isso no conveniente para
fazer uma anlise especfica por parte apenas de uma dimenso. Usando o COM clusula,
voc pode criar seus prprios jogos para uso em consultas MDX. Suponha que voc queira
combinar alguns gneros de filme em uma CoolMovies conjunto que contm apenas alguns
dos
os gneros no banco de dados. CoolMovies no uma entidade reconhecida no seu modelo,
mas voc pode cri-la de qualquer jeito usando a seguinte sintaxe:
COM SET [o conjunto de nome] como '{definio}'
Traduzido em um exemplo CoolMovies, este se tornaria
COM
SET [CoolMovies]
AS '{[DVD]. [All DVD]. [Ao / Aventura], [vdeo]. [All DVD]. [Fantasia]
[DVD]. [Todos DVD]. [SciFi], [vdeo]. [Todos DVD]. [Suspense / Thriller]
[DVD]. [Todos DVD]. [Suspense]} '
SELECT no vazio {[CoolMovies]} em colunas,
NO Crossjoin EMPTY ([Data Local Ordem]. [Todos Ordem Local Datas]
[Cliente]. [Todos os Clientes]) ON ROWS
[Wcm_orders] FROM
WHERE [Measures]. [Quantidade]
Como voc pode ver no exemplo anterior, voc precisa usar chaves
em torno de seu conjunto nomeado quando voc us-lo no SELECT declarao, sob pena de
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 459
no reconhecido como um conjunto e um erro gerado. Observe tambm que foram
includos
a definio de membro de pleno direito nos conjuntos. Nesse caso, esse no teria sido
necessrio porque o membro [Suspense] e os outros gneros so nicos
em nosso cubo, de modo {[Ao / Aventura] [Fantasia], [fico cientfica], Suspense [/
Suspense], [] Thriller} funciona to bem.
Usando membros calculados
A ltima parte deste primer MDX abrange a criao de membros calculados. A cal-
membro calculada um membro de dimenso cujo valor calculado em tempo de execuo
usando uma expresso especificada e pode ser definida como membros de dimenso regular-
ses ou como membros da dimenso de medidas. Mondrian permite que voc
adicionar membros calculados diretamente no esquema, mas esse recurso usa stan-
Dard sintaxe MDX calculado tambm. Somente definies so armazenadas porque o
valor da expresso determinada em tempo de execuo. Como conseqncia, calculado
membros no ocupam espao em um cubo, mas que exigem poder de computao extra.
Um exemplo muito simples de um membro calculado uma pequena variao no
CoolMovies conjunto nomeado que voc j viu antes:
COM
MEMBROS [Measures]. [CoolMoviesRevenue]
AS '[Ao / Aventura] + [Fantasia] + [SciFi] + [Suspense / Thriller] + [Suspense] "
SELECT vazio {[Measures] NO. [CoolMoviesRevenue]
[Measures]. [Receita]} em colunas,
NON EMPTY {[no pas].} Deputados ON ROWS
[Wcm_orders] FROM
WHERE [ano]. [2008]
Voc tambm pode usar os membros calculados para os totais dos membros do grupo, por
exemplo
para criar uma coleo recente e histrica de anos:
COM
MEMBROS
AS
MEMBROS
AS
SELECT
[Ordem Local Data]. [Todas as datas]. [Histrico]
"SUM ([Ano] [2000]:. [Ano] [2005]). '
[Ordem Local Data]. [Todas as datas]. [Recentes]
"SUM ([Ano] [2006]:. [Ano] [2010]). '
NON EMPTY {[Ordem Local Data]. [Todas as datas]. [Histrico]
[Ordem Local Data]. [Todas as datas]. [Recentes]} em colunas,
NON EMPTY {[no pas].} Deputados ON ROWS
[Wcm_orders]
DA
Apesar de existirem inmeros outros possveis usos e exemplos de clculo
membros, isso lhe d uma idia de como voc pode us-los para ampliar o
o contedo disponvel de um cubo. Para mais informaes sobre Mondrian especficas
MDX, consulte a documentao on-line em http://mondrian.pentaho.org/
documentao / mdx.php. E porque MDX foi originalmente desenvolvido pela
460 Parte IV Inteligncia Aplicaes de Negcio
Microsoft, um nmero enorme de referncias on-line e os livros esto disponveis neste
assunto, embora muito poucos livros so dedicados a MDX sozinho.
ATENO Desde a sua criao e adoo por muitos fornecedores OLAP, Microsoft
acrescentou vrias extenses especificao MDX. Algumas funes e exemplos
pode no funcionar com Mondrian. Quando em dvida, verifique a linha Mondrian MDX
referncia em http://mondrian.pentaho.org/documentation/schema.php.
Criando esquemas Mondrian
Ns j discutimos o esquema e como se relaciona com os diferentes componentes
da Pentaho Analysis Services quando discutimos Figura 15-1. Nesta seo,
vamos mostrar como criar esquemas de Mondrian.
Embora esta seo fornece informaes detalhadas sobre a criao de Mon-
esquemas drian, no podemos cobrir todos os ngulos possveis. Para uma completa ref-
cia, voc deve consultar a documentao oficial. Voc pode encontr-lo em
http://mondrian.pentaho.org/documentation/schema.php.
Comeando com Pentaho esquema Workbench
Ns mencionamos que os esquemas de Mondrian so definidos como documentos XML e
que Pentaho esquema Workbench (PSW) oferece uma interface grfica do usurio para
editar esses esquemas. Tambm mencionou que possvel editar os esquemas
manualmente utilizando um editor XML, IDE, ou at mesmo um editor de texto simples.
Ambas as abordagens so igualmente vlidas e teis no seu prprio caminho. Para
essa razo, ns pagamos a ateno para PSW, bem como para o formato XML usado para
denotam esquemas Mondrian.
Baixando Mondrian
Mondrian mantido em seu prprio projeto de www.sourceforge.net. Voc
pode encontr-lo no site SourceForge simplesmente procurando por Mondrian. A
site do projeto Mondrian fornece os binrios e cdigo-fonte do Mondrian
motor em si, bem como Pentaho esquema Workbench eo agregado Pentaho
Designer. Por enquanto, voc precisa baixar somente Pentaho Schema Workbench.
Mais tarde, voc tambm vai ter um olhar para o designer de agregao, ento voc pode
bem baixe-o agora, tambm.
NOTA Voc no precisa fazer o download do software do motor Mondrian em si: esta
j includos no Pentaho BI Server. Voc precisa baixar o motor em si
s se voc quiser atualizar o mecanismo de Mondrian ou implantar Mondrian separadamente
sem Servidor Pentaho. No entanto, estes casos de uso esto fora do escopo deste
livro, e no so discutidos aqui.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 461
Esquema de Instalao do Pentaho Workbench
Pentaho Schema Workbench distribudo como Zip. e . Tar.gz arquivos.
Os usurios do Windows devem baixar a Zip. arquivo, e usurios de baseados em UNIX
sistema deve comear a . Tar.gz arquivo. Aps o download, voc precisar descompact
o arquivo. Isso produz um nico diretrio chamado esquema da bancada contendo todos os
o software. Ns nos referimos a este diretrio como o diretrio home PSW ou simplesmente
PSW casa. Voc deve mover o diretrio para algum lugar que faa sentido para
seu sistema. Por exemplo, usurios do Windows pode mov-la para C: \ Arquivos de Programas
e usurios do Linux pode mov-la para / Opt / ou o diretrio home do usurio atual.
Depois de desempacotar PSW, voc precisa colocar qualquer driver JDBC Jar. arquivos que
voc pode ter de ligar para o data warehouse no motoristas diretrio. Este
diretrio podem ser encontrados imediatamente abaixo do diretrio home PSW.
A partir do esquema Pentaho Workbench
Pentaho Schema Workbench iniciado com um shell script. Shell scripts para di-
diferentes plataformas esto localizadas diretamente no diretrio home PSW. No Windows
sistemas, voc precisa dar um duplo clique no workbench.bat arquivo para iniciar PSW. Em um
sistema baseado em UNIX, voc precisa iniciar o workbench.sh script. Voc pode precisar
para fazer o workbench.sh script executvel em primeiro lugar. Se voc estiver executando uma
grfica
desktop como o GNOME, voc pode fazer isso simplesmente clicando com o script
e escolha Propriedades. De l voc pode tornar o arquivo executvel. Alterna-
mente, voc pode torn-lo executvel a partir do terminal, usando o chmod comando:
chmod ug + x workbench.sh
Depois de iniciar o script, voc ver a janela do aplicativo PSW (ver
Figura 15-6).
Figura 15-6: O Pentaho esquema janela do aplicativo Workbench
462 Parte IV Inteligncia Aplicaes de Negcio
Estabelecendo uma conexo
Depois de iniciar PSW, voc deve estabelecer uma conexo com o banco de dados.
Voc pode abrir a janela de conexo com o banco atravs do menu principal
Preferncias. Alternativamente, voc pode pressionar as ferramentas
Preferenceschoosing
boto da barra, que est localizado na extremidade direita da barra de ferramentas do
aplicativo.
Uma janela aparecer onde voc pode preencher os parmetros de conexo JDBC.
O menu de contexto e de dilogo so mostrados na Figura 15-6.
Voc precisa preencher as seguintes propriedades na caixa de dilogo:
nome do driver de classe presente o nome da classe Java do driver JDBC que voc
ser utilizado. Para o MySQL, este com.mysql.jdbc.Driver.
URL de Conexo-Este o seqdeconexao usado para manter contato com o banco de
dados
servidor. Supondo que voc deseja se conectar ao wcm_dwh banco de dados em um local
MySQL instncia em execuo na porta padro 3306, A URL jdbc: mysql:
/ / Localhost: 3306/wcm_dwh.
Nome de usurio e senha A credenciais do usurio do banco de dados que
conecta ao banco de dados.
Aps o preenchimento do dilogo, voc pode clicar no boto Aceitar para estabelecer
a conexo. Se uma caixa de mensagem aparece informando que o banco de dados
conexo no pde ser estabelecida, voc deve verificar os parmetros que voc sup-
dobraram. No entanto, mesmo se voc especificou os parmetros corretos, voc ainda pode
receber uma mensagem informando que a classe driver no pode ser encontrada (ver
Figura 15-7).
Figura 15-7: A mensagem de erro indicando o driver JDBC no foi carregado
Neste caso, voc deve ter certeza que voc colocou o Jar. arquivo contendo
o driver JDBC que voc precisa no motoristas sob o diretrio home PSW
diretrio (como mencionado anteriormente, na subseo de instalao). Voc precisa
PSW reiniciar para pegar qualquer novo Jar. arquivos que voc colocou no motoristas diretrio.
NOTA Se voc no conseguir estabelecer uma conexo com o banco, voc ainda pode usar o PSW
para definir um esquema. No entanto, o processo ser um pouco mais difcil porque os recursos
tais como caixas de lista suspensa para escolher as tabelas e colunas no vai funcionar.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 463
JDBC Explorer
Depois de estabelecer a conexo, voc pode abrir uma janela do Explorer para JDBC
ver o contedo do banco de dados. Voc pode abrir o Explorer, escolhendo JDBC
File Explorer New JDBC. Isso mostrado na Figura 15-8.
Figura 15-8: Abrindo o Explorer JDBC
O Explorer JDBC consiste de uma rvore que exibe as tabelas que voc pode
acesso a partir da conexo atual como pastas. Voc pode expandir as pastas para
veja o que as colunas da tabela contm. O Explorer no oferece nenhuma funcionalidade
JDBC
alm disso. No entanto, como voc ver mais adiante, este apenas o suficiente para torn-lo
um pouco mais fcil para construir seus cubos.
Usando o editor de esquema
Os esquemas so criados e editados usando o editor do esquema. Nesta subseo,
vamos destacar brevemente algumas das caractersticas do editor do esquema.
Criando um novo esquema
Use o menu Arquivo e escolha Novo esquema para abrir o editor do esquema.
O editor do esquema tem uma rvore no lado esquerdo, mostrando o contedo da
esquema. Inicialmente, isso ser praticamente vazia, exceto para o n do esquema, que
a raiz de todo o esquema. No lado direito, o editor de esquema tem um
espao de trabalho onde voc pode editar elementos no esquema. O editor do esquema
mostrado na Figura 15-9.
464 Parte IV Inteligncia Aplicaes de Negcio
Figura 15-9: O editor do esquema
No topo do editor do esquema uma barra de ferramentas contm diversos botes. A maioria
dos
destes botes esto l para que voc possa adicionar novos itens para o esquema. Todas
essas
botes residem no lado esquerdo da barra de ferramentas, e voc vai reconhec-los por
no sinal de mais (+) sinal no cone de boto. No lado esquerdo da barra de ferramentas so
algumas
botes de Recortar, Copiar, Colar e Apagar. Voc estar usando um destes botes
muito no restante desta seo, mas se voc quiser saber mais agora
sobre esses botes, basta passar o ponteiro do mouse sobre os botes para ler as
dica.
Alm dos botes da barra de ferramentas, voc pode usar o menu de contexto do
exibio de rvore para realizar as mesmas tarefas. Simplesmente o boto direito do mouse
em qualquer n da rvore
vista. O menu de contexto ir aparecer e lhe oferecer todas as aes disponveis para
esse n particular.
Salvando o esquema em disco
Depois de criar um esquema, uma boa idia para salv-lo. Basta clicar no cone do disquete
na barra de ferramentas da janela do aplicativo e voc ser solicitado a especificar
um local. Por agora, basta escolher o nome eo local que voc encontrar
conveniente, por exemplo, Schema1.xml. Seu desktop uma escolha razovel
enquanto voc est trabalhando com este captulo.
Durante o restante deste captulo, no vamos mencionar que voc deve
salvar o seu trabalho o tempo todo. Em vez disso, voc deve decidir por si mesmo quando e
se voc deve salvar seu trabalho. Ao desenvolver um esquema, uma boa
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 465
idia de usar um sistema de controle de verso como o SVN para controlar as mudanas ou
reverter para uma verso anterior caso voc precise.
Edio de objeto Atributos
Para editar um esquema especial de itens, tais como o esquema em si, um nico clique no
item na exibio de rvore para selecion-lo. Os itens selecionados esto destacadas em
azul. Aviso
que este o caso do esquema mostrado na Figura 15-9.
A rea de trabalho automaticamente mostra os atributos disponveis para os selecionados
item em uma grade de atributos. A grade de atributos tem duas colunas: a primeira coluna
Atributo rotulado e lista os nomes de atributos, a segunda coluna rotulado
Valor e contm o valor do atributo. A grade de atributos tambm visvel na
Figura 15-9.
Para saber mais sobre um determinado atributo, passe o ponteiro do mouse sobre
o nome do atributo. Uma dica aparecer, exibindo um texto que descreve o
finalidade do atributo, bem como o valor padro para o atributo.
Para editar um valor de atributo, coloque o cursor na coluna valor da
atributos da rede e digite o valor desejado. Por exemplo, na Figura 15-9 ns
entrou World Class Filmes como o nome desse esquema.
Alterar Edit Mode
O esquema representado como um documento XML. Se voc gosta, voc pode alternar
para inspecionar a representao XML do esquema, a qualquer momento, alternando o
modo de edio. Voc pode fazer isso clicando no boto no lado direito da
barra de ferramentas (ver Figura 15-10).
Figura 15-10: Usando o modo de edio para ler a representao XML do esquema
466 Parte IV Inteligncia Aplicaes de Negcio
O XML exibida na rea de trabalho corresponde exatamente com o selecionado
item na exibio de rvore, que neste caso o prprio esquema. Como voc pode ver,
em seu estado atual a representao XML do esquema consiste somente nos
abertura e fechamento de tags <Schema> elemento.
NOTA Cuidado que a viso XML-que apenas uma viso. Voc no pode editar o XML
diretamente de dentro do PSW.
Criao e edio de um esquema bsico
Nesta subseo, vamos criar um esquema que contm o cubo como costumvamos
nos exemplos da sintaxe de consulta MDX. Antes de comear, voc pode querer
Nmeros de reviso 15-2 e 15-3, bem como a Tabela 15-1. Como dissemos em nosso
discusso da Figura 15-3, h uma analogia entre cubos e esquemas em estrela,
e para esse efeito vamos basear nosso cubo no esquema Ordens da estrela, que
foi desenvolvido no captulo 8 e mostrado na Figura 8-6.
Esquema Bsico tarefas de edio
No restante desta seo, descrevemos todas as tarefas comuns de edio de esquema
em detalhe. Antes de fazer isso, bom ter uma viso geral das diferentes tarefas
e subtarefas envolvidas, como fcil perder de vista o quadro maior.
As tarefas podem ser resumidas como segue:
Criando um esquema
Criando cubos
Escolhendo uma tabela de
fatos
Adicionando medidas
Criando (compartilhado) dimenses
Editando a hierarquia padro e escolha uma tabela de dimenso
Definio de nveis de hierarquia
Opcionalmente, a adio de mais dimenses
Associando dimenses com cubos
Criando um Cubo
Voc pode adicionar um cubo, clicando no boto Adicionar Cubo, que o primeiro boto
na barra de ferramentas. O novo cubo se torna visvel na exibio em rvore sob a
esquema como um novo n com um cone de cubo. Aps adicionar o cubo, voc pode editar
suas propriedades (ver Figura 15-11).
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 467
Figura 15-11: Criando um cubo
cubos Mondrian pode ter os seguintes atributos:
nome -Especifica o nome que ser usado em consultas MDX para se referir a
este cubo. Esse nome deve ser exclusivo dentro do esquema. Para o nosso exemplo
cubo, que deve especificar wcm_orders aqui.
legenda Especifica um nome de exibio, que ser utilizado pelo usurio
interface para apresentar o cubo para o usurio final. Neste caso foi utilizado Mundial
Filmes Vendas classe.
cache Controla se os dados da tabela de fatos devem ser armazenados em cache.
habilitado Controles de Mondrian se deve carregar ou ignorar o cubo.
H um outro atributo que no actualmente suportado por PSW:
DefaultMeasure -Opcionalmente, voc pode especificar o nome de um dos do cubo
medidas aqui fazer explicitamente que a medida padro.
Voc pode encontrar mais informaes sobre as medidas nas prximas duas subsees.
Note que, quando adicionado o wcm_orders cubo, um pouco vermelho X cone apareceu
esquerda do esquema e os cones do cubo. O cone de X vermelho indica que h
algum erro ou errada em algum lugar ou abaixo desse particular
n. Quando um problema detectado por PSW, que borbulha'',''causar qualquer
acima de ns que o n para exibir o cone de X vermelho tambm. Isso permite que voc
ver se algo est errado imediatamente. Se um cone de X vermelho exibido, algo
est errado.
Sempre que voc v esses indicadores X, voc deve procurar uma mensagem a vermelho
na parte inferior do espao de trabalho. Esta mensagem fornece uma descrio textual
do problema e, geralmente, lhe d uma boa idia sobre que parte do
esquema que voc deve olhar para corrigir o problema. Uma mensagem diferente aparece
dependendo de qual n selecionado na exibio em rvore, ento se voc quiser ver o
razo pela qual um determinado n tem um cone de X vermelho, selecion-lo primeiro.
468 Parte IV Inteligncia Aplicaes de Negcio
Escolher uma Mesa de Fato
No caso da Figura 15-11, voc pode dizer que deve haver algo de errado
com o cubo, ou algum n abaixo dele. A mensagem de erro indica um
desconfigurao da tabela de fatos a fonte do problema. O n do cubo
inicialmente recolhido, e se expandi-lo, voc vai notar que ele contm uma
n tabela. Este n da tabela representa a tabela de fatos em que o cubo
construdo. Neste caso, seu cubo deve ser baseada na fact_orders mesa,
por isso que voc definir o nome da tabela usando a caixa de lista suspensa (ver
Figura 15-12).
Figura 15-12: Escolhendo a tabela de fatos
Note-se que os pequenos cones X desaparecem aps voc digitar o nome de uma j
existente
tabela. Neste caso, o elemento da tabela foi errada, e optando por um
tabela de fatos existentes, voc resolve esse problema. Isto imediatamente faz com que o
cubo e
esquema de ns, acima da tabela n a ser fixo tambm.
O nome da tabela tudo que voc precisa para configurar para o quadro do cubo
elemento. No entanto, incluir uma descrio dos seus atributos para ser completo:
esquema -O identificador do esquema do banco de dados que contm o fato
tabela. Quando no especificado explicitamente, o esquema padro do banco de dados
conexo usada.
nome -O nome da tabela de fatos. Quando conectado a um banco de dados, o
editor de propriedade fornece uma caixa de listagem drop-down como o mostrado na
Figura 15-11, que permite a voc escolher qualquer um dos quadros do padro
esquema. Observe que esse nome o identificador do SQL-ao contrrio do nome do
o cubo, esta propriedade de nome no tem qualquer influncia sobre qualquer MDX
consultas.
alias -Este o apelido da tabela que ser usada para essa tabela quando
gerar instrues SQL. Pode ser til para especificar isso no caso de voc
deseja depurar as instrues SQL geradas por Mondrian.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 469
Adicionando Medidas
Agora que voc configurou um quadro de verdade, voc pode adicionar algumas medidas.
Para adicionar
medidas, primeiro selecione o cubo (ou de sua tabela de verdade) na exibio em rvore. Em
seguida, clique no
Medida boto Adicionar da barra de ferramentas. A partir da esquerda, este o primeiro boto
com
o cone de rgua e no sinal de mais. Alternativamente, voc pode boto direito do mouse o
cubo e
escolha a opo Adicionar Medida a partir do menu de contexto (ver Figura 15-13).
Figura 15-13: Adicionando as medidas da tabela de fatos do cubo
Por enquanto vamos ficar perto do desenho da tabela de fatos e adicione o
Receitas, Quantidade e Durao medidas de arrendamento. Estes correspondem diretamente
ao quantidade,receitasE rental_duration colunas na fact_orders
tabela.
A ordem em que voc especificar as medidas significativa: implicitamente, o
primeira medida no cubo considerado a medida padro. Se voc gosta, voc pode
substituir esse especificando explicitamente o nome da medida padro na
DefaultMeasure atributo do cubo. Atualmente, esse atributo no suportado
por PSW, e voc ter que editar manualmente o esquema XML e modificar o
tag cubo de abertura para incluir uma DefaultMeasure atributo da seguinte forma:
<Cube DefaultMeasure="Quantity" ...>
...
</ Cube>
As medidas se podem ter os seguintes atributos:
nome -O identificador que ser usado para se referir a esta medida em MDX
consultas. Este deve ser exclusivo dentro do cubo.
agregador -O nome da funo que usada para agregar os
medida. A grade atributo oferece uma caixa de listagem drop-down de onde voc
pode escolher um dos soma,contagem,min,max,avgE distinta da contagem. Para o
Receita medidas e quantidade, voc deve escolher o soma agregador.
Para medir a durao do arrendamento, o avg agregador a mais til
escolha.
470 Parte IV Inteligncia Aplicaes de Negcio
coluna -O nome de uma coluna da tabela do cubo fato. Ao con-
conectado ao banco de dados, o editor de atributos oferece uma caixa de listagem drop-
down
a partir do qual voc pode escolher a coluna.
formatString -Aqui voc pode especificar o nome do formato predefinido
Moeda ou um padro de seqncia de caracteres que especifica como o valor da medida
ser
formatada para exibio. seqncias de formato so discutidos em mais detalhes
posteriormente
nesta seo.
visvel -Um sinalizador que especifica se a medida exibida para o
usurio final na interface do usurio.
datatype -Aqui voc pode usar uma caixa de listagem drop-down para escolher String,
Numricos,Inteiro,Boolean,Data,TimeOu Timestamp. Ao retornar
dados, o tipo de dados especificado ser usado para retornar dados do resultado da
MDX.
formatador -Voc pode usar esse atributo para especificar um personalizado para-
matria. formatadores de clula personalizado deve implementar a interface Java
mondrian.olap.CellFormatter.
legenda -Especifica o nome de exibio que usado para apresentar esta medida
na interface do usurio. Se voc deixar este campo em branco, o nome da medida
apresentado em seu lugar.
Adicionando dimenses
Os esquemas de Mondrian pode conter dimenses em dois locais:
Dentro do cubo que possui''''a dimenso-Estes dimenses so
chamada dimenso privada, porque eles so conhecidos apenas para o cubo que
ela contm e no pode ser usado fora do cubo envolvente.
Dentro do prprio esquema-Estes so dimenses compartilhadas e pode ser
vezes associado com vrios cubos, e / ou mltiplos com a mesma
cubo. dimenses compartilhados so excelentes para a execuo do role-playing
dimenses.
Geralmente, recomendamos que voc use sempre dimenses compartilhadas ao invs de
dimenses particulares. Embora o processo de criao privada e compartilhada
dimenses semelhante, a capacidade de reutilizao compartilhada dimenses fornece uma
benefcio considervel, mesmo no curto prazo.
Para criar uma dimenso compartilhada, primeiro selecione o esquema. (Para criar uma
empresa privada
dimenso, selecione o cubo que ir conter a dimenso vez.) Em seguida, clique
o boto Adicionar dimenso na barra de ferramentas do editor do esquema. Este boto
segundo boto na barra de ferramentas, ao lado do boto Adicionar cubo.
Voc pode definir os seguintes atributos de dimenses:
nome -Para as dimenses particulares, o nome se refere a esta dimenso em MDX
consultas. Para obter as dimenses compartilhadas, o nome se refere dimenso
quando
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 471
voc est associando-a com um cubo. Para dimenses particulares, o nome do
deve ser nico entre todas as outras dimenses utilizadas pelo cubo. Para compartilhada
dimenses, o nome deve ser exclusivo dentro do esquema. O compartilhada
dimenso mostrado na Figura 15-14 usa data como o nome.
foreignKey -Se esta uma dimenso particular, este o nome de um col-
umn da mesa do cubo que se refere tabela de dimenso que
corresponde a esta dimenso.
tipo Se a sua dimenso hora ou data relacionada, voc deve usar
TimeDimension. Isso permite que voc use o tempo padro e MDX
funes de data. Caso contrrio, use StandardDimension.
usagePrefix -Isso se aplica apenas s dimenses privadas.
legenda -Este um nome de exibio usado para apresentar essa dimenso ao
usurio final atravs da interface do
usurio.
Figura 15-14 mostra como adicionar uma dimenso compartilhada chamada Data neste
maneira.
Figura 15-14: Adicionando uma dimenso compartilhada Data
Adicionando a dimenso faz com que X vermelho cones para aparecer novamente. O erro
mensagem na parte inferior do espao de trabalho indica que h algo errado
com uma hierarquia, assim que adicionar e hierarquias edio o tema do prximo
subseo.
Adicionando e hierarquias Editar e escolha de tabelas de dimenso
Quando voc cria uma dimenso, uma nova hierarquia tambm criado. Voc pode
v-lo quando voc expandir o n dimenso. Alm disso, o n de uma tabela
automaticamente criado sob o n de hierarquia. Antes de editar o
n de hierarquia, melhor para configurar o n da tabela subjacente.
O n da tabela representa a tabela de dimenso que ir entregar os valores
para os nveis da hierarquia. O procedimento para configurar o quadro exatamente o
o mesmo que o processo de escolha de uma tabela de fatos de um cubo, que foi
472 Parte IV Inteligncia Aplicaes de Negcio
descrito anteriormente nesta seo. Para a dimenso de data criada no ano anterior
subseo, voc tem que escolher o dim_date_en_us Dimenso da tabela.
Depois de escolher a tabela de dimenso, voc pode configurar a prpria hierarquia.
Hierarquias de apoio os seguintes atributos:
nome -O nome usado em consultas MDX para se referir hierarquia. Deve
ser nico dentro da dimenso. Omitir o nome faz com que a hierarquia
para obter o mesmo nome de sua dimenso. Alm disso, esta hierarquia o
padro de hierarquia.
legenda -O nome que utilizado para apresentar essa hierarquia para o usurio final
na interface do usurio.
hasAll -Um indicador que indica se a hierarquia deve ter um todo
nvel com um membro de tudo, por exemplo, um nico membro na parte superior da
hierarquia que representa todos os outros membros. Normalmente voc deve deixar
isto.
AllMemberName -Se hasAll estiver ativado, este parmetro especifica o identificador MDX
que est a ser utilizado para todos os membros. Quando este for omitido, a todos os
membros
nome derivado automaticamente como Todos <nome da hierarquia>.
allMemberCaption -Se hasAll estiver ativada, voc pode usar isto para especificar o
nome que ser utilizado para apresentar a todos os membros para o usurio final na
interface do usurio.
allLevelName -O nome usado para se referir ao nvel de todas as consultas MDX.
DefaultMember -O nome do membro padro. Se isso no for especificado,
em seguida, a todos os membros sero utilizados como membro padro se a hierarquia
tem um
Todos os membros. Isso geralmente exatamente o comportamento desejado. Quando
especificado,
esse membro ser utilizado quando um membro esperado, mas no explicitamente
especificados na consulta MDX. Se o membro padro no especificado eo
hasAll Bandeira desativado, o primeiro membro do primeiro nvel na hierarquia
ser utilizado como membro padro.
memberReaderClass -Nome de uma classe personalizada membro leitor. Este especi-
cados classe deve implementar mondrian.rolap.MemberReader. Normalmente voc
no especificar um leitor de membro do cliente, mas vamos ler o Mondrian
membros do RDBMS acordo com os mapeamentos do esquema do banco de dados.
Configurar esta opo um recurso avanado que est alm do escopo
este livro.
primaryKeyTable -Pode ser usado para especificar o nome da tabela da
que esta hierarquia consultas seus membros. Se no for especificado, os membros so
consultado a partir da tabela da hierarquia. Voc normalmente pode deixar em branco se
voc est criando um cubo em cima de um esquema em estrela como neste exemplo. A
flexibilidade para especificar um nome de tabela aqui necessria quando se lida com
esquemas floco floco de neve ou dimenses.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 473
primaryKey -Normalmente, voc deve usar isso para especificar o nome do
coluna de chave primria da tabela esta hierarquia de dimenso. Para ser exato: esta
o nome da coluna da tabela de dimenso que est referenciado pelas linhas
na tabela de fatos. Esta deve ser uma coluna na dimenso desta hierarquia de
tabela.
Para configurar a primeira hierarquia da dimenso Data, voc precisa especificar
as seguintes propriedades:
nome -Isso deve ser meses, de acordo com os homens de design de cubo
citadas na Tabela 15-1.
hasAll -Esse deve ser ativado.
primaryKey -Isso deve ser definido para date_key, Que a chave primria
da dim_date_en_us tabela de dimenso, que configurado para este
hierarquia.
O projeto para essa hierarquia mostrado na Figura 15-15.
Figura 15-15: O desenho da hierarquia Meses da dimenso Data
De acordo com o design do cubo mostrado na Tabela 15-1, voc tambm deve
adicionar uma hierarquia semanas. Para adicionar a segunda hierarquia, voc pode selecionar
o n de dimenso de data e clique no boto Adicionar na hierarquia
barra de ferramentas ou boto direito do mouse o n de dimenso de data e escolher a
hierarquia Adicionar
opo no menu de contexto. Como voc viu na edio da hierarquia Meses,
a hierarquia Semanas novo j contm um n de tabela. Voc pode configurar a
n tabela exatamente como voc configurou a hierarquia meses, e apont-lo para
o dim_date_en_us Dimenso da tabela. Por ltimo, os atributos de configurao para
a hierarquia semanas deve ser idntico ao da hierarquia Meses,
exceto que o valor da sua nome atributo deve ser semanas, e no
Meses.
474 Parte IV Inteligncia Aplicaes de Negcio
Adio de nveis de hierarquia
Agora que voc criou as hierarquias, voc deve definir seus nveis. Voc pode
adicionar um nvel a uma hierarquia existente ou selecionando-o e clicando em
Nvel boto Add na barra de ferramentas ou clicando com a hierarquia e
escolhendo a opo Adicionar menu Nvel. Depois de adicionar um nvel, voc pode editar o
seguintes atributos:
nome -O nome que usado para se referir a este nvel em consultas MDX.
tabela -O nome da tabela que contm as colunas onde o
dados de dimenso armazenada para este nvel. Quando no especificado, da
hierarquia
tabela de dimenso ser utilizado. Esta a situao normal para esquemas em estrela
como o usado neste exemplo. Voc precisa especificar uma tabela especfica
s quando se trata de esquemas floco de neve.
coluna -O nome da coluna que representa o identificador de membro
para este nvel. Esta deve corresponder mesa este nvel (veja a tabela
atributo).
NameColumn -O nome da coluna que contm o nome deste nvel.
Quando no especificado, o valor do nome propriedade usada. Normalmente voc
deve deixar este campo em
branco.
parentColumn -Isso se aplica somente a tipos especiais de hierarquias chamado
pai-filho hierarquias. Normalmente voc deixar este campo em branco, mas se voc est
lidando com uma hierarquia pai-filho, voc usa esse atributo para especificar o
coluna que faz referncia a membros do pai.
nullParentValue -Quando se tratar de uma relao pai-filho, voc
pode usar esse atributo para especificar que valor indica o membro pai
no existe. Deixe em branco quando no lidar com pais e filhos
hierarquias.
ordinalColumn -Esse atributo pode ser usado para especificar qual coluna
define como os valores dos membros devem ser separados por padro. Voc deve
especificar esta sempre a ordem de classificao natural dos prprios membros
no cabe a ordem de classificao desejada. Se a ordem de classificao natural da
membros tambm a ordem de classificao desejada, voc pode deixar este campo
em branco.
s vezes, voc ainda pode especificar uma coluna aqui se o ordinalColumn tem
um tipo de dados mais adequada para classificar a coluna que fornece o
valores de membro.
tipo -O tipo de dados dos valores membro. Isto usado para controlar se e
como os valores devem ser citados na gerao de SQL a partir de consultas MDX.
uniqueMembers -A bandeira que indica se todos os membros a este nvel
ter valores nicos. Isto sempre verdadeiro para o primeiro nvel (no contando
o nvel de todos) de qualquer hierarquia. Se voc sabe que verdade para qualquer um
dos
nveis subseqentes, voc pode especific-lo l tambm, e isso pode permitir que
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 475
Mondrian para gerar consultas SQL mais eficiente. No permitir que isso se
voc no est 100 por cento se os valores so nicos, pois pode causar
resultados incorretos para ser devolvido.
levelType -Se voc deixar este campo em branco, ser assumido este um regular
nvel, que o valor correto para a maioria das dimenses. Dimenses que
foram configurados para ser do tipo TimeDimension deve especificar um dos
tipos pr-definidos para os nveis TimeDimension: TimeYears, TimeQuarters,
TimeMonths, TimeWeeks e TimeDays. Para TimeDimensions, espe-
tificar os levelType um pr-requisito para o uso correto do Mondrian
Data / Hora funes como acumulado do ano.
HideMemberIf -Isso determina os casos em que um membro deve ser
oculto. Normalmente, voc pode deixar este campo em branco, que equivalente
configurao
o valor para Nunca. Neste caso, o membro sempre mostrado.
approxRowCount -O nmero estimado de membros a este nvel. Spec-
ifying uma boa estimativa para este atributo pode permitir Mondrian fazer
melhores decises sobre a forma de consulta e / ou o cache de dados, que podem
melhorar o desempenho.
legenda -O nome que ser utilizado para apresentar a este nvel para o usurio
a interface do usurio. Quando no especificado, o nome do nvel ser usado.
captionColumn -Aqui voc pode especificar quais colunas de dimenso ao nvel do-
tabela Comisso dever ser usado para apresentar os membros para o usurio final.
Quando
no especificado, o identificador de membro ser utilizado. (Veja o atributo de coluna
Para obter mais informaes sobre este assunto.)
formatador -Isso pode ser usado para especificar um formatador de costume, bem como
j discutimos as medidas.
Agora que ns discutimos os atributos possveis dos nveis, que realmente pode
adicion-los. Tabelas 15-2 e 15-3 mostra os nveis que voc precisa para criar para o
Meses e hierarquias semanas, respectivamente, e como voc deve configurar
seus atributos.
Tabela 15-2: Os nveis da hierarquia Meses
NOME
Ano
Trimestre
Ms
Dia
LEVELTYPE
TimeYears
TimeQuarters
TimeMonths
TimeDays
COLUNA
ano4
trimestre
_number
Ms
_number
day_in
_month
trimestre
_name
Ms
_abbreviation
CAPTIONCOLUMN UNIQUEMEMBERS
habilitado
deficientes
deficientes
deficientes
476 Parte IV Inteligncia Aplicaes de Negcio
Tabela 15-3 Os nveis da hierarquia Semanas
COLUNA LEVELTYPE NOME
Ano
Semana
Dia
TimeDays
TimeWeeks
TimeDays
ano4
week_in_year
day_in_week
CAPTIONCOLUMN UNIQUEMEMBERS
habilitado
deficientes
day_abbreviation deficientes
O resultado deve ser algo como a Figura 15-16.
Figura 15-16: Nveis para os meses e hierarquias Semanas
Associando Cubos com Dimenses compartilhadas
Nas sees anteriores, voc construiu uma compartilhado dimenso Data. Antes de usar
que, no wcm_orders cubo, voc precisa se associar a dimenso eo cubo.
Em esquemas de Mondrian, a associao entre um cubo e uma dimenso compartilhada
chamado de dimenso de uso. Para adicionar uma dimenso de uso, selecione o cubo
e clique no boto Adicionar utilizao Dimension na barra de ferramentas, ou clique com o
boto
cubo e escolher a opo de adicionar a dimenso de uso do menu de contexto.
Voc pode editar os seguintes atributos para um uso dimenso:
nome -O nome que ser usado para se referir dimenso em MDX
consultas. Esse nome no precisa ser idntico ao nome do compartilhadas
dimenso prpria. Em vez disso, voc deve fornecer um nome (ou um apelido, se
preferir)
que reflete o propsito especfico da dimenso em relao ao cubo.
A capacidade de fornecer um nome especfico, nico cada vez que voc usar um
compartilhado
dimenso efetivamente um caso de execuo dimenses role-playing.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 477
foreignKey -O nome da coluna na tabela do cubo que ref-
erences a chave primria da tabela de dimenso. Lembre-se que voc tinha que
especificar a coluna de chave primria da tabela de dimenso como a primaryKey
atributo das hierarquias; bem, esta a contrapartida, definindo o fato
final da tabela do relacionamento.
fonte -Este o nome da dimenso compartilhada.
nvel -Aqui voc pode especificar um nome de nvel da dimenso compartilhada que
sero unidos contra a tabela de fatos do cubo. Para esquemas estrela, que deve
normalmente ser deixado em branco.
legenda -O nome usado para apresentar a dimenso para o usurio final
pela interface do usurio. Se deixado em branco, o valor da nome atributo
ser usado.
No caso da dimenso Data, voc precisa configurar o uso da dimenso
como se segue:
nome -Aqui voc deve especificar a data da ordem local. A date_dimension
mesa sobre a qual basear a dimenso de data no esquema podem desempenhar um
nmero de papis em relao ao fact_orders mesa sobre a qual voc
base do cubo. Por agora, limitar a data da ordem local, que se reflecte
no nome.
foreignKey -Aqui voc deve especificar o local_order_date_key coluna
da fact_orders tabela de acordo com o papel desempenhado pela Data
dimenso.
fonte -Aqui voc deve especificar a data, que o nome que identifica
sua dimenso no esquema.
O resultado mostrado na Figura 15-17.
Figura 15-17: O uso da dimenso associando o cubo com a dimenso de data como
Data da Ordem local
478 Parte IV Inteligncia Aplicaes de Negcio
Adicionando as Dimenses e DVD ao Cliente
Para completar o esquema, voc precisa adicionar uma dimenso compartilhada para o DVD
e
dimenses do cliente e associ-las com a wcm_orders cubo. At agora,
voc deve ser capaz de completar estes passos em seu prprio pas. Para resumir, voc
deve repetir os passos seguintes para ambas as dimenses:
Adicionar e editar uma dimenso.
Escolha uma tabela de dimenso.
Edite a hierarquia.
Adicionar e editar os nveis de hierarquia.
o cubo associado com a dimenso.
Em comparao com a adio da dimenso Data, acrescentando que o DVD eo Cliente
dimenses envolve algumas pequenas diferenas que realmente simplificar as coisas:
O DVD e as dimenses do cliente ter apenas uma hierarquia, em vez
de dois.
Como essas dimenses s tm uma hierarquia, voc deve sair em branco
o nome atributo de suas respectivas hierarquias.
Sua tipo atributo da dimenso deve especificar StandardDimension
(O padro) ao invs de TimeDimension.
Da mesma forma, porque os nveis tambm so normais, voc no deve especificar o
seu
levelType atributo.
Para completar, a lista a seguir fornece uma viso geral da configu-
rao da dimenso do DVD e sua associao com o wcm_orders cubo:
nome: DVD
tipo: StandardDimension
Dimenso da tabela:
nome:dim_dvd_release
Hierarquia:
hasAll:verdade
primaryKey:dvd_release_key
Nvel de Gnero:
nome: Gnero
coluna:dvd_release_genre
uniqueMembers:verdade
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 479
Nvel Ttulo:
nome: Gnero
coluna:dvd_release_genre
uniqueMembers:falsa
Uso da Dimenso:
nome: DVD
foreignKey:dvd_release_key
fonte: DVD
A lista a seguir fornece uma viso geral da configurao do Cliente
dimenso e sua associao com o wcm_orders cubo:
nome: Cliente
tipo: StandardDimension
Dimenso da tabela:
nome:dim_customer
Hierarquia:
hasAll:verdade
primaryKey:customer_key
Nvel nacional:
nome: Pas
coluna:customer_country_code
uniqueMembers:verdade
captionColumn:customer_country_name
Nvel Regio:
nomeRegio:
coluna:customer_region_code
uniqueMembers:verdade
captionColumn:customer_region_name
Nvel da cidade:
nome: Cidade
coluna:customer_city_name
Cdigo Postal:
nome: Cdigo Postal
coluna:customer_postal_code
480 Parte IV Inteligncia Aplicaes de Negcio
Nome:
nomeNome:
coluna:customer_id
captionColumn:customer_last_name
Uso da Dimenso:
nome: Cliente
foreignKey:customer_key
fonte: Cliente
XML Listagem
Para completar, incluir a fonte XML do esquema Mondrian aqui
como listagem 15-1. Fizemos alguns (insignificante) mudanas para tornar o cdigo mais
compacta. Voc pode usar isso para comparao com seu prprio esquema:
Listagem 15-1: XML de origem do esquema de Mondrian
Esquema_nome name="World Classe Movies">
<Dimension Type="TimeDimension" name="Date">
<Hierarchy Name="Months" hasAll="true" primaryKey="date_key">
<table Name="dim_date_en_us"/>
<Nome Nvel = "Ano" coluna = "ano4" uniqueMembers = "true"
levelType = "TimeYears" />
<Nome Nvel = "Bairro" coluna = "quarter_number" uniqueMembers = "false"
levelType = "TimeQuarters" captionColumn = "quarter_name" />
<Nome Nvel = "Ms" coluna = "month_number" uniqueMembers = "false"
levelType = "TimeMonths" captionColumn = "month_abbreviation" />
<Nome Nvel = "Dia" coluna = "day_in_month" uniqueMembers = "false"
levelType = "TimeDays" />
</ Hierarquia>
<Hierarchy Name="Weeks" hasAll="true" primaryKey="date_key">
<table Name="dim_date_en_us" schema="" alias=""/>
<Nome Nvel = "Ano" coluna = "ano4" uniqueMembers = "true"
levelType = "TimeYears" />
<Nome Nvel = "Semana" coluna = "week_in_year" uniqueMembers = "false"
levelType = "TimeWeeks" />
<Nome Nvel = "Dia" coluna = "day_in_week" uniqueMembers = "false"
levelType = "TimeDays" captionColumn = "day_abbreviation" />
</ Hierarquia>
</ Dimension>
<Dimension Type="StandardDimension" name="DVD">
<Hierarchy HasAll="true" primaryKey="dvd_release_key">
<table Name="dim_dvd_release" schema="" alias=""/>
<Level Name="Genre" column="dvd_release_genre" uniqueMembers="true"/>
<Level Name="title" column="dvd_release_title" uniqueMembers="false"/>
</ Hierarquia>
</ Dimension>
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 481
<Dimension Type="StandardDimension" name="Customer">
<Hierarchy HasAll="true" primaryKey="customer_key">
<table Name="dim_customer" schema="" alias=""/>
<Nome Nvel = "Pas" coluna = "customer_country_code" uniqueMembers = "true"
captionColumn = "customer_country_name" />
<Nome Nvel = "Regio" coluna = "customer_region_code" uniqueMembers = "true"
captionColumn = "customer_region_name" />
<Level Name="City" column="customer_city_name" uniqueMembers="false"/>
<Nome Nvel = "Cdigo Postal" coluna = "customer_postal_code"
uniqueMembers = "false" />
<Nome = Nvel coluna "Nome" = "customer_id" uniqueMembers = "false"
captionColumn = "customer_last_name" />
</ Hierarquia>
</ Dimension>
<Nome do Cubo = "wcm_orders" caption = "World Class Vendas Filmes" cache = "true"
enabled => "true"
<table Name="fact_orders"/>
<Fonte DimensionUsage = "Data" name = "Local Ordem Data"
foreignKey = "local_order_date_key" />
<DimensionUsage Source="DVD" name="DVD" foreignKey="dvd_release_key"/>
<DimensionUsage Source="Customer" name="Customer" foreignKey="customer_key"/>
<Nome da Medida = "Receita" coluna = "receita" formatString = "Moeda"
agregador = "soma" visible = "true" />
<Nome da Medida = "Quantidade", coluna = "quantidade"
agregador = "soma" visible = "true" />
<Nome da Medida = "Aluguer de Durao" coluna = "rental_duration" formatString = "# .00"
agregador = "avg" visible = "true" />
</ Cube>
</ Schema>
Testes e Implantao
Agora que voc criou o esquema, voc est quase pronto para us-lo. Voc deve
publicar o cubo para o Pentaho BI Server antes que voc possa us-lo para construir OLAP
aplicaes. Mas antes de implant-lo, voc pode querer fazer alguma preliminar
primeiro teste.
Usando a ferramenta de consulta MDX
PSW inclui uma ferramenta de consulta bsica MDX. Esta no adequado como um usurio
final
ferramenta de relatrios, mas bastante til para testar se o seu cubo funcional.
Voc tambm pode us-lo como uma ajuda no desenvolvimento de consultas MDX para uso
direto na sua
solues OLAP.
Voc pode chamar a ferramenta de consulta MDX a partir do menu principal: File
Nova MDX. O editor MDX aparece em sua prpria janela. Se acontecer de voc
tem um editor do esquema aberto, a ferramenta de consulta MDX tenta conectar-se a
banco de dados subjacente, bem como carregar a definio do esquema.
Isso mostrado na Figura 15-18.
482 Parte IV Inteligncia Aplicaes de Negcio
Figura 15-18: A ferramenta de consulta MDX
A ferramenta de consulta MDX tem um painel superior e um painel inferior. Voc pode entrar
Consultas MDX no painel superior. A consulta MDX executada quando voc clica
Execute o boto que aparece na parte inferior da ferramenta de consulta MDX. A
resultados so mostrados na parte inferior do painel.
Agora voc pode experimentar algumas das consultas MDX discutido anteriormente neste
captulo.
Publicando o Cubo de
Quando estiver satisfeito com o design do cubo, voc pode publicar o cubo para a
Pentaho BI Server. Para chamar a publicar dilogo, verifique se voc tem um esquema
aberto no editor do esquema. Ative a janela do editor do esquema. Em seguida, escolha
Publicar no menu principal, ea caixa de dilogo aparece, como mostrado infile
Figura 15-19.
Para a URL, especifique o endereo web do Pentaho BI Server para o qual
voc deseja publicar o esquema. Voc deve usar a senha do editor que
especificado no servidor da publisher_config.xml arquivo. Para o usurio e
senha, especifique as credenciais de qualquer usurio que tem o privilgio de publicar.
Quando voc confirmar a caixa de dilogo, uma conexo feita com a soluo
repositrio, o que pode levar algum tempo. Se a conexo for bem sucedida, uma caixa de
dilogo
Parece que lhe permite ver a soluo de servidor de repositrio. Escolha o
caminho adequado, por exemplo, / WCM / Anlise.
Na parte inferior da janela, voc pode especificar quais dados do servidor JNDI
fontes para usar no lado do servidor para executar as consultas SQL. Se voc ativar o
caixa de seleo Registrar XMLA Datasource, o esquema registrado como um OLAP
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 483
fonte de dados no servidor. Isso permite que a interface de usurio para exibir uma lista de
esquemas.
Figura 15-19: Publicar um esquema para a soluo de repositrio
Tpicos Design esquema ns no cobrimos
Nas subsees anteriores, voc aprendeu a construir uma base Mondrian
esquema e cubo. Embora ns cobrimos um lote de terreno, a este respeito, h
muitos temas que ns no cobrimos. Aqui est uma lista parcial:
Calculado-membros Mondrian cubos podem conter definies de calcu-
membros lada.
Funes e controle de acesso de esquema e elementos do cubo pode ser associado
com papis de conceder apenas determinados grupos de usurios acesso a particular
elementos do cubo.
Trabalhando com dimenses snowflaked-nos baseado inteiramente nosso exemplo
em um esquema em estrela simples, usando apenas um-para-um entre
cada tabela de dimenso ea sua respectiva dimenso do cubo. Mas Mondrian
capaz de muito mais mapeamentos avanados que permitem que voc crie cubos
em esquemas floco de neve.
A formatao condicional-nos brevemente discutida a formatao de strings, mas por-
esteiras pode realmente ser especificado como frmulas que retornam uma marcao
especial
que pode ser processado pela interface do usurio. Isso permite que voc faa as coisas
tais como medidas de exibir em cores diferentes, dependendo de seu valor.
484 Parte IV Inteligncia Aplicaes de Negcio
Internacionalizao-Muitos dos atributos de elementos do esquema podem ser
dado um valor varivel, dependente de localidade do formulrio %% Propertyname.
Os valores reais para essas propriedades podem ser definidas em separado
propriedades. arquivo. Isso pode ser usado para implementar internacionalizado OLAP
aplicativos usando o adequado propriedades. arquivo para uma determinada localidade.
Voc pode, por exemplo, usar isso para escolher entre o Ingls eo Francs
tabela de dimenso de data, como discutido nos captulos anteriores ..
Funes definidas pelo usurio-Voc pode criar sua prpria funo como Java
classes e importar estes no seu esquema.
Se voc est interessado nestas funcionalidades, consulte o Mondrian original
documentao em mondrian.pentaho.org.
Visualizando Cubos Mondrian com JPivot
Aps a publicao do cubo para a soluo Pentaho repositrio pode ser usado
para construir aplicaes de anlise. Nesta seo, voc vai aprender a criar dinmicas
tabelas dinmicas para procurar e analisar cubos Mondrian. Atravs destes piv
tabelas, os utilizadores empresariais podem perfurar para cima e para baixo, e cortar e cortar
os dados.
Introduo vista da anlise
O usurio do console do Pentaho BI Server oferece a possibilidade de criar uma
anlise de vista, que essencialmente uma mesa JPivot cruz no topo de um Mondrian
cubo, envolvido em um processo de ao Pentaho. Para criar uma viso nova anlise,
clique no cone da viso de anlise na barra de ferramentas ou na pgina inicial do espao de
trabalho.
Voc ser solicitado a escolher um esquema, e dentro do esquema, um cubo. Este
mostrado na Figura 15-20.
Depois de escolher o esquema e cubo e confirmar a caixa de dilogo, uma tabela dinmica
aparece. Inicialmente, os membros padro de todas as dimenses so exibidas
no eixo vertical, ea medida padro exibido no eixo horizontal.
Lembre-se que, normalmente, o membro padro o membro mais, assim que o resultado
uma tabela com um nico valor no mais alto nvel de agregao possvel. Esta
mostrados na Figura 15-21.
Se voc gosta, voc pode salvar a viso de anlise para uso posterior clicando em um dos
o disquete cones na barra de ferramentas do Usurio Pentaho Console. Voc ser
solicitado a fornecer um local dentro do repositrio, bem como um nome.
No restante desta seo, discutiremos os mtodos que permitem obter
radicalmente diferentes vises sobre os dados na vista de anlise. Ao salvar o
tabela dinmica, o estado da tabela tambm ser salvo, permitindo-lhe obter um
viso especfica sobre os dados que voc est interessado pol Se voc v algo que voc
gosta,
salv-lo usando um novo nome.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 485
Figura 15-20: Criao de uma viso de anlise
Figura 15-21: A tabela dinmica padro
Usando a Barra de Ferramentas JPivot
Alm da tabela dinmica, JPivot fornece uma barra de ferramentas na parte superior da
pgina.
Nesta barra voc encontrar uma srie de aes interessantes. A barra de ferramentas
mostrados na Figura 15-22.
Figura 15-22: barra de ferramentas do JPivot
Discutimos alguns dos botes da barra nas sees seguintes.
486 Parte IV Inteligncia Aplicaes de Negcio
Perfurao
Uma das grandes caractersticas de uma tabela dinmica que ela interativa e dinmica.
Uma caracterstica tpica, a este respeito a sua perfurao funcionalidade. A perfurao
essencialmente
uma forma de navegao de dados onde o usurio navega de um nvel de agregao
para outro. Apoio navegao de dados provavelmente a razo mais importante
para exigir uma organizao hierarquizada em nveis de dimenses.
Na Figura 15-21, voc pode ter notado o pouco +cones do todos os membros
das dimenses. Clicando em um cone de adio expande o membro, revelando
os membros do prximo nvel (o que representa um menor nvel de agregao).
Ao mesmo tempo, as medidas so re-agregada para se ajustar ao nvel do conjunto de novas
dos membros revelado. Este tipo de ao conhecida como perfurao para baixo,
como voc est navegando a partir do atual nvel de agregao de um membro
um menor nvel de agregao aplicveis aos membros do seu filho. Por exemplo, se
voc toma a dimenso de data na tabela dinmica mostrado na Figura 15-21 e broca
descer um nvel a partir do membro Datas Todos ao nvel do ano, revelando a
Ano membro individual, voc teria algo parecido com a Figura 15-23.
Figura 15-23: Perfurao para baixo de todo o ano
Perfurao Sabores
H uma srie de maneiras diferentes ao de um usurio de perfurao pode resultar em um
resultado de perfurao em particular. Os mtodos so:
Broca-Membros
Broca posio
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 487
Substituir Drill
Perfurar
O mtodo de perfurao controlado atravs dos botes da barra de ferramentas mostrada
na
Figura 15-24.
Figura 15-24: A barra de botes mtodo de perfurao
Os trs primeiros mtodos so aplicveis s dimenses. Voc pode usar apenas uma
destes mtodos ao mesmo tempo. O quarto mtodo aplicvel s medidas. Pode ser
ativado de forma independente dos outros trs mtodos.
Broca-Membros e posio da broca
Por padro, usa o JPivot broca membro aco. Com esta ao, a perfurao de
um exemplo de um membro tambm aplicado a todas as outras instncias desse membro.
Esse comportamento ativado, alternando o primeiro da barra de ferramentas do mtodo de
perfurao
botes.
Para ver broca membro em ao, verifique se este boto da barra de ferramentas
alternado.
Agora, suponha que voc comear a perfurar na tabela mostrada na Figura 15-23 no All
Clientes membro do ano 2000. A ao da broca ser aplicada a
todas as outras ocorrncias de todos os clientes, eo resultado seria algo
como a Figura 15-25.
Figura 15-25: Broca membros sobre todos os clientes de 2000 tambm ir expandir os clientes todos
membro para todos os outros anos
488 Parte IV Inteligncia Aplicaes de Negcio
Como voc pode ver na Figura 15-25, a perfurao para baixo para todos os clientes do ano
2000 revela os membros Cliente no prximo nvel para todos os anos, no apenas os
ano de 2000.
O sabor da broca segunda broca posio. Isso pode ser habilitado, alternando o
segundo a perfurao botes da barra de ferramentas do mtodo. Neste caso, a perfurao
ocorre
diretamente na instncia membro e no aplicada a quaisquer outras instncias
desse membro. Se voc usar esse mtodo para detalhar a Clientes Todos
membro durante o ano de 2000, a tabela mostrada na Figura 15-23, apenas a
membros inferiores dos clientes do ano 2000 so revelados, e eles
permanecer oculto para todos os outros anos.
Substituir Drill
Com o broca substituir mtodo, o membro passa a ter perfurado com a broca
resultado. Voc pode habilitar este mtodo, alternando a barra de ferramentas terceiro mtodo
de perfurao, mas,
ton. Por exemplo, suponha que voc tenha uma tabela como a mostrada na Figura 15-21.
Se voc usou broca em substituir o membro clientes, o resultado seria
como a Figura 15-26.
Figura 15-26: Broca substituir remove o membro perfurados com o resultado da broca
Como voc pode ver na Figura 15-26, o membro Todos os clientes que j se foi. Em vez
voc v os membros no novo nvel.
Perfurar
Considerando que todos os mtodos de perfurao discutido anteriormente aplicveis s
dimenses,
perfurar se aplica s medidas. Uma broca atravs de ao recupera o detalhe
linhas (linhas da tabela verdade) correspondente soma medida enrolado
valor, apresentando os resultados em uma tabela separada. Perfure atravs podem ser
ativados
mudando o quarto boto da barra de perfurao mtodo.
O Navigator OLAP
O Navigator OLAP uma interface grfica que permite que voc controle
como os mapas JPivot o cubo para a tabela dinmica. Voc pode us-lo para controlar quais
dimenso mapeada para qual o eixo, como as mltiplas dimenses em um dos eixos so
ordenada, e que fatia do cubo usado em anlise.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 489
Voc pode abrir o Navegador de OLAP, clicando no boto da barra de ferramentas com
o cone pequeno cubo. Isso mostrado na Figura 15-27.
Figura 15-27: O Navigator OLAP
Figura 15-27 tem os seguintes elementos:
A seo Colunas, atualmente apenas com medidas
Uma seo de Linhas, agora com todas as dimenses
Uma seo de filtro, que est atualmente vazia
No restante desta seo, vamos explorar estes diferentes elementos da
OLAP Navigator, e veja como voc pode us-los para obter cruz diferente
sees de dados do cubo.
Controlando a veiculao de dimenses em eixos
Em OLAP Navigator, voc pode mover uma dimenso para outra, clicando no eixo
cone quadrado pouco antes da dimenso. Por exemplo, ao clicar no cone quadrado
que exibido logo antes da dimenso Cliente move o Cliente
dimenso a partir do eixo de linhas para o eixo Colunas. (Veja a Figura 15-28).
Figura 15-28: Movendo a dimenso Cliente para as colunas do eixo
Voc tambm pode alterar a ordem das dimenses dentro de um eixo. Para fazer isso, clique
em
os pequenos cones triangulares para mover a posio de uma dimenso. Por exemplo, se
490 Parte IV Inteligncia Aplicaes de Negcio
voc clica no cone pequeno tringulo apontando para cima antes que a dimenso do cliente,
ele movido para uma posio acima. Pode obter o mesmo efeito clicando no pequeno
direito no cone triangular para baixo antes da dimenso Medidas. O resultado
situao mostrada na Figura 15-29.
Figura 15-29: Mudar a ordem das medidas e dimenses do cliente
Note que apenas temos estado a edio no Navigator OLAP-se o piv
tabela em si no mudou. Se voc clicar em OK na OLAP Navigator, o
OLAP Navigator est oculto e que a pgina recarregada automaticamente para refletir
a mudana nos eixos. O resultado mostrado na Figura 15-30.
Figura 15-30: Cliente dimenso no eixo horizontal
Fatias com o Navigator OLAP
O Navigator OLAP no se limita a manipulao de coluna e linha de eixo. Voc
tambm pode us-lo para especificar o fatiador. Lembre-se que o slicer corresponde
MDX ONDE clusula e pode ser usado para mostrar apenas um subconjunto particular ou uma
fatia''''
dos dados. Vamos usar o slice para olhar apenas para um grupo especfico de DVD. Para
faz-lo, primeiro voc deve reabrir o Navigator OLAP. Deve parecer exatamente como
Figura 15-29 neste momento. Agora clique no cone da direita pouco antes do funil de DVD
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 491
dimenso. Isso faz com que a dimenso do DVD para passar para o slicer, como mostrado na
Figura 15-31.
Figura 15-31: Movendo a dimenso de DVD para o slicer
Agora, embora voc moveu a dimenso do fatiador, fatia''seu''ainda
contm todos os dados do DVD. Isso compreensvel que o membro todos o
membro padro eo membro contm todos os DVDs. Para ver uma parte da
todos os DVDs, voc precisa especificar quais membros da dimenso de DVD que voc est
dentro interessado em faz-lo, clique na palavra DVD. Voc recebe um menu como o
mostrados na Figura 15-32.
Figura 15-32: O cortador de DVD
Quando voc clica no cone de adio, a dimenso DVD expande dentro do OLAP
Navigator, mostrando seus membros. Voc pode ento escolher um membro para definir
da fatia. Selecione a fatia Ao / Aventura. Isso mostrado na Figura 15-33.
Figura 15-33: Escolhendo uma fatia gnero
Lembre-se que voc deve clicar em OK para fechar o Navegador OLAP antes de qualquer
mudanas sero visveis na tabela dinmica.
492 Parte IV Inteligncia Aplicaes de Negcio
Especificando Estados jogos com o Navigator OLAP
Voc acabou de aprender como voc pode especificar um determinado membro do slicer.
Voc
tambm pode especificar membros em particular sobre as colunas e linhas de eixos.
1. Abra o Navegador OLAP, e clique em cliente.
2. Expandir o Cliente, e selecionar apenas Canad e Estados Unidos.
3. Clique em OK para confirmar.
4. Em seguida, clique em Data. Expanda Data, e escolher apenas 2007 e 2008.
5. Clique em OK para confirmar.
As selees so mostrados na Figura 15-34.
Figura 15-34: Escolhendo membros em particular para os eixos
Se voc fechar o navegador OLAP, a tabela dinmica atualizada a aparncia
Figura 15-35.
Figura 15-35: Anos de 2007 e 2008, os clientes do Canad e dos Estados Unidos, em fatias
por Ao / Aventura
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 493
Resultados de vrias medidas
Podemos usar o OLAP Navigator tambm para mostrar mais medidas. Abra o OLAP
Navigator, clique e Medidas. Um menu aparece mostrando todas as medidas definidas
no cubo (ver Figura 15-36).
Figura 15-36: Seleo de mltiplas medidas
Agora selecione as restantes medidas e clique em OK para fechar a OLAP
Navigator. O resultado mostrado na Figura 15-37.
Figura 15-37: Uma tabela dinmica com mltiplas medidas
Diversos recursos
Nesta seo, discutimos brevemente uma srie de recursos teis que JPivot
no abrangidos em outros lugares.
Painel de Consulta MDX
Voc pode alternar a visibilidade do painel de consulta MDX usando o segundo boto
na barra de ferramentas JPivot (que diz MDX). Este painel de consulta contm o MDX
consulta que representa o estado atual da opinio de anlise.
O painel de consulta MDX muito til para estudar e aprender a sintaxe MDX.
Navegando em uma tabela dinmica e interpretar o resultado bastante prestados straightfor-
ala para a maioria das pessoas, mais do que a compreenso dos resultados baseados em
texto
devolvido pelo editor MDX PSW.
Voc tambm pode usar o painel de consulta MDX para adicionar temporariamente uma
definio para
um membro calculado e imediatamente inspecionar os resultados. Voc pode voltar
e para trs algumas vezes entre o painel e MDX a tabela dinmica at que voc esteja
satisfeito. Voc pode ento colocar o cdigo para este membro calculado diretamente
dentro do cubo.
494 Parte IV Inteligncia Aplicaes de Negcio
PDF e Excel Exportar
O ponto de vista de anlise permite exportar o resultado processado para PDF e
formatos do Microsoft Excel com um nico clique do mouse. Para exportar para o Excel, basta
clicar
no boto da barra de ferramentas JPivot com o cone do Excel. Ele est localizado na
extremidade direita
da barra de ferramentas JPivot.
Grfico
JPivot tambm oferece um recurso grfico. Voc exibir o grfico, alternando o
Mostrar o boto da barra de ferramentas Grfico (o cone barchart na metade direita do JPivot
barra de ferramentas). Voc pode controlar a maneira como o seu aspecto grfico usando a
configurao de grfico
boto, localizado no lado direito da barra de ferramentas Show Chart. A alternncia do
Grfico boto Config exibe um grfico de Propriedades do formulrio onde voc pode
especificar
todos os tipos de propriedades do grfico, tais como o tipo de grfico e tamanho do grfico.
Ns no podemos possivelmente cobrir JPivot grficos na ntegra. Em vez disso,
recomendamos que voc
experincia com esse recurso. Para comear, ns fornecemos instrues para criar
um grfico como o mostrado na Figura 15-38.
Figura 15-38: Um grfico mostrando JPivot receitas sobre dividir o tempo dos clientes por pas
O grfico mostrado na Figura 15-38 fornece uma introspeco no desenvolvimento de
receitas
volvimentos ao longo do tempo, divididos por pas de residncia dos clientes. O grfico
dados que visualizado no grfico mostrado na Figura 15-39.
Voc pode obter esse ponto de vista sobre os dados, colocando a data e DVD
dimenses no eixo vertical ea dimenso do cliente na horizontal
eixo. Certifique-se de expandir o membro Todos os clientes para dividir os dados de acordo
para o pas de residncia do adquirente. Alm disso, voc deve remover a Todos
membro da dimenso de data. (Se voc no remover o membro Tudo aqui,
As receitas do primeiro par de anos ser pouco visvel em comparao com
os grandes receitas acumuladas para o membro Datas Todos).
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 495
Figura 15-39: Dados para o grfico mostrado na Figura 15-38
Figura 15-40 mostra a configurao do grfico. Entramos em algumas propriedades para
configurar o grfico:
Tipo de grfico: barra vertical. Existe uma grande variedade de tipos de grficos
disponveis.
Habilitar o detalhamento: marcada. Isso permite que o usurio clique sobre as barras
No quadro para examinar as linhas de detalhes subjacentes.
Figura 15-40: Grfico propriedades para o grfico mostrado na Figura 15-38
496 Parte IV Inteligncia Aplicaes de Negcio
Eixo horizontal no rtulo: Tempo; rtulo do eixo vertical: Receitas. Introduzir um
rtulo torna muito mais fcil para os usurios a interpretar o grfico.
Grfico de Altura, largura do grfico: a altura e largura em pixels da tabela.
Voc vai descobrir que muitas vezes voc precisa de experincia com esses valores
para obter
um quadro razoavelmente legvel.
Melhorando o desempenho usando o Pentaho
Designer Aggregate
Mondrian faz um timo trabalho de resultados em cache, dando-lhe acesso rpido a
obtidas anteriormente membros do cubo. Com grandes bases de dados, no entanto, preciso
tempo considervel navegar um cubo, porque voc est trabalhando com um ROLAP
ferramenta que precisa para recuperar dados de grandes tabelas de fatos detalhados. Para
evitar
ter de digitalizar milhes de linhas de cada vez que um nvel de dimenso nova for
seleccionada,
voc pode pr-agregados os dados para Mondrian. No captulo 6, explicamos
os conceitos de tabelas de agregados e vises materializadas como o desempenho
impulsionadores e mencionou que, at data, nenhum dos bancos de dados open source
apoia o ltimo. Bem, isso pode ser verdade para os bancos de dados em si, mas
o comportamento de Mondrian usando tabelas agregadas chega muito perto de ter
materializada com a opinio. H uma diferena notvel, porm, e que
a manuteno automtica dos quadros agregado de cada vez que novos dados
carregados para o data warehouse. Uma maneira de resolver este problema estender sua
Chaleira empregos para atualizar as tabelas Mondrian globalmente no final de carga
os dados detalhados para o data warehouse. Usando a data de limpeza e
colunas de hora ou uma identificao de lote torna mais fcil identificar alterado ou inserido
registros e usar isso como fonte para a atualizao ou insero de registros na
agregados.
Agregao de Benefcios
O nico benefcio do uso de agregados melhorar o desempenho da consulta, ou em
no caso de Mondrian, ad-hoc de velocidade. Tabelas agregadas isso
limitando o nmero de registros a serem verificados em uma consulta. D uma olhada
Figura 15-41 para ver os efeitos de agregao. O lado esquerdo do diagrama
mostra uma verso simplificada da tabela de fatos a fim WCM com 1.359.267 linhas
porque o nvel de transaco mais baixos do que os dados so armazenados na tabela. Agora
olhar para o canto superior direito do diagrama onde criamos tabelas de agregados para
o fato de as linhas detalhadas a nvel do ms, o DVD Gnero e pas. Este
resulta em uma diminuio drstica do tamanho da mesa, porque voc s precisa de 9.120
linhas
para armazenar todas as combinaes possveis de dados a estes nveis.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 497
dim_date
(3,660)
date_key
20090723
20090830
20090915
20090924
20091012
20090821
20090514

dim_dvd
(149,710)
dvd_key
12345
3456
11234
44332
33434
43554
55667

cust_key
1123
4432
5543
4456
6654
3222
4455

dim_customer
(145,371)
Receita
5
5
7
3.50
5
3.50
5

Ano Gnero ms, trimestre
Q3

40
Novembro

120
SciFi

38
Pas
EUA

2
Soma
(Receitas)
/ Ms
Gnero /
Pas
2009

10
120 38 2 9.120 linhas de agregados (-99,32%)
Ano Gnero
SciFi

38
Pas
EUA

2
Soma
(Receitas)
1.359.267 linhas de fatos
/ Ano
Gnero /
Pas
2009

10
10 38 2 720 linhas de agregados (-99,95%)
Figura 15-41: exemplos de Agregao
Uma reduo adicional pode ser obtida quando voc omitir o trimestre e
nvel do ms todo. Voc ainda pode criar um relatrio guia valioso cruz
ou viso de anlise com base nesses 720 linhas de dados, que uma reduo na
tamanho de cerca de 99,95 por cento. Consultas contra essas tabelas agregadas produzir
sub-segundo os tempos de resposta e usurios muito feliz. A questo , como voc
incorporar esse conhecimento na sua configurao de Mondrian?
Estendendo Mondrian com tabelas agregadas
Antes havia uma ferramenta automatizada para projetar as tabelas dos agregados,
Foi um processo manual. A prxima seo ir abranger agregados Pentaho
Designer, embora voc provavelmente usar esta ferramenta para desenhar e
agregados de construo, que voc precisa saber o que est acontecendo sob o cap
no caso de algo correr mal. O exemplo que mostramos aqui baseado na
superior direito da tabela agregada na Figura 15-41. O primeiro passo criar um novo
tabela no esquema do data warehouse:
CREATE TABLE agg_wcm_orders_1 (
Dim_date_Year CHAR (4),
Dim_date_Quarter CHAR (2),
Dim_date_Month CHAR (3),

Dim_dvd_release_Genre VARCHAR (35),
DUPLO fact_orders_Revenue,
fact_orders_fact_count INTEGER)
Como voc continuar, manter os seguintes pontos em mente:
A tabela de exemplo agregado no contm apenas as colunas que voc precisa para
anlise, mas tem um extra fact_count coluna tambm. O contedo deste
498 Parte IV Inteligncia Aplicaes de Negcio
coluna indica como linhas facto muitos foram resumidos na
linha de agregao. Mondrian tambm tem esta coluna extra para verificar se o
tabela um agregado e pode ser usado como tal.
Alm da dim_date_Month, O e dim_date
_Year colunas esto includos na tabela de agregados. Esta incluso permite
Mondrian para obter todas as informaes necessrias a partir da dimenso
tabela de agregados e no requer que voc inclua o dim_date tabela
a consulta. Esta tambm referida como dimenso do colapso ou cumulativo
conformado.
A fact_orders_Revenue coluna de um tipo diferente do que o receitas
coluna no fact_orders tabela. Porque vocs so a sntese dos dados, voc
precisa ter certeza de que os valores somados ainda se encaixam as colunas no
nvel agregado.
O diagrama na Figura 15-41 mostra todas as dimenses em ambos os agregados
tabelas. Isso no precisa ser o caso: a coluna Gnero poderia ter
foi deixado de fora de uma tabela de agregados e ainda seria vlido
agregada. Ao fazer isso, criaramos um agregado com um perdido
dimenso (Gnero).
A consulta SQL mostrado na Lista 15-2 pode ser usado para carregar o agregado
tabela.
Listagem 15-2: Consulta SQL para carregar a tabela de agregado
INSERT INTO agg_wcm_orders_1 (
dim_date_year
, Dim_date_quarter
, Dim_date_month
, Dim_customer_country
, Dim_dvd_release_Genre
, Fact_orders_revenue
, Fact_orders_fact_count)
dim_date_year SELECTdim_date.year4AS
, Dim_date_quarter dim_date.quarter_nameAS
, Dim_date.month_abbreviationAS dim_date_month
, Dim_customer.customer_country_code AS dim_customer_country
, Dim_dvd_release.dvd_release_genre dim_dvd_release_genre AS
, Fact_orders_revenue SUM (fact_orders.revenue) AS
, COUNT (*) AS fact_orders_fact_count
FROMfact_orders AS f
INNER JOIN dim_dateAS d ON f.local_order_date_key d.date_key =
INNER JOIN dim_customerAS c ON f.customer_key c.customer_key =
INNER JOIN dim_dvd_release AS r ON f.dvd_release_key r.dvd_release_key =
GRUPO BYd.year4
, D.quarter_name
, D.month_abbreviation
, C.customer_country_code
, R.dvd_release_genre
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 499
DICA Um agregado que baseado em um outro agregado, por exemplo, uma tabela com
S no ano, pas, e de receitas deve ser carregado a partir da agregao, no de
a tabela de fatos base. Isso pode resultar em um ganho de desempenho considervel.
Depois disto, foi configurado, voc pode usar o PSW novamente para especificar o
tabela de agregados em seu cubo existente. Quando voc expande o wcm_orders cubo
e clique com o boto direito fact_orders, Abre um menu com trs opes. O primeiro
permite que voc declare uma nova tabela agregada eo terceiro permite que voc
explicitamente excluir uma tabela. A segunda opo realmente o mais interessante
uma vez que permite definir um padro que Mondrian usa para determinar quais
tabelas no banco de dados so agregados que podem ser usados. Explicando o necessrio
expresses regulares e como funciona este recurso est alm do escopo deste
livro, mas este tpico abordado em profundidade no site da Pentaho em Mondrian
notes.php http://mondrian.pentaho.org/documentation/developer # Agg
regras padro.
Neste exemplo, ficar com a primeira opo, que permite que voc adicione a agg_wcm
_orders_1 nome agregado. Isso muda a fact_orders e adiciona um cone
nvel chamado de agregao Nome, que por sua vez, oferece um menu do boto direito do
seu
prprio. Aqui voc precisa especificar a coluna contagem agregada fato (neste caso:
fact_orders_fact_count), Os nveis de agregao, e medidas agregadas. A
nveis e as medidas tm dois atributos: a coluna eo nome do item.
A coluna se refere ao nome da coluna na tabela de agregados, mas o nome
a especificao MDX da instncia de nvel para [Cliente]. [Pas]
para o customer_country coluna e [Data Local Ordem]. [Ms] para o
month_number coluna. Um exemplo mostrado na Figura 15-42.
Figura 15-42: Nvel de agregao de especificao
500 Parte IV Inteligncia Aplicaes de Negcio
At agora usamos apenas as colunas de agregados em nossas mesas agregado, mas
voc pode criar uma tabela resumida, onde uma ou mais colunas ainda contm
a chave de dimenso detalhada. Nesse caso, no h necessidade de recolher o
dimenso e incluem os diferentes nveis da tabela agregada, como no Ano-
Quartas-de-Semana exemplo. Se voc quiser ser capaz de perfurar at o nvel de dia,
combinado com um agregado do pas e do Gnero, voc poderia substituir o
Trimestre, ano, ms e colunas com um nico date_key e especificar que o
uma pea de agregao dos Negcios Estrangeiros. A coluna agg seria, neste caso, o
date_key,
ea coluna de fato seria o original local_order_date_key coluna.
HABILITAO tabelas agregadas
A utilizao de tabelas agregadas em Mondrian desabilitada por padro. Voc pode habilitar
deste recurso, definindo os valores dos mondrian.rolap.aggregates.Use
e mondrian.rolap.aggregates.Read para True em Mondrian
propriedades do arquivo. Este arquivo pode ser encontrado no diretrio <Pentaho instalar
> Dir / biserver-ce/pentaho-solutions/system/Mondrian. Se o
propriedades no esto presentes, basta adicionar as seguintes linhas para este ficheiro:
mondrian.rolap.aggregates.Use = 1
mondrian.rolap.aggregates.Read = 1
Pentaho Designer Aggregate
O pargrafo anterior cobriu a configurao manual de tabelas de agregados dentro
Pentaho. Agora que voc tem uma compreenso bsica do que est acontecendo quando
voc est criando tabelas agregadas, hora de tornar a vida um pouco mais fcil, usando
Designer Pentaho Agregado, ou DAP. PAD oferece uma srie de vantagens
sobre o processo manual de criao de tabelas de agregao. O mais importante
eles que PAD capaz de selecionar os melhores automagicamente tabelas agregadas
para o esquema que voc est tentando otimizar. Quando voc comear a PAD, ele pede um
banco de dados de conexo. Depois que configurado, voc precisa selecionar um Mondrian
arquivo de esquema, e depois de aplicar a escolha, o cubo para trabalhar pode ser
aberto. PAD, em seguida, valida o modelo de dados subjacente, verificando que todas as
tabelas possuem chaves primrias e que no esto presentes os valores nulos nas chaves
estrangeiras
colunas. PAD avisa quando a tabela de fato no contm uma chave primria.
Voc pode usar o DAP para fazer qualquer um dos seguintes:
Crie a sua definio de tabelas agregadas manualmente clicando no boto Adicionar
boto do lado direito e, posteriormente, selecionar os nveis de agregao
esquerda. Cada nova tabela agregada adicionado lista na parte inferior direita da
a tela e pode ser editado clicando-lo.
Captulo 15 Solues OLAP Utilizando Pentaho Analysis Services 501
Pr-visualizar, executar ou exportar o script de criao para os agregados da
Exportao e tela de publicao, que pode ser aberto clicando no boto Exportar
boto.
Execute ou exportar os scripts de carga para os quadros agregados a partir do mesmo
Exportao tela.
Publicar o esquema Mondrian ajustado a um servidor Pentaho ou exportar o
arquivo para uma pasta no disco.
Estas so caractersticas muito teis, mas a verdadeira diverso comea quando voc clica
no
Advisor boto. Aqui voc pode especificar o nmero de agregados PAD pode tentar
gerar e quanto tempo o conselheiro de consultas podem ser executados. Neste simples
exemplo, voc pode dizer que agrega 15 e 60 segundos e clique em Recomendar.
PAD, em seguida, tenta determinar todos os agregados com base no design do cubo e do
contagens coluna do modelo de dados subjacente. Figura 15-43 mostra os resultados
deste exerccio para o wcm_orders cubo.
Figura 15-43: tabelas geradas Aggregate
Esta ainda uma recomendao criado por PAD, que voc pode aprovar ou
rejeitar. Outra opo para ajustar manualmente as tabelas de Conselheiro ou descartar a
que voc sente no ser necessrio. Voc pode observar os efeitos das suas escolhas
imediatamente no diagrama. At agora, nunca encontrei a necessidade de contradizer
os resultados conselheiro e voc ser pressionada duramente para encontrar uma melhor
optimizado conjunto de
tabelas agregadas que no PAD.
Quando voc olha para a contagem das tabelas conselheiro, voc provavelmente encontrar
que o nmero para o conjunto criado manualmente no pargrafo anterior
502 Parte IV Inteligncia Aplicaes de Negcio
muito maior que na Figura 15-41 DAP, porque tambm tem os nveis (Todos)
em considerao, assim que os nmeros apresentados so o mximo absoluto. A
manual agg_wcm_sales_1 tabela tem um nmero de linhas PAD calculado de 60.192
Considerando que, na realidade, a tabela contm apenas 4.672 linhas, o que ainda menos
manualmente o nmero previsto.
Quando estiver satisfeito com o modelo criado, voc pode usar novamente a exportao
e publicar opes para criar e carregar as tabelas e publicar a actualizao
Mondrian esquema para o Servidor Pentaho.
Solues Alternativas
Usando tabelas agregadas tem uma desvantagem considervel: as tabelas tm de ser
atualizada cada vez que os dados no armazm de dados atualizado. Em menor
ambientes, esse fcil de conseguir, usando os scripts de carga exportada para
criar postos de trabalho simples Pentaho Data Integration. Mas no seria bom se tudo isso
era desnecessria, pois seu banco de dados foi rpido o suficiente para entregar o desejado
tempos de resposta, sem o uso de tabelas de agregao? No captulo 5, mencionamos
algumas dessas alternativas, mas bom fazer isso de novo aqui. LucidDB,
Infobright MonetDB e so todos muito rpidos, bases de dados da coluna-orientado. Estes
bases de dados foram especialmente concebidos para o tipo de trabalho encontradas em um
OLAP ambiente e valem a pena olhar e avaliar. No momento da
escrever ainda havia problemas com o driver JDBC MonetDB e Mondrian,
mas LucidDB em obras particulares muito bem em conjunto com Mondrian. A
LucidDB na Wiki http://pub.eigenbase.org/wiki/LucidDbOlap descreve
como configurar isso.
Resumo
Este captulo mostrou como criar solues OLAP para o BI Pentaho
Plataforma. Os tpicos abordados incluram o seguinte:
Introduo aos conceitos e sintaxe MDX
Criar solues multidimensionais usando o Pentaho esquema Trabalho
banco
Criando vises anlise utilizando o front-end JPivot
Melhorar o desempenho OLAP usando tabelas agregadas
Usando o Pentaho Designer agregadas para criar tabelas agregadas
CAPTULO
16
Data Mining com Weka
livros populares, como Moneyball, Freakonomics, e Competir no Analytics
tm aumentado o interesse em utilizar o Analytics para obter uma vantagem competitiva. Este
captulo explica como algumas das tcnicas mais populares do trabalho analtico
e como eles podem ser aplicados em cenrios da vida real. analistas de negcios e
profissionais de BI esto acostumados a apresentar relatrios sobre o desempenho
organizacional.
At agora, a maioria das pessoas est familiarizada com o uso de ferramentas de BI e OLAP
relatrio, para identificar excees, e responder a perguntas bsicas. O desafio para
muitas pessoas que novas perguntas exigem novas formas de olhar para os dados.
tcnicas de Reporting e OLAP so boas quando os tipos de perguntas so
bem estabelecida, e para explicar a atividade passada ou atual. Estas tcnicas
no pode ser usada para compreender as complexas relaes, explorar grandes volumes de
dados detalhados, ou prever a atividade futura. Minerao de dados (incluindo visualizao
e texto analytics) fornece os meios para realizar tarefas que no so possveis
Estas anlises avanadas geralmente no so utilizados porque
sua complexidade e custo assumido. A verdade que muitas tcnicas
pode ser aplicada de forma simples, e muitas vezes com custo relativamente baixo, s vezes
livre-tools. Uma das ferramentas mais populares Pentaho Data Mining (PDM),
mais conhecido como Weka (rima com''''a Meca), que o tema da
captulo atual.
Embora minerao de dados um termo familiar utilizado para designar o assunto em
mos,
Algumas pessoas preferem cham-lo aprendizado de mquina ou (Automatizado) descoberta
de conhecimento.
aprendizagem de mquina realmente um assunto mais amplo do que a minerao de dados,
mas o
termos so em grande parte intercambiveis. Para este livro, nos ater ao termo
minerao de dados.
503
504 Parte IV Inteligncia Aplicaes de Negcio
Data Mining Primer
A minerao de dados tem sido um assunto de muita confuso e s vezes at
mistrio: o uso de computadores para a tomada de deciso automatizada ou simulem
o processo de pensamento humano, usando redes neurais tem um efeito assustador sobre
algumas pessoas. Para dizer a verdade, no h nada misterioso ou assustador
minerao de dados, mas verdade que a natureza percebida complicado assusta muitos
as pessoas longe dela. Isso uma pena porque a minerao de dados acrescenta um lote de
potncia
a sua caixa de ferramentas de anlise, embora exija um certo investimento de aprendizagem.
O que exatamente a minerao de dados? A minerao de dados muitas vezes
considerada uma
mistura de estatstica, inteligncia artificial, banco de dados e pesquisa, mas que
no realmente uma definio. Uma definio ctico pode at ser que a minerao de dados
igual a estatsticas mais marketing. O ceticismo de lado, a seguinte definio
comumente citado:
Data Mining o processo no trivial de identificao de romance, vlidos, potencialmente
padres teis e, finalmente, compreensveis em dados.
UM Fayyad, G. Shapiro-Piatetsky e Smyth P.,''De
Data Mining para Descoberta de Conhecimento: Uma Viso Geral'', em
Avanos na Descoberta de Conhecimento e Minerao de Dados, edio
U. Fayyad M, G. Shapiro Piatetsky, P. Smyth, e
R. Uthurusamy, Imprensa AAAI / MIT Press, pp 1-34, 1996.
Esta definio nos diz vrias coisas importantes. Em primeiro lugar, trata-se de descobrir
padres nos dados que precisam ser compreendidos. A minerao de dados envolve o
trabalho
com grandes conjuntos de dados com milhes de linhas, por vezes, e centenas de colunas,
que so de alguma forma ou de outra relacionados uns aos outros. Os padres que queremos
a descobrir necessidade de ser compreensvel, portanto, os resultados tm de fazer sentido. A
resultados tambm deve ser nova, o que significa que eles devem dizer-nos algo que ns
no sabia antes, e os resultados devem ser vlidos dentro de um contexto especfico.
Alm disso, as conversaes sobre a definio de um processo no-trivial, o que significa
que no estamos fazendo isso por diverso, mas para resolver um negcio, social ou cientfica
problema. aplicaes de negcios comuns de minerao de dados so a deteco de fraudes,
marketing direto e reteno de clientes. Mas voc sabia que a minerao de dados
tambm uma ferramenta importante na agricultura, onde usado para diagnosticar de soja
doenas ou marcar a qualidade dos cogumelos? Outro exemplo o da
rea das cincias da vida, onde a minerao de dados utilizado para prever a taxa de
sobrevivncia
embries. Na verdade, existem muitas reas onde a minerao de dados poderia ser til,
mas no nosso caso, vamos nos concentrar em aplicaes de marketing e vendas com base
em
os dados no banco de dados mundial de filmes de classe.
Processo de Data Mining
Uma maneira fcil de comear olhar para a minerao de dados como um processo. De
fato, em
1996, um grupo de empresas industriais decidiu desenvolver uma minerao de dados
Captulo 16 Data Mining com Weka 505
metodologia conhecida atualmente como CRISP-DM, abreviao de Cruz Indstria Stan-
Processo dard para Minerao de Dados (um guia de referncia completa est disponvel
online em
http://www.crisp-dm.org). O fluxo de trabalho de base que tinham acordado exibido
na Figura 16-1, que mostra o fluxo natural das etapas que compem um conjunto de dados
minerao processo.
Negcios
Entendimento
Dados
Entendimento
Dados
Preparao
Implantao
Modelando
Dados
Avaliao
Figura 16-1: mtodo CRISP-DM
Este modelo de processo mostra que h muita sobreposio entre BI e dados
atividades de minerao:
A minerao de dados, como acontece com o BI, um ciclo contnuo de atividades com
o mximo
objetivo de tomar melhores decises
Os dados so o centro de todas as atividades, sem dados, no h BI e no h dados
minerao
As trs primeiras etapas do modelo de processo muito semelhante construo de
uma
data warehouse. Conhecimento do negcio, compreenso dos dados, e dados
preparao foram objecto dos captulos 5-11, e tudo o descrito
no pode ser utilizada para minerao de dados tambm.
506 Parte IV Inteligncia Aplicaes de Negcio
Tal como em projetos de BI, cerca de 70 a 80 por cento do esforo gasto no primeiro
trs atividades. Obtendo os dados certos e obter os dados corretos ainda
a parte mais demorada de qualquer projeto de minerao de dados como para um BI
projeto.
A diferena comea logo que voc pode comear com a fase de modelagem.
Modelagem significa que voc considera os diferentes modelos e escolher o melhor
com base no seu desempenho preditivo, ou seja, voc est procurando o melhor ajuste.''''Em
um cenrio do mundo real isso envolve testar diferentes solues com diferentes
conjuntos de dados de exemplo, tentando encontrar um modelo que produz os resultados
mais estveis
entre as diferentes amostras. E por resultados, significa que o modelo capaz
prever o resultado com base em dados de entrada. O objetivo da minerao de dados no
para explicar todas as relaes possveis entre os dados, mas mais voltado para
encontrar uma soluo prtica para prever certos resultados.
Data Mining Toolset
A natureza preditivo de minerao de dados exatamente o que o torna to atraente
para um grande nmero de usurios de negcios e que a distingue de BI processos regulares
e ferramentas. BI, como j cobriu nos captulos anteriores deste livro, foi
sobre os relatrios e anlise sobre o desempenho passado, e comparando as metas
com as medidas reais. A minerao de dados adiciona a capacidade de fazer previses
sobre o desempenho futuro, dentro de certos limites de confiana. As ferramentas para fazer
isso so modelos e algoritmos.
As tarefas que queremos realizar com a minerao de dados so diferentes do que
temos visto at agora, mas a maioria das metas pode ser alcanada usando as seguintes
quatro
categorias principais: classificao, associao, agregao, de regresso e. Cada um dos
Estes sero explicados nas sees seguintes. O que todas essas categorias
tm em comum o fato de que eles tentam prever ou explicar certos resultados
(O alvo ou desconhecido valor) com base nos dados disponveis.
Classificao
Classificao o processo de dividir um conjunto de dados em mutuamente exclusivos
grupos de tal forma que os membros de cada grupo so os''fechar''possvel
grupos entre si e diferentes como''muito''possvel um do outro,
onde a distncia medida com relao a varivel especfica (s) que voc est tentando
de prever. Por exemplo, um tpico problema de classificao dividir um banco de dados
de clientes em grupos que so to homogneos quanto possvel no que diz respeito
uma varivel de reteno com valores corredor de fundo e leaver. Voc tambm pode tentar a
classificao
clientes com base em sua classe de receita, como voc vai descobrir mais tarde, a fim de
prever a rentabilidade possvel de um novo cliente.
A classificao comea por definir a varivel de desfecho, neste caso, por
exemplo, retention_group ou revenue_class. Para treinar o modelo, voc
Captulo 16 Data Mining com Weka 507
preciso de um conjunto de dados com diferentes variveis e um resultado conhecido. Na
reteno
caso voc precisaria de um conjunto de dados composto de clientes leais que tm
foram produtos de encomenda de pelo menos dois anos, combinado com os clientes que
rescindido seu contrato, em algum momento no tempo. Para ambos os grupos que voc
necessitam de informaes extras, como dados demogrficos, dados geogrficos, ea ordem
da histria. Com base nestes dados voc pode ento determinar quais variveis contribuem
mais para esse resultado, para passar meses em ltima instncia do cliente, os itens
adquiridos durante um determinado perodo, ou talvez o grupo de renda. Determinao da
impacto de cada uma dessas variveis, ou qualquer combinao deles um tpico
extraco de dados da tarefa. Depois de concludo o processo (que trem o modelo), voc
capaz de validar o modelo atravs da execuo do algoritmo de classificao contra
um conjunto maior de dados, que chamado testar o modelo. Isso permite que voc verifique
se o modelo satisfaz suas necessidades (o que poderia ser''cliente
grupo de lucratividade previram corretamente em 95% ou mais dos casos'') e se
isso acontecer, ele pode ser usado para os futuros clientes da pontuao tambm.
Porque a classificao uma das aplicaes mais utilizadas da minerao de dados
(Eo mais fcil de obter seus ps molhados), vamos trabalhar com um par de
exemplos mais adiante neste captulo.
Clustering
Cluster ou segmentao do banco de dados muito semelhante classificao na
sentido de tentar identificar quais os elementos de um conjunto de dados ao ordinria
caractersticas e agrup-los com base nessas caractersticas. A
diferena mais notvel, entretanto, que com o agrupamento deixar o algoritmo
determinar os grupos com base em uma seleo ou at mesmo todos os dados disponveis,
enquanto
com a classificao que voc j tem os grupos definidos. Esta diferena tambm
identificados como supervisionada (Classificao) versus no supervisionado (Clustering) de
aprendizagem.
Clustering tem uma natureza mais exploratria, porque quando o data-mining
algoritmo determinou que os grupos de itens juntos, voc pode
olhar o raciocnio por trs dele. A ferramenta de minerao de dados vai mostrar como ele fez
a sua
deciso e quais as variveis que mais contriburam para os diferentes grupos. Agora
cabe ao analista investigar os diferentes grupos, porque eles so diferentes,
e como isso pode ser usado para tomar melhores decises. Se os clusters encontrados
comprovam
para ser til, eles podem ento ser utilizados como classes em uma anlise de classificao.
Associao
Com a associao que voc tente descobrir qual a relao entre duas ou mais
elementos de dados em um conjunto de dados. Uma das melhores aplicaes conhecidas da
associao
a anlise de cesta de mercado, onde um grande nmero de transaes so verificados para
determinar quais os artigos so comprados em que combinao. Um exemplo famoso
disso o caso das fraldas e cerveja que voc possa ter ouvido ou lido. A
grande cadeia de varejo analisados milhes de transaes de vendas a partir do ponto de
vendas
508 Parte IV Inteligncia Aplicaes de Negcio
sistema e encontrou uma forte correlao entre as vendas de cerveja e fraldas.
A explicao que chegou foi que os jovens pais a caminho de casa
do trabalho pegou os mantimentos. E desde que eles no poderiam sair com seus
amigos por causa do beb, que pegou um pacote de cerveja para beber em casa.
Como resultado, a cadeia de varejo comearam a posio dos dois produtos junto a cada
outros nas lojas para aumentar as vendas e servio melhor seus clientes. Ou pelo menos,
essa a histria. Descobriu-se finalmente que houve de fato uma correlao,
mas no uma relao causal, sob a forma''compra fralda compra cerveja.''A lio
aqui, e um dos erros mais freqentes feitas em minerao de dados, confuso
correlao de causalidade.
Numricos de previso (Regresso)
Os trs categorias de aplicaes de minerao de dados especficos prever
classes (valores nominais), que so valores no-numricos, como boa,ruim,
Ou leaver. Muitas vezes, voc quer prever um resultado numrico com base no passado
eventos, que um estilo diferente de aplicao, porque agora voc no tem
valores discretos como resultado, mas uma gama infinita de valores numricos possveis.
Pense em prever o desempenho de um computador baseado em componentes
e as configuraes utilizadas, ou a estimativa de receita anual de um cliente baseado
sobre as caractersticas do cliente e comportamento de compra. Ns no cobriremos
regresso
neste captulo, mas o''Leitura'', seco no fim do captulo
contm algumas excelentes referncias se voc quiser aprofundar mais o assunto.
Algoritmos de minerao de dados
As quatro categorias de aplicaes de minerao de dados introduzidos no anterior
sees so a classificao de alto nvel das ferramentas disponveis para a minerao de
dados.
Voc pode achar categorizaes diferentes em outras fontes, mas as categorias que
uso aqui so baseados na diviso que o criador do Weka escolheu. O Weka
ferramentas, por conseguinte, tambm contm estas mesmas quatro categorias bsicas de
minerao de dados.
Categorias no so suficientes embora, para cada categoria so vrios algoritmos
fornecidas para fazer o trabalho. Assim, a classificao um tipo especfico de dados
minerao, mas a classificao dos dados, precisamos de instrumentos tais como rvores de
deciso ou
algoritmos regra. Algoritmos so o que tornam uma ferramenta de minerao de dados
poderoso. Em
geral, os mineiros, os dados no se preocupam com interfaces de fantasia ou visualizao
agradvel
ferramentas, enquanto os algoritmos so suficientemente poderoso de uma previso
ponto de vista. A maioria dos algoritmos populares esto disponveis em domnio pblico
como eles so o resultado de pesquisas cientficas divulgadas. Weka contm mais de 45
algoritmos.
ferramentas proprietrias de minerao de dados freqentemente contm melhorar ou
ampliar as verses
de algoritmos disponveis publicamente. Um bom exemplo o algoritmo de rvore de deciso,
conhecido como C4.5, que o laborioso bsico de qualquer minerador de dados. Um ajuste
verso deste algoritmo est disponvel no Weka como o classificador de rvore de J48, mas
o sucessor do C4.5, que conhecido como C5.0, s est disponvel a partir de um
Captulo 16 Data Mining com Weka 509
vendedor comercial. Porque esta nova verso apresenta melhorias tanto na
velocidade e consumo de memria (e pequenas melhorias na preciso),
muitas organizaes decidem adquirir este software para obter melhores resultados
de seus esforos de minerao de dados. Embora C5 tem reforo embutido, voc pode
comear
um aumento de desempenho semelhante com Weka por J48 combinando e AdaBoost
meta classificador.
Treinamento e teste
Dois termos que so freqentemente confundidos com os outros ser usada extensivamente
quando voc comea com um processo de minerao de dados: treinamento e teste.
Formao
o processo de criao do modelo de minerao de dados; testes est usando um modelo
obtidos a partir da fase de treinamento para validar a qualidade do modelo. A
dados utilizados para essas duas atividades no devem ser os mesmos. Para tomar esta
ainda mais: no deve haver qualquer sobreposio do conjunto de dados usados para treinar-
o e do conjunto de dados utilizados para testes. (H excees possvel
esta regra, mas eles no sero abordados aqui.) E para tornar ainda mais
complicada: os dados utilizados para a formao deve ser uma seleo aleatria de con-
tamanho considervel a partir do conjunto total de dados. Uma boa regra que dois teros
dos dados deve ser utilizado para o treinamento, eo restante (um tero)
para o teste. Isto normalmente referido como o mtodo de validao''''do modelo
de avaliao.
Voc pode enfrentar novos desafios ao selecionar os dados corretos para treinar o seu
modelo. Por exemplo, embora voc pode querer, no vivel a utilizao de 100
mil linhas de dados para construir um modelo, por isso, se o conjunto de dados muito grande
voc
deve considerar uma amostra do que antes de voc comear a construir o seu modelo.
Neste captulo vamos mostrar como isso pode ser conseguido atravs de Pentaho
Data Integration (PDI).
Estratificada de validao cruzada
Os conjuntos de dados tem um casal de possveis problemas que tornam difcil de us-los
para
construir um modelo de. A primeira questo a aleatoriedade dos dados selecionados e
possibilidade de que os valores de classe so desigualmente distribudos entre a formao
eo conjunto de teste. A soluo para isso estratificar os dados, o que garante que
ambos os conjuntos de treinamento e de teste tm a mesma distribuio de valores de classe
como
os dados como um todo. O segundo problema ocorre quando os dados so limitados. A
validao
mtodo (com estratificao) s vai uma parte do caminho para a proteco contra
representao desigual de entrada e sada de valores em conjuntos de treinamento e teste. A
forma mais geral para compensar qualquer vis causado pela amostra particular
escolhido para a validao usar uma tcnica estatstica chamada validao cruzada. Em
validao cruzada, os dados so divididos em um nmero fixo de mutuamente excludentes
parties ou dobras. Suponha que voc use quatro dobras que significa que os dados so
dividida em quatro pedaos aproximadamente iguais. Uma vezes usado para testes
510 Parte IV Inteligncia Aplicaes de Negcio
e os outros trs para a formao. Este processo repetido com uma dobra diferente
de ensaio e outras trs para a formao at todas as dobras foram utilizados em cada
funo. Usando estratificados em dez vezes a validao cruzada se tornou a forma padro
de predizer o desempenho de um algoritmo de aprendizado em aprendizado de mquina.
Testes extensivos em muitos conjuntos de dados de benchmark mostram que dez sobre o
nmero certo de dobras para obter a melhor estimativa de preciso.
O Weka Workbench
Weka uma ferramenta de minerao de dados, originalmente desenvolvido na Universidade
de Waikato
na Nova Zelndia. O nome um acrnimo para Waikato Ambiente para
Conhecimento de anlise, mas tambm o nome de um pssaro, que agora o projeto
mascote. Weka comeou como um projeto financiado pelo governo em 1993 e seu objetivo
''foi desenvolver um estado da arte da bancada de ferramentas de minerao de
dados.''Embora
Pentaho adotou a ferramenta Weka como seu mecanismo de minerao de dados, a nica
parte
da plataforma de BI que ainda no est disponvel no download do Pentaho regular
sites. Alm disso, Weka ainda no faz parte do nightly builds em Hudson, e
o cdigo fonte no pode ser descarregado a partir dos repositrios SVN Pentaho.
A integrao na plataforma Pentaho limitada a um plugin especial para o Chaleira
para chamar um algoritmo Weka pontuao. No entanto, porque a ferramenta est em uma
classe de sua
prprios, e provavelmente ir ser utilizado por especialistas, isto no vai representar um
grande problema.
Em 1996, a primeira verso pblica (2,1) foi lanado e em 1999 a verso 3 (100
por cento escrito em Java) foi lanado. A atual verso 3.6 um incremental
liberao ainda com base no cdigo 3.0, tornando Weka, provavelmente, o mais maduro
parte da plataforma de BI Pentaho.
Weka consiste de trs ferramentas diferentes, cada um dos quais pode ser usado indepen-
forma independente, mas, quando combinados, fazem uma plataforma de minerao de
dados muito poderosa.
(Na verdade existem quatro ferramentas, mas duvidamos que voc jamais vai usar o Cliente
simples,
que uma interface de linha de comando para Weka) As principais ferramentas so as
seguintes.:
O Explorer ponto de partida para se familiarizar com Weka e dados
minerao. Explorer permite uma maneira fcil e exploratrio (da o nome) do
trabalhar com conjuntos de dados. Tambm oferece uma ampla gama de
funcionalidades.
Experimentador intencionados para a criao e execuo de experimentos maior
onde vrios conjuntos de dados e vrios algoritmos podem ser adicionados simultanea-
simultaneamente. Os resultados do experimento pode ser comparado com cada
, para determinar quais foram os resultados (estatstica) melhor do que outros.
KnowledgeFlow-A mais recente adio ao conjunto de ferramentas Weka pode ser
usado
para construir fluxos de trabalho de minerao de dados completo semelhante ao dos
fluxos que so
familiarizado com a Pentaho Data Integration ou Design Studio.
Captulo 16 Data Mining com Weka 511
Formatos de entrada Weka
Antes de analisar os dados, ele deve estar preparado para o uso em Weka. Weka
pode ler dados de mltiplas fontes, incluindo diretamente de um banco de dados JDBC
e CSV. Weka tambm tem seus prprios formatos de arquivos nativos. O primeiro chamado
ARFF (Attribute relao File Format), que um formato de arquivo baseado em texto, mas
com metadados adicionados para que Weka sabe que tipo de dados est no arquivo.
Listagem 16-1 mostra um exemplo de um arquivo ARFF. Como voc pode ver, ele contm o
relao (o sujeito da anlise), todos os atributos utilizados, incluindo tanto
os possveis valores ou o tipo de dados e os dados em si.
Listagem 16-1: ARFF formato com os dados meteorolgicos
@ Tempo relativamente
@ Atributo
@ Atributo
@ Atributo
@ Atributo
@ Atributo
perspectivas {ensolarado, nublado e chuvoso}
temperatura real
umidade real
ventoso {verdadeiro, falso}
jogar {sim, no}
@ Dados
ensolarado, 85,85, FALSE, no
ensolarado, 80,90, TRUE, no
nublado, 83,86, false, yes
chuvosa, 70,96, false, yes
chuvosa, 68,80, false, yes
chuvosa, 65,70, TRUE, no
nublado, 64,65, TRUE, sim
ensolarado, 72,95, FALSE, no
ensolarado, 69,70, false, yes
chuvosa, 75,80, false, yes
ensolarado, 75,70, TRUE, sim
nublado, 72,90, TRUE, sim
nublado, 81,75, false, yes
chuvosa, 71,91, TRUE, no
O segundo formato chamado XRFF (eXtensible atributo-relao de formato de arquivo)
e uma extenso baseada em XML do formato ARFF. Ambos ARFF e XRFF
arquivos podem ser abertos de forma arquivado tambm. XRFF tem uma vantagem
mais ARFF padro que permite que o atributo da classe a ser especificada na
arquivo. arquivos padro ARFF no especificar um atributo de classe e deix-lo para o usurio
para selecionar uma via interface grfica ou atravs de uma opo se estiver usando o Weka
interface de linha de comando. Na Listagem 16-1, o atributo jogar considerada
classe (varivel de desfecho), o usurio teria que estar ciente disso e
escolher este atributo explicitamente. XRFF, por outro lado, permite que uma classe padro
512 Parte IV Inteligncia Aplicaes de Negcio
atributo a ser definido no arquivo. Este atributo, em seguida, escolhido automaticamente
Weka na GUI ou interface de linha de comando. Claro, isso no impede
que o usurio selecionar manualmente outro atributo a ser tratada como a classe
se o desejarem. Finalmente, XRFF permite adicionar o atributo e instncia
pesos (ARFF s suporta pesos exemplo), que permite equilibrar a
importncia de cada atributo em um resultado.
H tambm um par de outros formatos de arquivo que pode lidar com Weka, como
como C4.5, que um formato de arquivo padro semelhante ao ARFF mas o atributo
descries e os dados so divididos em dois arquivos separados. Com o LibSVM
(Biblioteca de Support Vector Machine), Luz SVM, e SBI (binrio serializado
Instncias), Weka capaz de manipular dados de sada de minerao de dados de outros
ou pacotes de estatstica tambm.
Configurando conexes de banco de dados Weka
Como mencionado, Weka oferece a opo de ler dados de bancos de dados usando
a interface JDBC. Antes que voc possa usar este recurso algum esforo adicional de
instalao
necessria porque no h out-of-the-box de suporte de banco de dados. Para ver o
comportamento padro do Weka, ao tentar utilizar um banco de dados, inicie o Weka
a partir da primeira linha de comando.
DICA Um programa em Java normalmente pode ser iniciado atravs da abertura de uma tela do
terminal ou
pressionando as teclas Alt + F2 e digitando o comando
jar name> <jarfile - java
No caso do Weka, este se tornaria
java-jar weka.jar
Se voc selecionar Explorer a partir da GUI Chooser, voc ver a seguinte
erros na consola:
Registrando --- --- Editores Weka
Erro, no CLASSPATH - RmiJdbc.RJDriver: Tentando adicionar JDBC driver?
Erro, no CLASSPATH - jdbc.idbDriver: Tentando adicionar JDBC driver?
Erro, no CLASSPATH - org.gjt.mm.mysql.Driver: Tentando adicionar JDBC driver?
Erro, no CLASSPATH - com.mckoi.JDBCDriver: Tentando adicionar JDBC driver?
Erro, no CLASSPATH - org.hsqldb.jdbcDriver: Tentando adicionar JDBC driver?
Isso significa que Weka no consegue encontrar esses drivers, o que bom, desde que
voc no precisa se conectar a um banco de dados. Voc gostaria de ler dados a partir do
WCM armazm de dados, ento algumas modificaes precisam ser feitas. Primeiro, voc
necessidade de alargar o caminho de classe. O caminho de classe uma varivel de
ambiente chamada
CLASSPATH onde o programa pode localizar as classes Java necessrias para um
determinado
tarefa. Neste caso voc precisa especificar a localizao de um driver JDBC, ento adicionar o
Captulo 16 Data Mining com Weka 513
MySql driver para o CLASSPATH varivel. Use o driver que j est disponvel
no Pentaho BI Suite e digite o seguinte comando no comando
linha (observe que todo o comando deve ser em uma nica linha):
Export CLASSPATH = $ CLASSPATH: / opt / pentaho / biserver-ce /
tomcat/common/lib/mysql-connector-java-5.0.7.jar
Se voc quiser usar outro banco de dados voc pode substituir o mysql conector
para o condutor para o seu banco de dados. Adicionar mais de um banco de dados requer
alargamento do caminho de classe com os drivers extra. Basta adicion-los ao comando
como demonstrado anteriormente, separados por dois pontos (:).
NOTA entradas de caminho de Linux de classe so separadas por dois pontos; no Windows
um
ponto e vrgula (;) usado.
O prximo passo ter certeza de que Weka pode traduzir todos os MySQL
tipos de dados utilizados em nosso armazm de dados. Porque ns definimos algum inteiro
colunas como unsigned (que Weka no pode ler por padro), voc precisa
modificar as configuraes de banco de dados em um arquivo chamado DatabaseUtils.prop. E,
enquanto
voc est nisso, voc tambm pode se livrar do incmodo classe mensagens de erro de
caminho.
Weka olha para o . Prop arquivos nos seguintes trs localidades, e na
na seguinte ordem: o diretrio atual, o diretrio home do usurio e, finalmente,
no subdiretrio do experimento weka.jar arquivo. Embora voc possa
alterar esta ltima diretamente, recomendamos fortemente contra ela, logo que
reinstalar ou atualizar a instalao Weka atual todas as alteraes sero perdidas.
A primeira opo tambm no o melhor porque isso iria for-lo para sempre
Weka iniciar a partir do diretrio Weka. Portanto, voc precisa criar o arquivo no
seu diretrio home.
Embora voc no deseja modificar o arquivo jar, contm amostra
DatabaseUtils.props arquivos para os bancos de dados mais comuns, incluindo o MySQL.
A maneira mais fcil de conseguir este arquivo em seu diretrio home abrir o weka.jar
arquivo e navegue at a DatabaseUtils arquivos como mostrado na Figura 16-2.
O arquivo que voc precisa aquele com o . Mysql extenso, e porque no pode
ser copiados a partir do jar diretamente, abri-lo primeiro com um duplo clique no arquivo. O
arquivo
abre em um editor de texto padro para que voc possa fazer as modificaes necessrias.
A linha com o driver JDBC deve ser alterada para:
com.mysql.jdbc.Driver jdbcDriver =
ea URL JDBC para
jdbcURL = jdbc: mysql: / / localhost: 3306/wcm_dwh
Isto pressupe que voc estiver executando o servidor de banco de dados na mquina local.
Abaixo, a URL que voc vai ver os tipos de dados especficos que tm sido comentadas
514 Parte IV Inteligncia Aplicaes de Negcio
para fora. Estes so os padres Weka e voc no quer mud-los. Agora
voc deve adicionar os mapeamentos inteiro sem sinal algum lugar abaixo desta seo
com as seguintes linhas:
TINYINT_UNSIGNED = 3
SMALLINT_UNSIGNED 4 =
INTEGER_UNSIGNED = 5
Figura 16-2: Weka.jar DatabaseUtils arquivos
Em seguida, voc deve salvar o arquivo como DatabaseUtils.props em sua casa
diretrio. Uma descrio completa das propriedades do DatabaseUtils
adereos. arquivo podem ser encontradas on-line em http://weka.wiki.sourceforge.net/
experimento weka DatabaseUtils.props. Na prxima seo, vamos explicar como
Weka deve ser iniciado atravs de um caminho de classe personalizado.
Comeando Weka
Se voc seguiu as instrues do pargrafo anterior e voc comea Weka
novamente, executando o java - jar weka.jar comando e selecione Explorer
a partir do seletor de GUI, voc vai notar que ainda h uma mensagem de erro esquerda:
Registrando --- --- Editores Weka
Erro, no CLASSPATH - com.mysql.jdbc.Driver: Tentando adicionar JDBC driver?
Novamente, no h nada para se preocupar, apenas um aviso de que o
drivers de banco de dados no esto no caminho de classe ainda. CLASSPATH uma
ambiente
varivel, o que significa que pode ser facilmente estendida. Como voc quer ler
dados de um banco de dados MySQL, voc deve adicionar o driver do MySQL para a classe
Captulo 16 Data Mining com Weka 515
caminho. Use o driver que j est disponvel no Pentaho BI Suite e introduzir
o seguinte comando na linha de comando (o comando deve estar em uma
nica linha):
Export CLASSPATH = $ CLASSPATH: / opt / pentaho / biserver-ce /
tomcat/common/lib/mysql-connector-java-5.0.7.jar
A fim de utilizar o caminho de classe ajustada, voc tem que explicitamente se referem a ele
quando
a partir Weka. Se voc usar o -Jar opo novamente, o CLASSPATH varivel ser
substitudos. Voc tambm precisa especificar a classe principal deve comear com Weka,
e voc pode ajustar a quantidade de memria de reserva para Weka, ao mesmo tempo.
O seleccionador de GUI agora pode ser iniciado com o seguinte comando, mas voc
necessidade de estar no weka diretrio para que ele funcione:
java-Xmx128m-classpath $ CLASSPATH: weka.gui.GUIChooser weka.jar
A melhor maneira usar o seguinte comando com o Weka completo
caminho includo (novamente, este comando deve ser em uma nica linha):
java-Xmx128m-classpath $ CLASSPATH: / opt / pentaho /
weka.gui.GUIChooser weka-3-6-0/weka.jar
Agora quando voc iniciar o Explorer a partir do seletor de GUI, o erro do MySQL
se foi e voc pode usar a opo Open DB para se conectar aos dados WCM
Armazm banco de dados. O ltimo comando pode tambm ser copiado para um novo
lanador
para torn-lo parte do menu Pentaho. A -Xmx parmetro utilizado no comando
especifica a quantidade de memria que Weka vai usar. Ao trabalhar com grandes
conjuntos de dados, voc deve definir esse valor a um nvel elevado para evitar a mensagem
de erro
na Figura 16-3.
Figura 16-3: Weka erro de memria
Aps esse erro, Weka fecha, e nenhum dos dados so salvos, ento melhor usar
tanta memria como voc pode poupar (por exemplo, usar -Xmx1024m para o incio
com um gigabyte de RAM).
516 Parte IV Inteligncia Aplicaes de Negcio
O Weka Explorer
O Weka Explorer pode ser iniciado a partir do seletor GUI ou directamente a partir do
linha de comando usando o seguinte comando:
java-Xmx128m-classpath $ CLASSPATH: / opt / pentaho /
weka.gui.explorer.Explorer weka-3-6-0/weka.jar
Agora, voc provavelmente vai querer saber se a conexo com o banco tem
sido configurado corretamente, ento clique em Abrir DB para iniciar o Visualizador de SQL.
Se tudo
funciona da maneira que deveria, a URL do banco de dados agora visvel na conexo
painel. Em seguida, voc precisa especificar o usurio e senha, clicando no usurio
opo, aps o qual voc pode se conectar ao banco de dados. A caixa de Informao na
parte inferior do Visualizador de SQL ir mostrar uma mensagem que a conexo bem-
sucedida,
e voc pode inserir uma consulta no painel Consulta. Porque este painel no
apoi-lo, por escrito, a sua consulta de forma alguma em tudo, talvez seja uma boa idia
para desenvolver a sua primeira consulta em outro ambiente, como o MySQL Query
Browser, Esquilo, ou SQLeonardo. Como exemplo, digite a consulta selecione
* A partir de dim_date. Se tudo foi configurado corretamente, os resultados devem ser
exibida agora no painel de fundo. Se no, revise a configurao anterior
etapas.
O Weka Explorer uma aplicao de minerao de dados completo em si mesmo
e lhe permite obter dados a partir de arquivos em diversos formatos, a partir de um banco de
dados
consulta, ou de uma URL. Ela inclui ainda uma opo para gerar um conjunto artificial
de dados para trabalhar (jogar) com, que pode ser til se voc quiser comparar
diferentes abordagens e algoritmos sem ficar distrado pelo contedo
ou o significado dos dados. Pr-processamento inclui tambm a capacidade de aplicar
filtros para os dados, tanto em atributos (colunas) e em instncias (linhas). Para
classificao, agrupamento, associao e predio numrica, a bancada
oferece guias especiais, onde as quatro categorias de minerao de dados pode ser usada,
cada
com sua prpria coleo de algoritmos e opes. A classificao e agrupamento
modelos tambm podem ser salvos para uso fora da bancada Weka, como ns
mostrarei adiante. Finalmente, h uma opo de visualizao, que exibido na
Figura 16-4.
NOTA Apesar de um bom add-on, as chances so que voc no vai pegar Weka para
suas capacidades de visualizao espectaculares, porque h muitas outras ferramentas que so
mais adequados para esta finalidade. Uma alternativa melhor usar RWeka, que contm
tanto Weka ea biblioteca R estatsticos, incluindo RGraph.
No ltimo exemplo deste captulo, voc ver o Explorer usado para criar um
modelo para o PDI Weka Scoring plugin.
Captulo 16 Data Mining com Weka 517
Figura 16-4: visualizao de Regresso
O experimentador Weka
O experimentador tem dois modos de operao simples e avanados, e permite
que voc execute uma srie de algoritmos de minerao de dados qualquer nmero de vezes
contra
uma srie de conjuntos de dados. Isto tambm significa que uma ferramenta para a mais
avanada
usurios, porque no dar-lhe feedback imediato sobre os resultados de uma
experimento. H uma srie de vantagens em usar esta ferramenta:
Vrias operaes podem ser executadas em um nico lote.
Um nmero de iteraes pode ser definido, forando o algoritmo para executar vrias
tempos. Correr dez iteraes com um resultado dez vezes validao cruzada
na execuo do classificador mesmo cem vezes, tornando mais
resultados estatisticamente vlidos.
Todos os resultados so gravados em um arquivo CSV (ou ARFF) ou tabela de banco de
dados para fcil
anlise e comparao dos diferentes algoritmos.
Os resultados podem ser analisados e testados utilizando qualquer campo comparao
dos
arquivo de resultados. Figura 16-5 mostra a tela Analisar depois de executar um Zeror
e J48 algoritmo no mesmo conjunto de dados. fcil ver que a deciso
algoritmo de rvore fornece resultados muito melhores.
Experimente configuraes podem ser salvas e modificados.
As notas podem ser adicionados a cada
experimento.
Embora o pesquisador no ser a primeira parte do conjunto de ferramentas que Weka
voc vai estar usando, ele um complemento poderoso e, certamente, algo que vale mais
investigao.
518 Parte IV Inteligncia Aplicaes de Negcio
Figura 16-5: anlise Experimentador
Weka KnowledgeFlow
O KnowledgeFlow Weka como um explorador de esterides, na verdade, assemelha-se
a forma como algumas das principais ferramentas comerciais de apoio criao de minerao
de dados
fluxos e processos de minerao de dados. Quando voc sabe o caminho de volta
Explorer, KnowledgeFlow ir realizar alguns segredos como o arranjo dos
ferramentas disponveis criada da mesma forma e todos os algoritmos do Explorer so
Tambm disponvel na ferramenta KnowledgeFlow. A principal diferena a grfica
layout do fluxo de trabalho, que tambm permite a ramificao mais complexa
que apoiado pelo Explorer. Figura 16-6 mostra um exemplo simples de um
classificao de fluxo.
O desenvolvimento de KnowledgeFlow ainda est em curso, mas para alm da
A interface visualmente atraentes existem algumas outras coisas que o diferenciam
a partir do Explorer:
KnowledgeFlow pode processar mltiplas transmisses em paralelo.
Os dados podem ser processados de forma incremental, bem como
em lote.
Os filtros podem ser encadeados (Explorer pode manipular apenas um de cada vez).
A arquitetura de plugin est disponvel, assim como o PDI, o que torna uma
ambiente extensvel.
Captulo 16 Data Mining com Weka 519
Figura 16-6: exemplo KnowledgeFlow
Mais informaes sobre KnowledgeFlow pode ser encontrado no Weka
Wiki.
Usando Weka com Pentaho
Como explicamos na introduo deste captulo, Weka um baixo acoplamento
parte da plataforma de BI Pentaho. H duas partes da plataforma onde
algum tipo de integrao existe, com PDI ter maior apoio ao Weka
funcionalidade fornecida por plugins extra. Embora haja apenas um plugin que
realmente usa os modelos construdos com o Explorador Weka, existem dois outros
que ajudam voc a preparar e fornecer dados de minerao de dados:
Weka Scoring-Ativa a utilizao de um modelo Weka de dentro de um PDI
transformao. uma ferramenta que permite que os modelos de classificao e
agrupamento
criado com Weka para ser usado em uma transformao PDI. Scoring simplesmente
significa que as linhas de entrada de dados so marcados (varivel de desfecho
determinado) durante a transformao. A pontuao plugin capaz de
anexar um rtulo previsto (classificao / agrupamento), nmero (regresso),
ou distribuio de probabilidade (classificao / agrupamento) para uma linha de dados.
ARFF-Output Cria um arquivo no formato ARFF (ver listagem 16-1) a ser
utilizado em Weka. Os formatos de campo de entrada de PDI so mapeados para ARFF
formato usando as seguintes regras:
String: nominal
520 Parte IV Inteligncia Aplicaes de Negcio
Number, Integer: nmero
Data: data
Reservatrio de amostragem-A ferramenta que lhe permite obter uma seleo aleatria
de linhas de um fluxo de dados de entrada Chaleira. Todas as linhas tm o mesmo
chance de ser selecionado (por amostragem uniforme). Esta etapa particularmente
til em conjunto com a etapa de sada ARFF, a fim de gerar um
dados adequados de tamanho definido para ser usado pelo Weka. A partir do PDI verso
3.2, este
no mais um plugin, mas faz parte das etapas regulares.
Adicionando Plugins Weka PDI
Antes que voc possa usar qualquer um dos plugins descrito at agora, eles precisam ser
adicionados
para uma instalao existente PDI. Alm disso, o weka.jar arquivo precisa ser
adicionado tambm. Os passos seguintes descrevem como isso funciona.
1. Faa o download do plugin do Wiki em Pentaho http://wiki.pentaho
mostrar .com / EAI / Lista + de + Disponvel + + Pentaho Data Integration + +
Plug-Ins.
2. Descompacte o zip, cada arquivo zip ir criar um novo subdiretrio no
localizao actual.
3. Criar um novo subdiretrio para cada plugin no mbito do / Opt/Pentaho/data-
integrao / plugins / etapas diretrio e nome de cada um de acordo com
o plugin.
4. Copie os arquivos do subdiretrio implantao do descompactou
download de arquivos em subdiretrios recm-criado a partir da Etapa 3.
5. Copie o arquivo weka.jar Weka a partir do diretrio principal (no nosso caso,
/ Opt/Pentaho/weka-3-6-0) Para os subdiretrios do plugin passos para
Pontuar Weka e as etapas de sada ARFF.
6. Reinicie Spoon (PDI).
Spoon deve ter agora os novos passos disponveis: contm a pasta de sada
a etapa de sada ARFF, a pasta contm o Transform Weka etapa de pontuao,
ea pasta contm Estatsticas do Reservatrio etapa de amostragem.
NOTA O plugin zipado arquivos contm mais do que apenas a extenso de implantao.
A documentao do usurio para a etapa est disponvel como um arquivo PDF do
subdiretrio / Doc.
Comeando com Weka e PDI
A parte final do captulo consiste de um fluxo de trabalho completo que envolve dados
preparao com PDI, a criao de modelos usando Weka, e processamento de dados
utilizando o placar Weka plugin. A WekaScoring.pdf documento includo
plugin no arquivo zip contm um exemplo simples de como usar a pontuao
Captulo 16 Data Mining com Weka 521
funcionalidade no PDI e trabalha com uma amostra de dados set (pendigits), que
tambm faz parte do arquivo zip. Voc pode usar esse documento como uma referncia,
porque ns
ir utilizar o mesmo fluxo de trabalho e funcionalidade aqui, mas vamos usar um
conjunto de dados diferente que mais se assemelha a dados que temos disponveis no WCM
data warehouse.
Aquisio de Dados e Preparao
Tal como no BI, a maioria do esforo de minerao de dados gasto na obteno de dados
de boa qualidade
para trabalhar. Felizmente, voc pode pular algumas etapas e construir sobre o trabalho
j feito por outros. O conjunto de dados que voc ir usar extrado os EUA
Os dados do censo e j contm uma seleo significativa. Ela pode ser recuperada
a partir de http://archive.ics.uci.edu/ml/datasets.html (Ou no site
para este livro) e chamada de dados Adulto set.1 bastante grande, o que permite
voc dividi-la primeiro usando o Reservatrio etapa de amostragem, e est em um sistema
inutilizvel
formato, que obriga a utilizao PDI para preparar os dados e convert-lo para
um formato ARFF primeiro. O conjunto de dados contm 14 atributos demogrficos, alm de
a varivel de classe, e pode ser usado para prever se uma pessoa com certas
caractersticas faz mais ou menos de 50.000 dlares por ano. Voc precisa de trs arquivos
para este exerccio:
adult.names contm a descrio dos dados e os resultados da
algoritmos utilizados anteriormente. Note que o algoritmo do Weka J48 no est listado
aqui, voc pode realmente comparar este com o C4.5 original.
adult.data contm os dados que voc ir utilizar para o treinamento do modelo.
adult.test contm o conjunto de teste para validar o modelo.
Baixe os trs arquivos em um diretrio de escolha (ou criar um trabalho e utilizar o
etapa HTTP para l-los directamente a partir da URL). Ns adicionamos um diretrio de dados
para a raiz Pentaho para este exerccio (/ Opt / pentaho / dados). Voc quer fazer o
seguinte:
Mesclar os dados e arquivo de teste.
Use o Sampler Reservatrio para extrair 10 mil linhas.
Exportar os dados da amostra como um arquivo
ARFF.
A completa transformao mostrado na Figura 16-7.
Vamos explicar brevemente como criar este, a transformao completa pode ser
encontradas no site para este livro em www.wiley.com / go / pentahosolutions.
1. Em primeiro lugar, comear a colher e criar uma nova transformao. Comece por criar
um
CSV entrada com o adult.data arquivo (voc ver porqu mais adiante). Porque este
arquivo no tem uma linha de cabealho, voc ter que especificar os nomes de campo
Assuno, A. & Newman, D. J. (2007). UCI Machine Learning Repository [http://www.ics.uci
. Edu /~mlearn] / MLRepository.html. Irvine, CA: Universidade da Califrnia, Escola de Informao
e Cincia da Computao.
1
522 Parte IV Inteligncia Aplicaes de Negcio
manualmente. Eles podem ser encontrados no nomes. arquivo. Agora ajuste o CSV
etapa de entrada da seguinte forma:
Excluir o Recinto especificao.
Desmarque a Cabealho da linha atual? checkbox
Selecione o valor ambos para todos os campos sob tipo Trim.
Figura 16-7: Adult2IncomeGroup
2. Duplicar o passo e mudar o arquivo de entrada da segunda via adult.test.
A primeira linha deste arquivo um valor nico texto, o que torna impossvel
PDI para determinar a especificao de arquivo. Voc j precisou que, em
o passo de entrada original, e porque os arquivos tm uma estrutura idntica,
voc no precisa fazer mais nada aqui.
3. Agora, o adult.test arquivo tem dois problemas. O primeiro o quase vazio
linha na parte superior, eo segundo o campo de classe que tem um ponto no final,
o que significa que se voc no se livrar do que voc vai acabar com quatro em vez de
dois valores de classe. O cabealho pode ser removido usando um filtro de passo de
linhas
com a condio grupo de renda IS NOT NULL (Na verdade, qualquer campo, exceto
o primeiro vai fazer aqui).
4. Para livrar-se do ponto, use um Replace na etapa de cordas e simplesmente o jogo no
campo de fluxo para grupo de renda e valorizar a pesquisa para''.''E deixar o
Substitua com valor vazio. Agora, as duas correntes podem ser acrescentados e
a sada pode ser enviada tanto para a etapa de sada um arquivo CSV (este contm todos
os
linhas em formato CSV) e um reservatrio etapa de exemplo. Esta ltima definida como
10.000.
5. Finalmente, a sada ARFF pode ser inserido como etapa final do
transformao. Tudo que voc precisa fazer neste ltimo passo entrar no arquivo e
o nome da relao. Depois de executar a transformao, voc deve ter
um arquivo CSV chamado IncomeGroups.csv com 48.842 linhas e um arquivo ARFF
chamada IncomeGroups.arff com 10.000 linhas de dados.
NOTA H uma explicao simples para o fato de que o cliente WCM
dados no puderam ser utilizados para este exemplo: gerado aleatoriamente. Como um
resultado, qualquer tentativa de agrupar ou classificar os clientes com base na receita, o filme
informaes, ou outras caractersticas falhar.
Captulo 16 Data Mining com Weka 523
Como criar e salvar o modelo
Voc pode agora iniciar o Weka Explorer, escolhendo Explorer a partir da
GUIChooser ou iniciando-lo diretamente na linha de comando. Clique em Abrir
Arquivo e selecione a IncomeGroups.arff arquivo que voc criou anteriormente. O arquivo ser
ser carregado e estatsticas descritivas para os atributos mostrados na Preprocess
painel, como voc pode ver na Figura 16-8.
Figura 16-8: Loaded ARFF arquivo no Explorer
Voc tambm pode ver que o nome Explorer para esta ferramenta uma boa, pois
permite que voc navegue atravs dos dados e fazer algumas suposies sobre o assunto.
Por exemplo, se voc quiser fazer mais de US $ 50 mil por ano (lembre-se, neste
so dados a partir de 1995!), melhor ser um executivo ou um profissional, porque
eles tm as gamas mais elevadas (> R $ 50 mil). Outra rea de interesse o sexo
diviso na fmea cerca de um tero e dois teros do sexo masculino, o que significa que
mais homens do que mulheres ganham um salrio. O que voc vai notar tambm que mais
homens do que as mulheres ganham mais de US $ 50 mil por ano. Ser um homem casado
tambm
ajuda. Assim, mesmo sem correr um classificador, voc j pode dizer que estes
atributos tm um grande impacto sobre a classe resultado. Isso nem sempre o
caso, porm, em muitos casos, a minerao de dados fornece a viso que no pode ser
obtidas de outra forma.
524 Parte IV Inteligncia Aplicaes de Negcio
O prximo passo escolher um classificador. Lembre-se que esta uma classificao
conjunto de dados com um resultado conhecido (a classe). Se no ficou claro o que
estvamos
procurando, ns poderamos usar a opo de cluster para descobrir quais as instncias da
dados so''''mais perto uns dos outros do que outros. O classificador, vamos escolher J48,
que est no Weka-classificadores-rvores pasta quando voc clicar em Escolher. Depois
selecionar o classificador, os parmetros para o algoritmo pode ser definido clicando
sobre o nome do classificador, que abre um editor de objetos. Deixar todos os valores em sua
configuraes padro aqui. No Teste de opes, selecione validao cruzada com 10 dobras
(O valor padro), verifique se o grupo de renda selecionado como a classe, e
clique em Iniciar para executar o classificador. A barra de status na parte inferior da janela
ir mostrar a dobra que est executado e depois de correr dez vezes (o
nmero de dobras), os resultados sero mostrados na sada do classificador, como
exibido na Figura 16-9.
Figura 16-9: J48 sada do classificador
Alm dos dez vezes validao cruzada, voc pode experimentar com outras Teste
opes para verificar se os resultados de melhor qualidade pode ser obtida atravs de um
dividir porcentagem ou apenas usando o conjunto de treinamento. Na verdade, o conjunto de
treinamento
produz resultados melhores neste caso: que classifica uma percentagem mais elevada
corretamente, mas
os resultados no so muito confiveis, porque usamos os mesmos dados para a formao
Captulo 16 Data Mining com Weka 525
e testes. Como explicamos anteriormente, voc deve tentar evitar isso, sempre que
possvel.
Exportando o classificador treinado agora s alguns cliques de mouse de distncia.
Quando
voc direito-clique no item da lista de resultados do modelo que voc gostaria de exportao,
um submenu mostrado com a opo de salvar o modelo em algum lugar no
mdia. Salve o modelo no diretrio de dados Weka e nome-la J48. A . Modelo
extenso adicionada automaticamente.
Utilizando o Weka Scoring Plugin
Usando o modelo de formao em PDI dados nova pontuao simplesmente uma questo
de
configurando o placar Weka plugin para carregar e aplicar o arquivo de modelo que voc
criou na seo anterior.
1. Voc usar o conjunto completo de dados de adultos que voc salva como um arquivo
CSV anterior.
Para fazer isso, crie uma nova transformao em Spoon e adicione uma entrada CSV
passo que l o IncomeGroups.csv arquivo do seu diretrio de dados.
2. O Weka passo seguinte pontuao necessria podem ser arrastados a partir da
transforma
para a tela. Em seguida, editar o Weka etapa de pontuao e selecione o J48.model
arquivo como o de carga / modelo de importao. Depois de selecionar o modelo, os
campos
mapeamento guia mostra como os campos a partir da etapa de entrada CSV foram
mapeadas para os atributos do modelo J48. Neste caso, no h erros, mas se
havia, os tipos de campo deve ser ajustado na etapa de entrada CSV, no
aqui. A guia modelo ir mostrar a rvore que foi o resultado do modelo
formao.
NOTA O atributo de classe grupo de renda faz parte do arquivo CSV, mas no
necessrios para o placar para o trabalho, o valor que ser determinado pelo
modelo, mas no faz parte do prprio modelo.
3. Agora voc pode clicar no boto Preview (ou clique com o boto Marcar Weka
passo e selecionar Preview). Existe agora um campo extra disponvel com
o mesmo nome da classe com uma _predicted sufixo, como mostrado na
Figura 16-10.
4. Se voc quer ter as probabilidades de sada adicionados a cada linha de sada
em vez da classe previsto, assinale a opo correspondente no
Weka Scoring guia do arquivo de modelo. Nesse caso, uma coluna extra ser adicionada
para cada valor de classe distinta, com a probabilidade calculada para cada valor,
como mostrado na Figura 16-11.
Note-se que esta ltima opo s est disponvel para os modelos que foram treinados
em um problema de classe discreta.
526 Parte IV Inteligncia Aplicaes de Negcio
DICA Quando uma transformao executado, o placar Weka plugin vai carregar o modelo
a partir do disco usando o caminho especificado na guia File. Tambm possvel armazenar as
modelo do PDI repositrio e usar isso ao invs, quando a transformao executado. Para
fazer isso, primeira carga de um modelo para a etapa de pontuao Weka, como descrito anteriormente.
Quando estiver satisfeito que os campos foram mapeados corretamente eo modelo
estiver correto, voc pode limpar a carga de importao / caixa de texto do modelo e clique em OK.
Quando o
transformao salvo, o modelo ser armazenado no repositrio.
Figura 16-10: resultados de previso
Figura 16-11: probabilidades de sada
Outras dicas e notas referentes pontuao Weka plugin est disponvel em
a documentao que faz parte da zipado plugin.
Captulo 16 Data Mining com Weka 527
Leitura
A minerao de dados um campo muito bem documentado de investigao, de modo a
Internet tem um
quantidade inimaginvel de informaes sobre o assunto. Alguns dos mais teis
fontes de informao so listadas aqui:
Online Pentaho documentao Weka- http://wiki.pentaho.com/
display / DataMining / Pentaho Data + + Mining + + Comunidade Documentao
homepage Weka- www.cs.waikato.ac.nz/ml/weka/
Pentaho
. Php? F = 81
Weka frum http://forums.pentaho.org/forumdisplay
Um completo manual de estatsticas on-line www.statsoft.com/textbook/
Pgina inicial dos dados Mineiros Inc., os autores de quatro livros Wiley em dados
minerao, Michael Berry e Gordon Linoff- www.data-miners.com
Dados da comunidade mnero- www.kdnuggets.com
Resumo
Este captulo foi uma breve introduo ao vasto tema da minerao de dados. Porque
da diversidade e da complexidade do tema, ns poderamos mostrar apenas a ponta do
do iceberg, mas tentou tocar nos pontos mais importantes e fornecer
um hands-on exemplo de como os modelos de minerao de dados pode ser usado no
Pentaho
BI Suite, especialmente PDI. Futuras verses do Pentaho ir aumentar ainda mais a
integrao entre o poder analtico da Weka e as capacidades de BI
a plataforma Pentaho. Um prximo passo lgico seria chamar um modelo de Weka
uma seqncia de ao (embora isso j pode ser conseguido usando a pontuao
plugin e chamando a transformao PDI a partir de uma seqncia de ao). Outro
opo para melhorar as capacidades analticas da Pentaho a integrao de
a biblioteca R estatstica, que j est disponvel como uma soluo de um dos
parceiros Pentaho.
Este captulo abordou os seguintes tpicos:
Introduo minerao de dados
Resumo do Weka Workbench
adicionais de instalao e opes de configurao para o Weka eo Weka
plugins PDI
Um exemplo completo de como minerao de dados pode ser integrada no
plataforma Pentaho
CAPTULO
17
Construindo Painis
No contexto de Business Intelligence, um painel um aplicativo que est
usadas para apresentar alto nvel de contedo de BI para usurios finais. Os painis contm
apenas alguns indicadores-chave do desempenho de algum aspecto de negcios (vendas'''')
ou mesmo o negcio como um todo.
contedo do Dashboard quase invariavelmente grfica na natureza: em vez de
nmeros, as mtricas so simbolizados com fotos, metros, marca, e s vezes
grficos. O objetivo fornecer uma viso muito condensada de uma grande rea
dos negcios, permitindo que os gerentes de negcios para avaliar o estado de relance.
Normalmente, os indicadores de alto nvel grfico que aparecem nos painis
fornecer alguma interatividade que permite ao usurio detalhar a mais detalhada
contedos de inteligncia comercial, como relatrios e cubos OLAP.
O Dashboard Framework Comunidade
A Comunidade Dashboard Framework (CDF) um conjunto de tecnologias de cdigo aberto,
gias que permite aos desenvolvedores de BI para a construo de dashboards dinmicos para
o BI Pentaho
Server. painis CDF so essencialmente as pginas web que usam a tecnologia AJAX
dinamicamente combinam componentes de BI, como relatrios, grficos, tabelas OLAP,
e mapas. Embora o CDF , por padro includos no Pentaho BI Server,
que desenvolvido e mantido pelos membros da Comunidade Pentaho
em vez da Companhia Pentaho.
CDF, a Comunidade, e da Corporao Pentaho
O CDF um grande exemplo de sinergia entre os objetivos de um comercial
empresa de software de fonte aberta como o Pentaho e sua comunidade.
529
530 Parte IV Inteligncia Aplicaes de Negcio
A Pentaho Corporation inclui o CDF na Comunidade eo
Enterprise Edition do servidor de BI como um plugin. Para os usurios da empresa
Edition, Pentaho fornece tambm um construtor de painel que pode simplificar a construo
painis. Voc pode encontrar uma seo sobre o CDF com o desenvolvedor do BI
Exemplos de soluo, que contm toda a documentao til, dashboards de exemplo,
e informaes bsicas (veja Figura 17-1).
Figura 17-1: O CDF na seo Exemplos BI Developer
Embora a Pentaho Corporation no formalmente envolvidos no CDF,
um nmero de desenvolvedores Pentaho so contribuintes activos para o projeto. Em
Alm disso, Pentaho oferece hospedagem para a gesto do projeto CDF problema, Wiki
documentao, e frum.
O CDF distribudo gratuitamente sob a licena LGPL. O projeto
cdigo-fonte e os recursos so hospedados em um projeto de cdigo do Google (http://code
.google.com p / cdf-pentaho /).
CDF Projeto Histria e Quem Quem
O projeto CDF levado e mantido por um nmero de membros proeminentes
da comunidade Pentaho.
As razes do CDF levar de volta para 2007, quando Ingo Klose apresentou um
soluo de dashboard baseados em AJAX como uma alternativa para o Java antes existentes
A tecnologia de painis baseado em servlet fornecido por Pentaho. Ingo da primria
motivao foi o desejo de uma soluo de painis que era mais fcil de usar e
implantar.
Ingo trabalho foi rapidamente adotado por Pedro Alves. Colaborou em
numa fase inicial com Ingo. Juntos, ele e Ingo fundou o projeto CDF para
centralizar o desenvolvimento e permitir a outros membros da comunidade para contribuir.
Desde ento, ele tem muitos recursos e retrabalhadas vrios aspectos da
arquitetura.
Captulo 17 Construindo Painis 531
Alm destes principais colaboradores, muitos outros membros da comunidade
trao trabalhou para criar dashboards de exemplo, o painel modelos, novos e-
componentes da placa.
Emisso de Administrao, Documentao e Apoio
CDF problema de gesto est hospedado no jira.pentaho.com site. Pode ser
encontradas na seo Comunidade na http://jira.pentaho.com/browse/CDF.
documentao do projeto est atualmente disponvel em um nmero de lugares. Em
primeiro lugar,
Wiki Pentaho inclui uma rea que totalmente dedicado ao CDF na
http://wiki.pentaho.com/display/COM/Community+Dashboard+Framework.
Alm das pginas de documentao da Wikipdia, amostras CDF distribudo na
Pentaho BI servidor tambm contm uma grande quantidade de documentos valiosos.
Para obter o apoio da comunidade, h um frum no forums.pentaho.com, Que
dedicado a temas CDF. Para suporte comercial, pode contactar o
WebDetails empresa em http://www.webdetails.pt/.
Competncias e Tecnologias de Dashboards CDF
Dois tipos diferentes de habilidades so necessrias para construir painis CDF:
Geral Pentaho desenvolvimento de competncias-Voc precisam ser capazes de
construir
seqncias de ao eo contedo de BI, como relatrios, grficos e assim por diante, que
voc deseja visualizar no painel. Este livro dever faz-lo bem
comeou nessa direo.
habilidades de web-A foco nas habilidades desenvolvimentos web est alm
do escopo deste livro. Isto principalmente um livro sobre Business Intelligence,
e h uma abundncia de livros de alta qualidade e recursos disponveis na web
de desenvolvimento.
No obrigatrio para unificar essas habilidades bastante diferentes na mesma pessoa.
Pelo contrrio, pode ser mais produtiva para criar painis usando pares de
desenvolvedores de BI e desenvolvedores web, ou uma equipe de desenvolvedores de BI, os
desenvolvedores da Web,
especialistas do domnio de negcio e usurios finais.
O desenvolvimento de competncias necessrias web incluem:
HyperText Markup Language (HTML) em HTML o padro
linguagem utilizada para criar pginas web. No incio dos anos noventa, verificou-se
e rapidamente se tornou o modelo dominante para pginas da Internet, devido a sua
popularidade a uma combinao de simplicidade e de recursos como hiperlinks
e imagens. Atualmente HTML um padro aberto mantido pela
W3C. Informao detalhada sobre HTML pode ser encontrada em http://www
.w3.org/TR/REC-html40 /.
532 Parte IV Inteligncia Aplicaes de Negcio
Cascading Style Sheets (CSS), CSS emergiu como a ln-
indicador para definir a apresentao do documento. Assim como o HTML, um
processo aberto
padro que mantido pela W3C. Informaes detalhadas sobre o CSS pode
ser encontrada em http://www.w3.org/TR/CSS21/.
JavaScript, o conhecimento do quadro JQuery recomendado,
JavaScript uma linguagem de programao que foi projetada especialmente para
adicionar interatividade a pginas da web. Ao longo dos anos, a importncia da
JavaScript tem aumentado. Lentamente, ele ganhou notoriedade e, durante os ltimos
alguns anos, a proliferao de uma tcnica de programao especial chamado
AJAX (s vezes identificada com a chamada Web 2.0) ajudaram a estabelecer
sua posio como uma linguagem de programao sria.
A verso standard do JavaScript chamada ECMAScript especificado
pela ECMA International. Mais informaes sobre ECMAScript pode ser
encontrada em www.ecma-international.org/publications/standards/Ecma
-262.htm.
JavaScript em si apenas uma linguagem de programao. Muito do seu valor para
criao de pginas web interativas no faz parte da prpria linguagem, mas
do ambiente de execuo (por vezes apelidado de''''runtime). O mais
normas importantes no que diz respeito manipulao de documentos HTML
da especificao do DOM, ou melhor, o mapeamento para ECMAScript. O DOM
especificao um padro aberto mantido pela W3C. Mais infor-
maes sobre este assunto podem ser encontradas em www.w3.org/TR/REC-DOM-Level-1/
ECMA-script-lngua-binding.html.
Se voc no estiver familiarizado com estas tecnologias, no deixe que isso tudo assusta
voc
fora. Domnio no necessrio para construir painis simples. Mesmo se voc um
Desenvolvedor e BI esto trabalhando em conjunto com desenvolvedores web para criar seu
dashboards, recomendamos que voc v em frente e trabalhar atravs deste captulo.
No mnimo, ele vai mostrar quais tecnologias esto envolvidas eo que
suas possibilidades e limitaes.
Conceitos CDF e Arquitetura
painis CDF so essencialmente pginas web (HTML documentos) que contm
reas chamadas de componentes'',''que so usados para visualizar o contedo de BI. Figura
17-2
ilustra o que acontece nos bastidores, quando um painel aberto por
o usurio.
1. O usurio final usa um navegador web para navegar para um painel. Isso faz com que
uma requisio HTTP normal para ser enviada ao servidor de BI Pentaho.
Captulo 17
Navegador da Web
Construindo Painis 533
Logo
4. inicializao Dashboard
1. Pedido de painel
8. Resposta
5. pedido de Componentes
2. Dashboard arquivo. Xcdf
6. Ao pedido seqncia
. Xcdf
3. Documento
montagem
. Xaction
Logo
modelo-dashboard.html
dashboard.html
7. seqncia de aes
execuo
CDF plugin
Pentaho BI Server
Plataforma
Figura 17-2: Bird's eye view do CDF dashboarding
2. O servidor Pentaho BI recebe o pedido e reconhece que deveria
servir a um painel. O pedido contm o nome eo caminho da soluo
o painel, o que suficiente para localizar o painel de . Xcdf arquivo.
3. A . Xcdf arquivo especifica os modelo de painel de contedo. Esta uma (parcial)
Arquivo HTML que contm espaos reservados para os componentes do painel
e instrues JavaScript para ench-los com os componentes do painel.
O modelo de contedo do painel combinada com uma documento dashboard
modelo (s vezes chamado exterior do modelo) para montar uma pgina web (um
Documento HTML). O modelo externo pode ser especificado explicitamente no
. Xcdf arquivo, mas se no , um padro ser usado.
534 Parte IV Inteligncia Aplicaes de Negcio
4. A pgina web recebida pelo navegador quando ele lido e processado
para a exposio. Como parte deste processo, o painel inicializado. Esta
feito como as instrues JavaScript no documento so executadas, levando
para a criao efetiva dos componentes do painel. Na pgina web,
os componentes do painel existir como objetos JavaScript que so adicionados a um
Dashboards objeto, que tambm criado com JavaScript.
5. Aps a inicializao do painel, os componentes de responder aos comandos
emitido pelo Dashboards objeto. O comando bsico atualizao, Que
ordens de componentes para recolher o seu contedo de BI e coloc-lo em suas
marcador correspondente (s) no documento. Normalmente, os componentes
reagem ao atualizao comando, enviando uma solicitao da Web para o Pentaho
Server.
6. O servidor Pentaho recebe pedidos enviados pelos componentes. Normalmente,
os componentes solicitar a execuo de uma seqncia de ao.
7. O servidor Pentaho executa a seqncia de ao.
8. O contedo gerado pela seqncia de ao enviada de volta para o requerente
componente. L, a resposta analisado pelo componente de incluso
na pgina web. Finalmente, o componente coloca o contedo dentro de sua
espao reservado (s) no documento, tornando o contedo visvel no BI
da pgina.
Vamos agora discutir os elementos-chave na arquitetura CDF em detalhes.
O CDF Plugin
Dashboard pedidos so tratados por um plugin Pentaho. Este plugin um pedao de
O software Java que sabe como lidar com as solicitaes da Web para obter um painel.
O Pentaho sistema de plugins a maneira preferida para terceiros para ampliar
Servidor Pentaho e adicionar funcionalidade personalizada. Uma discusso completa sobre
plugins est alm do escopo deste livro, mas nesta seo, tocamos
alguns conceitos que, esperamos, ir ajud-lo a entender como um complemento, como
o CDF pode ser integrado com a plataforma Pentaho. Voc pode encontrar detalhadas
informaes sobre plugins Pentaho na documentao Wiki em Pentaho
wiki.pentaho.com/display/ServerDoc2x/1. + + Desenvolvimento de Plugins.
O Diretrio Home CDF
O plugin e todos os arquivos relacionados residem e sob o pentaho-cdf Diretrio
abaixo do diretrio que abriga o sistema Pentaho soluo. No restante
Captulo 17 Construindo Painis 535
deste captulo, nos referimos a este local como o CDF diretrio home, ou simplesmente
CDF casa.
H um par de subdiretrios no diretrio home do CDF:
A lib diretrio contm os arquivos java binrio que contm o real
software que compe o plugin.
A js diretrio contm os arquivos JavaScript e CSS (bem como alguns
outros recursos) que compem o software de cliente do CDF. Voc
veremos mais adiante como esses arquivos acabam nas pginas web reais dashboard.
A recursos diretrio contm vrios recursos, como imagens e
Arquivos CSS stylesheet.
O arquivo plugin.xml
O verdadeiro plugin definio est contida no arquivo plugin.xml. O contedo
deste arquivo so mostrados na Listagem 17-1.
Listagem 17-1: O arquivo CDF plugin.xml
<? Xml version = "1.0" encoding = "UTF-8"?>
<plugin title="Pentaho Comunidade Dashboard Framework">
<content-types>
type="xcdf" <content-type mime-type="text/html">
<title> Dashboard </ title>
<description> Comunidade Dashboard Arquivo </ description>
<icon-url> contedo / cdf pentaho / resources / cdfFileType.png
</ Url-icon>
<operations>
<operao>
<id> RUN </ id>
<comando> contedo / cdf-pentaho / RenderXCDF soluo? = {} & soluo
path = {path} & action = {nome} & template = manto </ command>
</ Operao>
<operao>
NewWindow <id> </ id>
<comando> contedo / cdf-pentaho / RenderXCDF soluo? = {} & soluo
path = {path} & action = {nome} & template = manto </ command>
</ Operao>
</ Operaes>
</ Content-type>
</ Tipos de contedo>
<content-generator scope="local" id="pentaho-cdf" type="xcdf" url="">
<classname> org.pentaho.cdf.CdfContentGenerator </ classname>
<fileinfo-classname> <org.pentaho.cdf.CdfFileInfoGenerator / fileinfo-
536 Parte IV Inteligncia Aplicaes de Negcio
Classname>
<title> CDF Display Handler </ title>
</ Gerador de contedo>
</ Plugin>
Se necessrio, voc pode alterar este arquivo de configurao para modificar o
comportamento
de painis CDF. Por exemplo, voc pode adicionar tipos de contedo adicional para
permitir que arquivos com uma extenso especfica para ser reconhecido como painis CDF.
Para saber mais sobre plugins Pentaho, consulte o documento oficial de Pentaho
implementao. As informaes pertinentes podem ser encontradas em http://wiki.pentaho
.com/display/ServerDoc2x/Developing + Plugins.
ATENO Voc deve garantir que voc faa um back-up do plugin.xml arquivo
antes de fazer quaisquer alteraes.
CDF JavaScript e CSS Recursos
O painel CDF faz amplo uso de JavaScript para criar e controlar
componentes e fazer chamadas para o servidor de BI Pentaho. O JavaScript CDF arquivos
esto localizados na js subdiretrio do diretrio Home CDF. H um
nmero de diferentes arquivos JavaScript no js diretrio, bem como no apoio
recursos, como arquivos CSS e imagens:
jquery.js -O CDF construdo em cima do popular quadro AJAX JQuery-
de trabalho. Todos os arquivos que tm um nome que comea com jquery so desta
quadro. O quadro JQuery oferece funcionalidades para manipular o
baixo nvel de detalhes dos documentos HTML mudana no tempo de execuo
(chamada DOM
manipulao), bem como programaticamente fazer requisies web e pro-
processamento do contedo retornado. Combinadas, estas duas funcionalidades so
normalmente referido pelo termo AJAX (Sigla para Asynchronous
JavaScript and XML).
jquery. <name>. js e jquery. <name>. CSS arquivos-Alm-entregas
rando baixo nvel de funcionalidade Ajax, jQuery tambm oferece uma srie de
extenses
que implementam os elementos da interface do usurio (muitas vezes chamado widgets)
como a data
catadores, textboxes autocomplete, e assim por diante. Esses arquivos JavaScript e
suporte a arquivos CSS implementar vrios widgets, bem como no apoio
funcionalidade para aes como o contedo de posicionamento. H tambm uma
nmero de subdiretrios no js diretrio. Estes contm ainda mais
Widget plugins JQuery.
Dashboards.js -Este o ncleo do CDF. Este arquivo instancia um
Dashboards Objeto JavaScript, que a real execuo do painel,
o.
Captulo 17 Construindo Painis 537
<name> Components.js -Esses arquivos contm as definies de objeto do
vrios tipos de componentes que podem ser exibidos em painis CDF. Na
painel de instrumentos reais, as instncias desses tipos de componentes so criados e
adicionado Dashboards objeto. CoreComponents.js contm definies
de componentes para painis utilizados com frequncia. MapComponents.js con-
tm dois componentes para trabalhar com mapas geogrficos. Navegao
Components.js contm componentes do painel especial que pode ser utilizado
para gerar interao de navegao.
resources.txt Este arquivo-texto lista todos arquivos JavaScript e CSS que esto a
ser includo no documento resultante do painel HTML que ser enviado
para o cliente.
Durante a montagem do documento, o CDF plugin l o resources.txt arquivo
e injeta referncias a arquivos que constam da lista de JavaScript e CSS no painel de
instrumentos
Documento HTML na forma de <script> e <link> elementos. Isso garante
Esses recursos sero carregados pelo navegador quando ele recebe o painel de instrumentos,
que necessrio para o painel e seus componentes para funcionar corretamente.
O xcdf. Arquivo
A . Xcdf um arquivo XML contendo pequenas informaes que descrevem o
painel de instrumentos. Esses arquivos podem ser colocados em qualquer pasta na soluo
de repositrio
permitem aos usurios navegar no painel de instrumentos.
Algumas informaes contidas no . Xcdf arquivo, como nome de exibio, des-
o, eo cone so utilizados pelo usurio console a oferecer um item que o usurio possa
navegue para o painel. A . Xcdf arquivo tambm se refere a um arquivo HTML parcial
que atua como um modelo de contedo painel. Opcionalmente, o . Xcdf arquivo tambm pode
especificar um modelo de documento de painel. Esses modelos so discutidos em
detalhes na prxima subseo.
Listagem 17-2 mostra o contedo de uma amostra . Xcdf arquivo:
Listagem 17-2: Um exemplo de arquivo. Xcdf
<? Xml version = "1.0" encoding = "UTF-8"?>
<cdf>
<title> Pentaho Dashboard Home </ title>
<author> Webdetails </ author>
Home <description> Pentaho Dashboard </ description>
<icon> </ icon>
<template> dashboard.html </ template>
<style> manto </ div>
</ Cdf>
538 Parte IV Inteligncia Aplicaes de Negcio
Conforme mostrado na Lista 17-1, todo o contedo do . Xcdf arquivo est contido em <cdf>
e </ Cdf> tags. A cdf elemento contm uma lista de marcas que descrevem o
vrias propriedades do painel.
As marcas mais importantes so <title>,<template>, e <style>:
<title> um elemento obrigatrio que define o nome do painel de instrumentos
como ele aparece para o usurio no console do usurio.
<template> identifica o modelo de contedo painel. O valor pode ser
um nome de arquivo no caso de o modelo de contedo reside no mesmo local no
soluo como o repositrio . Xcdf arquivo. Se assim o desejar, o modelo de contedo
pode ser colocado em outro local dentro do repositrio, mas depois o
caminho precisa ser especificado tambm. Por exemplo, <template> foo / bar.html
</ Template> especifica bar.html localizado na pasta filho do atual
local chamado foo como o modelo de contedo.
<style> identifica um modelo de documento particular. Este um opcional
tag. Se estiver presente, ele identifica um arquivo HTML no qual o contedo do painel
ser colocado. Se essa marca no especificado, o modelo de documento padro
ser usado.
Note que a extenso . Xcdf necessria. Sem essa extenso, o arquivo
no ser reconhecido como uma definio de painel. A extenso controlado
atravs da plugin.xml arquivo discutido na subseo anterior. Para ser preciso,
H dois elementos no plugin.xml arquivo que controlam a extenso:
A type =''xcdf''Atributo na <content-type> elemento
A type =''xcdf''Atributo na <content-generator> elemento
Modelos
Ns j mencionei que os painis so, essencialmente, documentos HTML.
O CDF gera esses documentos, mesclando um genrico esqueleto HTML
documento com outro documento HTML (parcial) que contm o real
painel de definio de contedo.
Ns nos referimos a estes dois documentos HTML como modelos, e ao final
Pgina web mesclado como o tablier. Chamamos o documento esqueleto genrico do
modelo do documento (s vezes chamado modelo externo). Ns usamos o termo documento
modelo de contedo para o arquivo que define o painel real. Figura 17-3
ilustra o processo de montagem do documento.
Modelo de Documento (a.k.a. exterior Modelo)
Documento modelos so projetados para permitir que o contedo recorrente para ser
reutilizado por
vrios painis. Exemplos tpicos de contedo reutilizvel incluem:
Captulo 17 Construindo Painis 539
<link> e / ou <style> elementos para definir em cascata folhas de estilo para
manuteno de uma aparncia consistente
<script> elementos para adicionar interao personalizada ou importao de extenso
componentes do painel
estruturas de navegao, como links, barras de ferramentas e / ou menus
Os elementos estruturais para obter um layout de documento genrico
JavaScript e CSS Recursos
jquery.js
Painis = {var
var BaseComponent =
Base.extend ({
...
...
});
<html>
<head>
.../> <link
.../> <script
</ Head>
<body>
<img id="logo"/>
{Content}
</ Body>
</ Html>
Dashboard modelo de documento
<html>
<head>
<script> </ script>
<script> </ script>
href=""/> <link
.../> <link
<script.../>
</ Head>
<body>
<img id="_logo"/>
id="myComp"/> <div
<script>
myCompDef = {var
ouvintes: [
"Paraml"
]
, ...
}
Dashboards.init (
[MyCompDef]
);
</ Script>
</ Body>
</ Html>
painel montado
id="myComp"/> <div
<script>
myCompDef = {var
ouvintes: [
"Paraml"
]
, ...
Dashboards.init (
[MyCompDef]
);
</ Script>
Dashboard modelo de contedo
Figura 17-3: Conjunto de documentos
documento CDF modelos residem no diretrio home CDF. O padro
Pentaho Community Edition navios servidor com documento de duas dashboard
modelos:
modelo-dashboard.html -Este o modelo do documento padro. Se o
dashboard . Xcdf arquivo no especificar um <style> elemento, este modelo
ser usado. Ele inclui alguns elementos de navegao para permitir que os painis
a ser executado fora do ambiente do usurio Pentaho console.
modelo-painel-mantle.html -Este modelo um pouco modificada
verso do modelo-dashboard.html que no inclui qualquer navegao-
o elementos. Este modelo de documento destina-se painis que
executado dentro de uma pgina da guia do usurio Pentaho console (que chamado
manto,
da o manto sufixo).
540 Parte IV Inteligncia Aplicaes de Negcio
Alm dos genricos, os elementos reutilizveis de HTML, o modelo de documento
tambm contm espaos reservados, que so substitudos pela CDF plugin durante
documento da montagem. Estes marcadores so indicadas utilizando os seguintes
sintaxe:
{Nome do espao reservado-}
Listagem 17-3 mostra alguns dos contedos do modelo do documento padro
modelo-dashboard.html.
Listagem 17-3: Alguns dos contedos de um modelo de documento da CDF
xmlns="http://www.w3.org/1999/xhtml"> <html
<head>
<Tipo de link = "text / css" rel = "stylesheet"
href = "recursos / estilo / template.css" />
</ Head>
<body>
<script type="text/javascript">
isadmin = "{isadmin}";
isLoggedIn = "{isLoggedIn}";
</ Script>
div id = "content">
div id = "primaryContentContainer">
id="primaryContent"> <div
{Content}
</ Div>
</ Div>
</ Div>
</ Body>
</ Html>
Na Listagem 17-3, voc pode ver o nmero de substituies:
isadmin -Pode ser substitudo por verdade no caso de o usurio atual o
Pentaho administrador.
isLoggedIn -Pode ser substitudo por verdade no caso de o usurio atual est
Autenticados.
contedo -Pode ser substitudo com o contedo do painel de contedo
modelo. O modelo de contedo do painel discutido em detalhe na
prxima subseo.
Os nomes dos arquivos de documento padro do modelo no CDF
incio home directrio com em modelo de painel e terminam com . Html. Este
padro de nome de arquivo um requisito para todos os modelos de documentos. Entre os
em modelo de painel prefixo eo . Html sufixo no pode aparecer opcionalmente
Captulo 17 Construindo Painis 541
um nome de modelo, que deve ser precedido por um hfen. Por exemplo, no
nome do arquivo do modelo-painel-mantle.html modelo, o texto -Manto
aparece entre o prefixo eo sufixo. Neste caso, manto o real
nome do modelo.
Para especificar o modelo do documento, voc pode definir o valor da <style>
elemento no painel de . Xcdf arquivo para o nome do modelo. Por exemplo,
Listagem 17-2 usa <style> manto </ div> para especificar que o manto tem-
chapa deve ser usado-map isso para o modelo de painel-manto
. Html arquivo.
Se nenhum modelo do documento especificada no . Xcdf arquivo, o modelo padro
(modelo-dashboard.html) Ser usado. Para esses painis, o documento
modelo tambm pode ser definida dinamicamente, passando o nome do modelo na
modelo parmetro na parte de consulta URI do painel.
Modelo de Contedo
O modelo de contedo um arquivo HTML parcial que contm o painel de instrumentos reais
definio. Durante a montagem do painel, o {Content} espao reservado na
modelo de documento passa a ter o contedo do modelo de contedo. A
modelo de contedo referenciado a partir do . Xcdf arquivo usando o modelo elemento.
Normalmente, voc poderia colocar o modelo de contedo do painel na soluo
diretrio junto com o . Xcdf arquivo.
O modelo de contedo tipicamente contm os seguintes itens:
JavaScript definies de objeto para os componentes do painel e alguns
cdigo para inicializar o Dashboards Objeto JavaScript.
marcadores HTML para contedo componente.
Opcionalmente, o contedo HTML esttico para obter um layout de painel
componentes.
Listagem 17-4 mostra um exemplo de um modelo de contedo muito simples que define
um painel com apenas um componente.
Listagem 17-4: Um modelo de contedo muito simples CDF
id="component_placeholder"> <div
<-! Este espao reservado componente ser preenchido pelo componente ->
</ Div>
<! - Este script define um componente e inicializa o painel ->
language="javascript" type="text/javascript"> <script
/ *
* Definir o componente e configurar suas propriedades.
* /
componente = {var
542 Parte IV Inteligncia Aplicaes de Negcio
nome: "component_name", tipo: "xaction",
htmlObject: "component_placeholder",
soluo: "mca", o caminho: "/ painis / clientes",
ao: "dashboard_component.xaction",
parmetros: []
executeAtStart: true
}
/ *
* Initalize o painel e adicione o componente.
* /
Dashboards.globalContext = false;
componentes var = [componente];
Dashboards.init (componentes);
</ Script>
Listing 17-4 contm apenas dois elementos HTML: a div elemento que usado
como componente e um espao reservado script elemento que contm o JavaScript
cdigo para configurar o painel e seus componentes. Normalmente, o contedo do painel
modelos teria mais alguns componentes, assim como algumas HTML para colocar
os componentes na pgina.
H algumas coisas de nota na listagem 17-4 que se aplicam a todos os painis
modelos de contedo:
espaos reservados de contedo so tipicamente div ou span elementos. Os espaos
reservados
dado um id atributo, que usado para atribuir um identificador nico. Este
necessria para permitir que os componentes para encontrar a rea onde eles podem
exibir sua sada. No exemplo, usamos um div elemento e atribudas
a identificao component_placeholder.
A definio do componente um objeto literal, que , pelo menos da
a perspectiva do construtor de dashboard mais pequeno do que um conjunto de
pares nome / valor. Ns discutiremos os componentes em detalhe no prximo
subseo.
O painel inicializado com uma chamada para Dashboards.init (). Este
inicializa o painel e pode adicionar vrios componentes, que so
passados como um array.
Exemplo: Clientes e Dashboard Sites
Nesta seo, ns orient-lo atravs da criao de um painel de exemplo. Para o
exemplo, suponha que voc precisa para construir um painel que permite que os gestores
da empresa Classe Mundial Filmes para obter rapidamente uma viso geral de seus
Captulo 17 Construindo Painis 543
clientes e como eles se relacionam com os diversos sites de Classe Mundial Filmes.
Figura 17-4 mostra o resultado final deste esforo:
Figura 17-4: Um painel de clientes e websites
O painel contm os seguintes componentes:
No canto superior esquerdo, um grfico que mostra o nmero total de clientes
por site. Isso proporciona uma viso rpida e intuitiva do negcio
potencial de cada site. Os usurios podem clicar em fatias do bolo para perfurar
para baixo e obter informaes por site.
O ttulo do painel exibe o valor da seleo atual feita em
o grfico de pizza. Isso mostrado no topo do tablier.
Um mapa que mostra onde os clientes de um site particular, so
localizado.
Um grfico de linha que mostra registros de clientes e de-inscries. Ns
no incluem os dados reais para adicionar isso, mas deixo isto como um
exerccio para o leitor. Voc deve ser capaz de adicion-lo em seu prprio pas, se voc
conseguiu a adio dos componentes anteriores.
O restante desta seo descreve passo a passo como criar esse
painel de instrumentos.
NOTA Note que no so necessrias ferramentas especiais para criar o painel. Tudo o que voc
precisa Pentaho Design Studio para criar seqncias de ao, e um editor de texto para
criar os arquivos de painel especfico. Tambm no h instrumentos envolvidos para implementar o
544 Parte IV Inteligncia Aplicaes de Negcio
painel de instrumentos. simplesmente uma questo de colocar os arquivos para a soluo de
repositrio de arquivos
do sistema. Para este exemplo, ns assumimos que voc est trabalhando como Administrador com
uma
sendo executado localmente servidor Pentaho BI. Dessa forma, voc pode simplesmente colocar os
arquivos que voc
criar para o painel diretamente na soluo Pentaho adequado
subdiretrio.
Instalao
Antes que voc pode construir o painel, uma boa idia para criar uma pasta separada
manter todos os itens relacionados ao painel. Este provavelmente o melhor feito a partir do
usurio do console.
Ns recomendamos que voc criar uma partio dashboards pasta na wcm soluo,
e abaixo disso, uma Clientes pasta para este painel exemplo especfico.
Criar um separado dashboards pasta uma questo de convenincia. Ele fornece
um espao para manter todos os tipos de recursos compartilhados por vrios painis, e
tambm torna mais fcil criar um novo painel, simplesmente copiando e colando
um j existente. de nenhuma maneira a obrigao de faz-lo.
Criando o. Xcdf Arquivo
O primeiro passo na criao de um painel para configurar o . Xcdf arquivo.
1. Criar um novo arquivo de texto chamado customers.xcdf diretamente no sistema de
arquivos
diretrio que corresponde Clientes pasta da soluo Pentaho
repositrio.
2. Abra o customers.xcdf arquivo, e adicionar o contedo mostrado na
Listagem 17-5.
3. Salve as alteraes para o arquivo.
Listagem 17-5: O arquivo customers.xcdf
<? Xml version = "1.0" encoding = "UTF-8"?>
<cdf>
<title> WCM clientes Painel </ title>
<author> World Class Filmes - Randy Coon </ author>
<description>
Os clientes que WCM Dashboard fornece
uma viso geral da distribuio de
- Os clientes WCM sobre websites
- Cliente local
- Cancelamento de registro de clientes /
</ Description>
<icon> </ icon>
<template> clientes-template.html </ template>
</ Cdf>
Captulo 17 Construindo Painis 545
Criando o arquivo HTML Dashboard
Na subseo anterior, voc criou o customers.xcdf arquivo. Este
arquivo inclui o <template> tag e usa-lo para especificar que cliente
-Template.html o seu modelo de contedo do painel:
<template> clientes-template.html </ template>
A partir de nossa discusso anterior sobre o . Xcdf arquivo, voc pode se lembrar que
o modelo elemento especifica o caminho eo nome do contedo do painel
modelo. Neste caso, nenhum caminho for especificado, eo CDF plugin ir procurar
um arquivo chamado cliente template.html no diretrio atual. Assim, voc pode
basta criar o cliente template.html arquivo no mesmo diretrio que o
customer.xcdf arquivo.
1. Abra o cliente template.html arquivo e adicionar o contedo mostrado na
Listing 17-6.
2. Salve as alteraes quando tiver terminado.
Listagem 17-6: O arquivo cliente template.html
<h1> O WCM Dashboard Clientes </ h1>
language="javascript" type="text/javascript"> <script
/ / Obter a soluo eo caminho da localizao actual
soluo var = Dashboards.getQueryParameter ("soluo");
var caminho = Dashboards.getQueryParameter ("caminho");
/ / Parmetros Dashboard
Dashboards.globalcontext = false;
/ / Definies de parmetros clique aqui
/ / Definies de componentes
componentes var = [];
/ Painel de inicializao /
Dashboards.init (componentes);
</ Script>
Cdigo clich: Como a soluo e caminho
O contedo inicial da cliente template.html arquivo so apenas uma
cdigo clich esqueleto que agora voc pode expandir gradualmente a construir a
painel de instrumentos. Ns queremos mencionar algumas coisas sobre esse cdigo.
As duas primeiras declaraes definem os soluo e caminho variveis globais. Estes
so usados para manter o nome da soluo Pentaho corrente e repos-soluo
caminho itory respectivamente. Esta uma questo de convenincia: voc precisa configurar
546 Parte IV Inteligncia Aplicaes de Negcio
uma srie de componentes que recorrer a uma seqncia de ao. Alm da
nome da . Xaction arquivo, esses componentes precisam de saber o nome da
Pentaho soluo eo caminho de soluo de repositrio onde o . Xaction arquivo reside.
Voc pode obter os valores para as variveis de soluo eo caminho da URI
da pgina web atual. Isso funciona porque o painel em si servido
a partir da soluo de repositrio, eo nome da soluo eo caminho so
na parte de consulta da URI. A Dashboards objeto fornece a
getQueryParameter mtodo, que foi criado especialmente para analisar a atual
URI e pegar o valor do parmetro de consulta especificado pelo argumento.
Por exemplo, a parte de consulta da URI do nosso painel exemplo :
? Wcm soluo = & = caminho dashboard / clientes & action = customers2.xcdf
Chamando Dashboards.getQueryParameter ("caminho"), Obtemos a
valor / Dashboard / cliente, E chamando Dashboards.getQueryParameter (
"Soluo") resulta no valor wcm.
Cdigo clich: Parmetros Dashboard
A declarao no cdigo clich Dashboards.globalcontext = true;
assinala o incio de uma seo que voc ir usar para definir os parmetros do painel e
seus valores iniciais.
Dashboard parmetros so usados para conduzir atualizaes de componentes do painel.
No existem definies de parmetro no cdigo clich ainda, e voc
ir adicion-los como necessrios, mas sempre uma boa idia de reservar uma seo em
antecedncia. Uma vez que voc achar que voc precisa fazer parmetros, isto ir ajudar a
manter
los em um s lugar. Ns colocamos a seo de parmetros antes que os componentes,
porque isso ir tornar mais fcil para configurar os componentes que precisam
referem-se a todos os parmetros do painel.
Por enquanto, a nica linha desta seo define a globalcontext propriedade da
Dashboards objeto a falsa. Por padro, essa propriedade verdade, Que permite
o painel para usar todas as variveis globais como parmetros. Por vrias razes,
recomendamos que voc sempre este conjunto de falsa.
Cdigo clich: Componentes Dashboard
A seo final do cdigo clich esto l para fazer alm de componentes
um pouco mais conveniente. O padro tpico a criao de todos os seus componentes
definies e adicion-los todos de uma vez para o Dashboards objeto com uma chamada para o
seu
init mtodo.
Listagem 17-6 criada uma varivel global chamada componentes, E recebe um novo
matriz vazia para ele. Como voc criar definies novo componente, um por um, voc
adicion-los a essa matriz. Finalmente, na ltima linha do cdigo, voc passa a
componentes da matriz para Dashboards.init.
Captulo 17 Construindo Painis 547
A vantagem dessa abordagem que permite que voc mantenha o cdigo que
cria cada definio de componente, juntamente com o cdigo que faz com que seja
adicionada ao painel. Uma vantagem adicional que a linha atual que
adiciona os componentes no tem a lista de nomes de variveis do indivduo
componentes. Em nossa experincia, isso torna mais fcil de erro e menos propenso a
adicionar
e remover componentes.
Teste
Embora o painel em si ainda no contm nenhum contedo real, voc pode
j que o acesso do usurio do console. , de fato, sbio para testar isso agora,
s para ter certeza que temos os primeiros passos direita.
1. Porque o customers.xcdf e cliente template.html arquivos residem em
a soluo de repositrio, voc deve atualiz-lo para testar o painel.
Voc pode fazer isso a partir do console ou Administrao Pentaho
diretamente do usurio consola a ltima opo provavelmente a mais
conveniente. (Lembre-se voc pode atualizar o repositrio do usurio
console menu, escolha Ferramentas Refresh Repositrio de cache, ou voc
pode clicar no cone de atualizao pouco no canto superior direito do Procurar
painel).
2. Depois de atualizar o repositrio, voc deve ser capaz de invocar o
dashboard da consola de utilizador. Figura 17-5 mostra um screenshot do que
o painel pode ser semelhante a este ponto.
Figura 17-5: Um painel de clientes vazia
Agora que voc tem um painel vazio, voc pode iniciar a adio de componentes.
Por enquanto, a melhor maneira um passo de cada vez. Testando o painel de instrumentos
aps cada
Alm torna mais fcil detectar quaisquer problemas logo no incio.
548 Parte IV Inteligncia Aplicaes de Negcio
Clientes por grfico de pizza Website
Voc vai primeiro adicionar os clientes por grfico de pizza site. Existem duas maneiras de
incluir grficos em painis:
Construir uma seqncia de ao que proporciona a carta, e que incluem no
painel usando CDF XactionComponent.
Criar um CDF JFreeChartComponent e configur-lo para carregar os dados diretamente
a partir de uma consulta SQL ou MDX ou transformao PDI.
Para este exemplo, voc vai ficar com a primeira opo. H uma srie de
razes para esta escolha.
Primeiro de tudo, uma seqncia de ao em separado sero reutilizveis ao longo do
plataforma. Isto pode no ser a melhor razo para todos, mas se o grfico
susceptveis de serem reutilizadas em outras seqncias de ao, ou mesmo outros painis,
em seguida, um
seqncia de ao contribuir para separar a manuteno de uma soluo de BI como um
inteiro.
A segunda razo para preferir uma seqncia de ao que no so importantes
questes de segurana envolvendo todos os componentes que permitem que dados sejam
obtidos directamente
a partir de uma consulta. Atualmente, essas consultas so executadas pelo servidor, mas a
consulta
texto controlado a partir do lado do cliente. Embora a definio de componentes
decorre de tudo que estava especificado no modelo de contedo no lado do servidor,
o texto da consulta podem ser manipulados pelo cliente, levando a SQL e / ou MDX
injeo. (Isto pode ser facilmente alcanado atravs de um depurador de JavaScript do
navegador
como o Firebug ou scripting plugin como o Greasemonkey).
Para consultas MDX, as ramificaes talvez no sejam to graves como para SQL,
porque os cubos de Mondrian que so alvo de MDX pode ser fixada com
autorizao baseada em funo. Para consultas SQL, isso praticamente impossvel. Na
estado atual das coisas, ns recomendamos fortemente contra o uso dela. O CDF
comunidade est bem ciente desses problemas e est trabalhando atualmente em uma forma
de
fornecer uma soluo segura para este problema.
Clientes / Website: Seqncia de Ao Pie Chart
O prximo passo criar a seqncia de aes para entregar a pizza.
1. Para entregar a carta, criar uma seqncia de ao denominada customers_per
_website_piechart.xaction e armazen-lo na wcm / painis /
Clientes diretrio juntamente com os arquivos do painel outra. A ao
design seqncia mostrado na Figura 17-6.
2. O primeiro passo na seqncia de ao chamado Obter Contagem cliente por
Website. Esta uma ao do processo relacional. (Voc pode encontrar este tipo de
ao no submenu Obter dados de.) A consulta SQL que usada para
recuperar os dados do grfico de pizza mostrado na Lista 17-7.
Captulo 17 Construindo Painis 549
Figura 17-6: O projeto seqncia de ao para os clientes por grfico de pizza Website
Listagem 17-7: A consulta SQL para os clientes por grfico de pizza Website
SELECT customer_website_name,
COUNT (*) AS customer_count
FROMdim_customer
WHEREcurrent_record 1 =
ANDcustomer_date_unregistered CURRENT_DATE> ()
GRUPO PELA customer_website_name
ORDER BY 2
Esta uma pergunta bastante simples que busca a linha atual do
cada cliente registrado, e agrupa as linhas para contar o nmero de
clientes pelo site. Finalmente, o resultado ordenado pelo customer_count.
A ordem importante e vai afetar a ordem das fatias do bolo
grfico. Na seqncia de ao, o resultado da consulta acessvel para o
o restante da seqncia de ao no query_result parmetro de sada.
550 Parte IV Inteligncia Aplicaes de Negcio
3. O segundo passo na seqncia de ao simplesmente chamado Grfico de pizza. Voc
Pode encontrar este processo de ao no menu no submenu Grfico. A Torta
Grfico ao do processo aceita a query_result da etapa anterior
e usa-lo para definir o grfico de dados parmetro de entrada. Alm disso, alguns dos
o Grfico de pizza'S opes so definidas especificando os atributos diretamente no grfico
a seqncia de ao. A configurao mostrado na Lista 17-8.
Listing 17-8: Configurando a ao do processo grfico de pizza
<chart-attributes>
<chart-type> PieChart </ tipo de grfico->
Clientes <title> por site </ title>
<title-position> fundo </ a posio title->
<url-template>
javascript: piechart_clicked ("{customer_website_name}");
</ Template-url>
<paramname> customer_website_name </ paramName>
<legend-font>
<font-family> Arial </ font-family>
<size> 12 </ size>
</ Font legenda->
<interior-gap> 0,01 </ lacuna interior->
<width> 350 </ largura>
<height> 350 </ altura>
</ Carta-atributos>
NOTA O XML de configurao usados na Listagem 17-08 maio parece um pouco assustador no
em primeiro lugar. No entanto, parece mais difcil do que realmente . O Wiki Pentaho contm excelentes
informaes sobre a criao e configurao de grficos. A documentao pode
ser encontrado em:
http://wiki.pentaho.com/display/ServerDoc2x/Chart+Reference
As linhas em negrito da Listagem 17-8 so de interesse particular. Estas linhas
permitir que o documento HTML que contm o grfico para reagir no caso de uma fatia de
o grfico clicado. Uma discusso completa sobre como essa configurao afeta
o HTML gerado est alm do escopo deste livro. Por agora suficiente
para perceber que o url-modelo elemento provoca uma funo JavaScript chamada
piechart_clicked () para ser chamado sempre que uma fatia do bolo clicado. A
paramName elemento eo {} Customer_website_name espao reservado para assegurar
que o nome do site que corresponde fatia de pizza passado como
um argumento para a funo. Observe que o nome customer_website_name
Captulo 17 Construindo Painis 551
idntico ao nome da primeira coluna do conjunto de resultados emitido pelo
primeiro passo na seqncia de ao.
A tag de imagem parmetro de sada usado para entregar o resultado da pizza
Grfico ao do processo para o chamador da seqncia de ao. Isto ir gerar o
HTML necessrio para tornar um grfico de pizza no seu painel.
Depois de criar a seqncia de ao, uma boa idia test-lo. Se voc
acidentalmente cometi um erro na seqncia, mas no test-lo de antemo,
voc pode perder muito tempo depurando seu painel apenas para descobrir que
ocorreu o problema a montante.
Ento, atualize a soluo de repositrio. Voc dever ver uma janela pop up novo item na
usurio do console. Abri-lo para verificar se o grfico de pizza exibida. Deve olhar
como o grfico mostrado anteriormente na Figura 17-4.
Clientes / Website: XactionComponent
Depois de ter confirmado a seqncia de ao, voc precisar modificar o
cliente template.html arquivo para inclu-lo em seu painel. Voc precisa:
Adicionar um elemento de espao reservado HTML que atua como recipiente onde a
sada
a partir da seqncia de ao pode ser exibida.
Criar um objeto JavaScript que sabe como chamar a seqncia de ao.
Este objeto o componente do painel de instrumentos reais.
Adicione o componente do painel.
1. Para isso, abra o clientes-template.html arquivo e adicionar um
div elemento para atuar como um espao reservado. Inseri-lo logo aps a tag de
fechamento
da inicial h1 elemento, mas antes da script elemento, como mostrado aqui:
<h1> O WCM Dashboard Clientes </ h1>
id="customersPerWebsite"> </ div>
language="javascript" type="text/javascript"> <script
... Resto do ficheiro ...
Observe o id atributo no div elemento. Como voc vai ver, voc precisa
passar o valor para a definio do componente para que ele saiba onde colocar
sua sada.
2. Agora voc pode adicionar uma nova seo dentro do elemento script para definir
seu componente. Primeiro, encontre a linha que l:
componentes var = [];
Imediatamente aps essa linha, adicione o cdigo listado na listagem 17-9 e depois salvar
suas alteraes.
552 Parte IV Inteligncia Aplicaes de Negcio
Listagem 17-9: O grfico circular definio de componentes
/ / Clientes / site Pie Chart Component
componentes [components.length] = {
nome: "customersPerWebsite", tipo: "XactionComponent",
: soluo, o caminho: caminho,
ao: "customers_per_website_piechart.xaction",
parmetros: []
htmlObject: "customersPerWebsite",
executeAtStart: true
};
O cdigo na listagem 17-9 uma declarao de atribuio. Para o direito do
sinal de igual, voc tem um objeto literal (esta a pea a partir da abertura
chaveta de imediatamente aps o sinal de igual chave de fechamento em
ao final do anncio), que ser usado pelo Dashboards objeto para criar
e configurar o componente real. Para a esquerda do sinal de igual, voc tem
componentes [components.length]. Como um todo, a declarao tem o efeito de
acrescentando um novo componente de configurao para o final da matriz de componentes
(Que armazenado no componentes varivel). Nesta fase, o objeto literal
em si pouco mais do que um saco de pares nome / valor. Aqui vai uma breve explicao
de suas finalidades:
nome Um valor de cadeia. Isso deve identificar o componente entre
todos os outros componentes na pgina.
tipo Um valor de cadeia. Internamente, isso usado para fazer o instanciados real-
o de uma das classes de componentes. Neste caso particular, voc quer
para obter um resultado de uma seqncia de ao, que porque voc usou o
string XactionComponent. Alternativamente, voc tambm pode usar xaction ou
Xaction -Todos estes so mapeados para o XactionComponent componente em
o CoreComponents.js arquivo.
soluo Um valor de cadeia. Este o nome da soluo Pentaho onde
a seqncia de ao, queremos chamar reside. Basta atribuir o soluo
varivel, que ns vimos em nossa discusso sobre o cdigo clich.
caminho Um valor de cadeia. Este o caminho da soluo de repositrio onde o
seqncia de ao, queremos chamar reside. Basta atribuir o caminho varivel,
que ns vimos em nossa discusso sobre o cdigo clich.
ao -O nome do . Xaction arquivo.
parmetros -Esta uma matriz para especificar quais parmetros devem ser
passou ao invocar a seqncia de ao. A Grfico de pizza ao
seqncia no exige (nem esperar) quaisquer parmetros, razo pela qual
a matriz est vazia. Quando voc configurar outros componentes, voc vai aprender
como configurar o parmetros membro.
Captulo 17 Construindo Painis 553
htmlObject Um valor de cadeia. Aqui, voc pode atribuir o valor do atributo ID
do titular do componente local. Isto estabelece uma ligao entre a
objeto componente JavaScript e HTML do documento e permite a
componente para mostrar a sua sada no painel.
executeAtStart -Um valor booleano. Configurando-o para verdade faz com que o com-
nente a ser prestado, logo que todos os componentes so adicionados
painel de instrumentos. Caso contrrio, o componente ser atualizado somente em
resposta
a uma mudana de parmetros. Isso discutido na prxima subseo.
Agora que voc mudou o dashboard para incluir um componente, voc deve
Refresca a soluo de repositrio e testar o painel. Quando voc invocar o
painel voc ver que o grfico de pizza foi adicionada ao painel.
Alterar dinamicamente o ttulo Dashboard
Nesta seo, vamos explicar como permitir que componentes do painel de interagir com
uns aos outros. Isto envolve trs adies distintas para cliente template.html:
A piechart_clicked () funo, que ser chamado sempre que o
usurio clica em uma fatia do grfico de pizza
A site parmetro do painel, que utilizado para comunicar a
nome da fatia clicado grfico de pizza para o Dashboards objeto
O marcador de cdigo HTML e JavaScript para uma TextComponent que
reage a uma mudana na site parmetro, mostrando o seu valor
Adicionando o parmetro website_name Dashboard
Porque tanto a piechart_clicked () funo e os novos TextComponent
necessidade de se referir ao site parmetro, melhor criar esse primeiro.
Acrescente o seguinte cdigo para a parmetro seo que ele l:
/ Nome / parmetro
param_website var = "website";
/ / Valor inicial do parmetro
Dashboards.setParameter (param_website, "Classe Mundial Filmes");
Este novo trecho de cdigo faz duas coisas:
Atribui o nome do parmetro site para a varivel global param_website
Na verdade, cria o parmetro na Dashboards objeto e fornece-
com um valor padro, neste caso "Classe Mundial Filmes"
Como voc pode ver, o nome do parmetro armazenado em uma varivel global para
voc pode usar isso para se referir ao nome do parmetro. A vantagem dessa abordagem
que voc no precisar digitar repetidamente o nome do parmetro literal todo
o cdigo. Se voc tivesse que usar a seqncia literal "Site", H o risco de
554 Parte IV Inteligncia Aplicaes de Negcio
acidentalmente apertou o nome. Voc pode, naturalmente, tambm cometeu um erro quando
digitando o nome da varivel param_website, Mas isso vai resultar em uma execuo clara
de erro sempre que voc se refere varivel no-existentes. Problemas causados por
erros de digitao do nome do parmetro literal so muito difceis de solucionar: qualquer
erros de execuo podem surgir numa fase muito mais tarde, depois de dashboard
inicializao, e tambm provvel que os componentes parecem falhar silenciosamente.
Note que so necessrios para criar o parmetro usando setParameter
porque voc defina explicitamente a globalcontext membro da Dashboards objeto
para falsa. Se voc deixou globalcontext ativada, voc ainda seria necessria para
''''Criar o parmetro, mas teria que se resumia a criao de uma global
site varivel, assim:
/ / Inicializa o parmetro website
var site = "Classe Mundial Filmes";
Embora isso possa parecer simples primeira vista, o uso de variveis globais faz
mais difcil manter o cdigo de dashboard. Por um lado, mais difcil distin-
guir entre as variveis globais que so''apenas''variveis globais e as
os que so usados como parmetros. muito fcil de substituir acidentalmente
o valor de uma varivel global, o que torna difcil para depurar pro-
blemas. Ao desativar globalcontext, Voc forado a usar explicitamente as chamadas para
Dashboards.setParameter () e Dashboards.getParameterValue (), Que
torna claro que a inteno .
Reagindo aos cliques do mouse sobre o grfico de pizza
O segundo passo criar o piechart_clicked () funo. Lembre-se
que, quando voc configurou o url-modelo propriedade da tabela (veja a lista-
o 17-8), s fez com que o piechart_clicked () funo a ser chamada.
Voc nunca definiu a funo em si. Agora voc ir adicionar o cdigo para o
piechart_clicked () funo.
Listagem 17-10 mostra uma possvel implementao do piechart_clicked ()
funo. Adicione este cdigo para o cliente template.html arquivo, diretamente abaixo
a definio do componente grfico de pizza.
Listagem 17-10: A funo piechart_clicked
/ / Funo que lida com os cliques do mouse sobre as fatias de pizza
funo piechart_clicked (website) {
curr_param_website var = Dashboards.getParameterValue (param_website);
if (curr_param_website! site =) {
Dashboards.fireChange (site param_website);
}
}
Captulo 17 Construindo Painis 555
Quando piechart_clicked () chamado, o nome da categoria que pertence
a fatia correspondente passado atravs da sua funo site argumento. Este um
conseqncia imediata da maneira que voc configurou o url-modelo propriedade
da Grfico de pizza seqncia de ao. Este cdigo mostrado na ntegra na Lista 17-8.
No corpo da funo, voc primeiro determinar o valor atual da
o site painel de parmetros. Isso feito chamando o getParameter
Valor () mtodo da Dashboards objeto, passando o param_website varivel,
que detm o nome do parmetro.
Em seguida, verifique se o valor atual da site parmetro difere de
o novo valor passado como argumento. Isto usado por um se declarao
para decidir se deve chamar o fireChange () mtodo da Dashboards objeto.
A fireChange () mtodo da Dashboards objeto de espera para ser passados dois
parmetros:
O nome de um painel existente parmetro Mais uma vez, voc pode usar o
varivel global param_website.
O novo valor para o parmetro especificado-Este o valor do argumento
voc recebe do grfico de pizza.
O objetivo da fireChange () mtodo consiste em comunicar a alterao
ao Dashboards objeto, que ento notificar os outros componentes do
mudar.
NOTA Note-se que fireChange'''' um pouco enganador como o fireChange ()
mtodo no significa necessariamente uma mudana de fogo. Se voc realmente quiser garantir que
voc est
apenas a sinalizao mudar, voc tem que certificar-se explicitamente a si mesmo. por isso que o
nosso
execuo do piechart_clicked () mtodo utiliza um se declarao
evitar falsas sinalizao de mudanas que no ocorreu.
Adicionando um TextComponent
O passo final adicionar um componente do painel que pode exibir o valor de
o site parmetro. A TextComponent destina-se precisamente este tipo
da tarefa.
1. Para incluir esse componente do painel, voc precisa adicionar um elemento HTML
espao reservado onde o componente pode tornar seu texto. Voc vai usar um span
elemento para esse fim, que voc vai colocar na j existente h1
elemento:
Os clientes da <h1> Website: id="websiteName"> <span </ span> </ h1>
Voc usa um span elemento para garantir o texto processado pelo componente
ir aparecer''inline''com o texto da contendo h1 elemento. Nota
556 Parte IV Inteligncia Aplicaes de Negcio
que incluiu uma id atributo e atribudo o valor WebSiteName.
A id atributo ser usado pelo TextComponent para manipular
o documento HTML, neste caso, para processar um texto. Esta
semelhante ao nosso uso prvio do id atributo no espao reservado
correspondente ao XactionComponent ns usado para exibir o
grfico de pizza.
2. Depois de adicionar o espao reservado, voc pode adicionar o cdigo JavaScript para
criar a
componente. O cdigo para a TextComponent mostrado na Listagem 17-11.
Adicione este cdigo logo abaixo do piechart_clicked () funo:
Listagem 17-11: Cdigo para o TextComponent para alterar dinamicamente o nome do
parmetro website no ttulo do painel
/ / Textcomponent nome Website
componentes [components.length] = {
nome: "website", tipo: "TextComponent",
ouvintes: [param_website]
expresso:
function () {
retorno Dashboards.getParameterValue (param_website);
}
htmlObject: "site da Web",
executeAtStart: true
};
O cdigo na Listagem 17-11 revela uma srie de semelhanas com o cdigo
para o XactionComponent usado para exibir o grfico de pizza (que mostrado na
Listagem 17-9). A nome,tipo,htmlObject e executeAtStart membros foram
todos os mostrados aqui, e tem um significado semelhante para este tipo de componente.
Ao contrrio da XactionComponent mostrado na Lista 17-9, o TextComponent no
no invocar uma seqncia de ao e, portanto, as variveis de membro soluo,
caminhoE ao e os parmetros no so aplicveis. H dois membros
variveis que no encontrou antes:
expresso Funo de uma seqncia. Para o TextComponent, Esta funo
ser chamado para entregar o valor de texto que ser colocado no elemento
identificados pelo htmlObject membro. Na Listagem 17-11, optamos por anexar
uma funo inline chamada annima directamente para o membro. Se no houver
uma funo chamada j est disponvel, voc pode simplesmente atribuir a funo
nome prprio. Se voc usar uma funo chamada, note que voc no deve
anexar o parnteses aps o nome da funo a que tem o efeito de
chamar a funo, o que far com que o valor de retorno da funo para
ser atribudo, e no a prpria funo.
ouvintes -Uma matriz de nomes de parmetro. Esse membro pode ser con-
figurado para todos os tipos de componentes. Listagem de um nome de parmetro
dashboard
Captulo 17 Construindo Painis 557
aqui faz com que o componente de ouvir esse parmetro. Na prtica, isso
significa que o componente ser chamado para atualizar-se sempre que o
fireChange () mtodo da Dashboards objeto chamado com o respec-
nome do parmetro tiva como seu primeiro argumento. Na Listagem 17-11, ns
configuramos
o componente para ouvir o site parmetro, incluindo o
param_website varivel em sua matriz ouvintes.
Aps concluir essas etapas, voc deve testar para ver se tudo funciona. Assim
Refresca a soluo de repositrio e em seguida, abra o painel. Clique sobre a torta
para garantir que os cliques so capturados. Tambm verifique se o ttulo do painel
atualizado automaticamente quando clicar no grfico de pizza.
Mostrando a localizao do cliente
Agora que voc tem um parmetro do painel, que controlado pelo mouse
clique no grfico de pizza, voc pode adicionar mais componentes e configurar ouvintes
para isso.
Nesta subseo, voc vai aprender como adicionar um CDF MapComponent para mostrar
distribuio geogrfica dos clientes. Voc vai usar isso para mostrar um mapa de
Estados Unidos, que marca os 100 primeiros (por nmero de clientes) locais
dos clientes da empresa de classe mundial de filmes para o site atual.
NOTA O CDF MapComponent baseado na biblioteca JavaScript OpenLayers.
Ao contrrio de outras solues de web popular mapa da pgina, OpenLayers open source e
disponvel sob a licena BSD. enviado junto com o CDF. Voc pode encontrar
mais informaes sobre o OpenLayers na http://openlayers.org.
Alm da biblioteca OpenLayers, o CDF MapComponent Tambm usa web
pedidos de www.openstreetmap.org, que fornece os dados para tirar da rua
sobreposies para um mapa OpenLayers.
O CDF MapComponent tambm podem fazer solicitaes da Web para http://www.geonames
. Org / que utilizado para fazer pesquisas de longitude / latitude de nomes local.
MapComponent CDF formato de dados
O CDF MapComponent pode ser usado para indicar as localizaes no mapa mundial.
O componente usa uma seqncia de ao para obter os dados que aparecem no
no mapa. O conjunto de dados tem o seguinte formato:
id -Um identificador exclusivo para um local.
latitude -A latitude geogrfica do local. Isso define o
distncia de um local a partir do equador, expresso em nmero de graus.
Latitude varia de +90 (No Plo Norte) a 90 (centro de
Antrtica). Se a latitude no estiver disponvel, voc pode fornecer um vazio
string.
558 Parte IV Inteligncia Aplicaes de Negcio
longitude De longitude geogrfica do local. Isso define o
distncia de um local a partir do primeiro meridiano, expressa como um nmero
de graus. Longitude varia de +180 a -180. Se a longitude no
disponvel, voc pode fornecer uma seqncia vazia.
nome -A seqncia que representa um nome legvel do local.
valor -O valor da mtrica que voc deseja mapear.
ttulo -Esse valor opcional pode ser utilizado pelo MapBubbleComponent.
(Este um componente que pode ser chamado a partir de uma localizao no mapa
para mostrar os detalhes relativos a esse local especfico.)
Se voc olhar para o formato do conjunto de dados, voc pode perceber uma redundncia:
Localizao pode ser especificado por nome, mas tambm por longitude / latitude. Se o
latitude e longitude no esto presentes, o nome do local utilizado para pesquisa
um servio web fornecido por www.geonames.org. Isso funciona bem se voc estiver
interessados em mapear alguns locais, mas pode se tornar bastante lento quando
centenas de mapeamento de locais. Alm disso, um nico nome pode ser mapeado para
mltiplas
locais, por isso melhor sempre explicitamente fornecer dados de longitude e latitude.
Mais tarde nesta seo descrevem como criar a seqncia de ao para fornecer
os dados para o MapComponent.
Acrescentando uma dimenso Geografia
Antes que voc possa criar uma seqncia de ao para entregar os dados para o
MapComponent, Voc precisar obter a latitude e longitude para todas as localidades
voc deseja mapear. Para manter as coisas simples, optamos por no incluir uma geografia
dimenso no nosso armazm de dados Classe Mundial Filmes. No entanto, para o
finalidade de demonstrar a MapComponent neste painel, precisamos
fornecer a longitude ea latitude de dados para a localizao do cliente.
NOTA A dimenso geogrfica ou local uma caracterstica comum em muitos dados
projetos armazm. Na Classe Filmes do Mundo de data warehouse, uma geografia
tabela de dimenso pode ser usado para navegar na fact_customer, fact_order, e
fact_inventory tabelas de fatos. Alm disso, pode servir para o floco de neve
dim_customer e dim_warehouse tabelas de dimenso. A nica razo para no
inclu-la foi manter a simplicidade. No entanto, incorporando uma geografia
tabela de dimenso na wcm_dwh banco de dados (e modificar o processo de ETL
nesse sentido) um excelente exerccio para a esquerda para o leitor.
Listagem 17-12 mostra o layout da tabela de dimenso geogrfica.
Listagem 17-12: O layout da tabela de dimenso dim_geography
CREATE TABLE dim_geography (
geography_keyINTEGER
Geography_country_code CHAR (2)
NOT NULL,
NOT NULL,
Captulo 17 Construindo Painis 559
Geography_country_name VARCHAR (50) NOT NULL,
geography_region_code CHAR (2) NOT NULL,
Geography_region_name VARCHAR (50) NOT NULL,
geography_longitudeDOUBLENOT NULL,
geography_latitudeDOUBLENOT NULL,
geography_city_nameVARCHAR (50) NOT NULL,
PRIMARY KEY ("geography_key '),
NDICE
(Geography_city_name, geography_region_code geography_country_code)
)
Os dados para a dim_demography tabela pode ser obtido de diversas fontes. Ns
usado o''a populao mundial das cidades''dataset fornecido por MaxMind. Voc pode
baix-lo como worldcitiespop.txt.gz a partir de http://geolite.maxmind.com/
download / worldcities. Alternativamente, voc pode usar os dados da geonames
. Org. J mencionamos que este servio web usada pelo CDF
MapComponent para obter dados de latitude e longitude online, mas o mesmo
site tambm fornece arquivos comprimidos que esto disponveis para download
http://download.geonames.org/export/dump.
Ns no vamos discutir o carregamento do dim_geography dimenso em detalhes, como
o processo bastante simples. Ns carregamos os dados com PDI. Primeiro ns
usou o texto de entrada e sada de mesa etapas para carregar os dados em uma tabela na
estadiamento rea de banco de dados. Em seguida, esta tabela indexada para permitir uma
eficiente pesquisa
no pas, o estado (regio), cidade e. Em uma transformao individual, foi utilizado um
Tabela etapa de entrada para carregar todas as linhas atuais do cliente tabela na wcm
banco de dados. Ns adicionamos Database Lookup etapas para localizar as linhas
correspondentes na
o regio e pas tabelas, e isso permitiu-nos olhar para cima e longitude
latitude pelo nome da cidade, o cdigo de regio (estado), eo cdigo do pas. O resultado foi
despejados no dim_geography tabela.
Localizao Seqncia de Ao de Dados
Agora que voc tem os dados necessrios, voc pode criar uma seqncia de ao
que pode entregar os dados para um MapComponent. Neste caso, voc pode usar um muito
seqncia de aes simples, contendo apenas um Obter dados de / Relacional etapa.
O projeto da seqncia de ao mostrado na Figura 17-7.
Note que a seqncia de ao tem um parmetro de entrada chamado cliente
_website_name. Este ser usado para obter os locais para os clientes do cur-
atualmente selecionado site. O resultado da ao do processo mapeado para o consulta
_result parmetro de sada. Isso garante que os dados podem ser interpretados a partir do
resposta depois de fazer uma solicitao da web para a seqncia da ao.
560 Parte IV Inteligncia Aplicaes de Negcio
Figura 17-7: Uma seqncia de aes para entregar os dados de localizao
O SQL mostrado na Listagem 17-13.
Listagem 17-13: Uma consulta SQL para obter os locais dos clientes
SELECT
,
,
,
g.geography_key
CASO QUANDO g.geography_key IS NULL THEN''
g.geography_latitude ELSE latitude ENDAS
CASO QUANDO g.geography_key IS NULL THEN''
g.geography_longitude ELSE longitude ENDAS
CONCAT (c.customer_city_name
, '', C.customer_region_code
, '(', C.customer_country_code, ')') AS LOCATION_NAME
COUNT (*) AS customer_count
CONCAT (c.customer_city_name) LOCATION_TITLE AS
dim_customerc
g dim_geography
c.current_record = 1
c.customer_country_code = g.geography_country_code
c.customer_region_code = g.geography_region_code
c.customer_city_name = g.geography_city_name
{PREPARO: customer_website_name customer_website_name} =
c.customer_country_code
c.customer_region_code
c.customer_city_name
customer_count desc
100
,
,
DA
LEFT JOIN
ON
E
E
E
ONDE
GROUP BY
,
,
ORDER BY
LIMITE
Captulo 17 Construindo Painis 561
NOTA Se o wcm_dwh projeto teve destaque o dim_geography tabela, o
dim_customer tabela provavelmente teria sido floco de neve, permitindo uma
simples INNER JOIN usando o geography_key.
Colocando no Mapa
Voc pode agora adicionar o cdigo para incluir o MapComponent em seu painel.
1. Abra o cliente template.html arquivo e adicionar a linha a seguir
aps o espao reservado para o grfico de pizza.
id="map" div style="width:400px; height:300px;"> </ div>
Este ser o espao reservado para o MapComponent. H duas coisas
de uma nota, esse elemento de espao reservado HTML:
Atualmente, o CDF suporta exatamente um mapa por painel, e
deve estar em um espao reservado com o id = "map".
A largura ea altura so explicitamente especificados usando um estilo atributo.
Normalmente, aconselhvel que se abstenha de utilizar os atributos de estilo inline
porque torna mais difcil de painis tema mais tarde. No entanto,
neste caso, voc precisa especificar explicitamente as dimenses do
placeholder ", ou o mapa no ser visvel.
2. Agora voc pode adicionar o MapComponent O cdigo JavaScript para o componentes
seo. O cdigo mostrado na Listagem 17-14.
Listagem 17-14: O componente de mapa
/ / Posies do cliente componente do mapa
componentes [components.length] = {
nome: "customerLocations", digite: "mapa",
: soluo, o caminho: caminho,
ao: "customers_per_website_locations.xaction",
ouvintes: [param_website]
parmetros: [["customer_website_name", param_website]]
htmlObject: "mapa",
executeAtStart: true,
initPosLon: -37,370157, initPosLat: -100,458984,
initZoom: 1,
expresso:
function () {
return "" js / Openmap / OpenLayers / img / marker.png ";
}
};
Um nmero de membros que configurada na Lista 17-14 foram introduzidas
na listagem 17-9 (o cdigo do componente grfico de pizza) e 17-11 (o ttulo do painel
562 Parte IV Inteligncia Aplicaes de Negcio
componente de cdigo). As configuraes seguintes membros merecem um pouco mais
discusso:
tipo,nomeE htmlObject Seqncia de valores. Atualmente, o MapComponent
depende de algumas variveis globais que restringem todas estas propriedades
de ter um valor diferente do "Mapa". Note que isto tambm se aplica a
o valor da id atributo do elemento HTML espao reservado.
ouvintes -Note-se que o membro est configurado exatamente como voc viu na
Listagem 17-11. Ele garante que o mapa ser atualizado em resposta a um
mudana na site parmetro.
parmetros -Uma matriz de matrizes. Voc j encontrou o
parmetros membro na Lista 17-9. Desta vez, voc passa um componente
definio de parmetro para vincular o parmetro do painel entrada
parmetro da seqncia de ao. Como mostrado na Listagem 17-13, um parmetro
definio de um componente tambm uma matriz com duas entradas. O primeiro
entrada uma expresso que avalia o nome da seqncia de ao
parmetro. Na Listagem 17-13, esta a seqncia de caracteres literal "Customer_website
_name ". Note que isso exatamente o nome do parmetro de entrada do
customers_per_website_locations.xaction. A segunda entrada no
definio de parmetros de componentes a varivel param_website, Que
contm o nome do site painel de parmetros. Juntos, esse
garante que sempre que o componente de mapa chamado para atualizar a si mesmo,
ir utilizar o valor da site parmetro painel para parametrizar
o customer_website_name da seqncia de ao.
initPosLon e initPosLat -dupla valores. Estes membros so especficos
ao MapComponent. Eles controlam o local deve ser inicialmente o
centro do mapa. Neste caso, o mapa ir utilizar o centro dos EUA como
o ponto focal.
initZoom -inteiro. Especifica o fator de zoom inicial para o mapa.
expresso -Uma funo string retornando de uma expresso. Para cada ponto
o conjunto de dados, essa funo ser chamada. A funo deve retornar
uma expresso que avalia para um URI (como um valor de cadeia). A URI usado
para criar uma imagem que est a ser colocado no mapa, o correspondente
Local. Na Listagem 17-14, sempre voltamos a URL de um marcador pouco
Imagem que fornecido com OpenLayer.
Isso tudo que existe para ela. Agora voc pode atualizar o cache de repositrio e de teste
o painel novamente. Clique no grfico de pizza, e repare que o ttulo eo
o mapa so atualizados.
Usando marcadores diferentes dependendo dos dados
Na subseo anterior, explicamos como adicionar um MapComponent ao
painel de visualizao da distribuio geogrfica dos clientes. No entanto,
Captulo 17 Construindo Painis 563
voc realmente no fazer nada com a mtrica atual, o nmero de cus-
entes. Nesta subseo, voc adicionar alguns cdigos para mostrar diferentes marcadores
dependendo da quantidade de clientes que residem naquela localidade.
Para o nosso exemplo, vamos supor que voc est interessado em distinguir entre
locais que tm poucas quantidades, moderada ou grande quantidade de clientes. Por
enquanto
Vamos resolver por algumas regras simples:
Localidades com 100 ou menos clientes so considerados pequenos, e vai ficar
um marcador verde.
Localidades com mais de 250 clientes so considerados importantes e
obter um marcador vermelho.
posies restantes (com mais de 100, mas no mais de 250 clientes)
so considerados moderados e obter um marcador amarelo.
Vamos primeiro tentar e tentar chegar a algo que funciona mais ou menos.
Voc pode, ento, gradualmente melhorar o cdigo, se quiser. Uma execuo muito simples,
implementao do novo requisito envolve a escrita de uma expresso alterada de
o expresso membro o direito de escolher marcador da imagem URI.
Se voc manter as coisas simples e se contentar com as imagens junto com OpenLayer,
o cdigo na Listagem 17-15 implementa suas exigncias.
Listagem 17-15: Cdigo modificado para o membro de expresso
expresso:
function () {
return "valor <= 100? 'Js / Openmap / OpenLayers img / marcador green.png "
+ ": Valor> 250? 'Js / Openmap / OpenLayers / img / marker.png "
+ ":" Js / Openmap / OpenLayers img / marcador gold.png "
;
}
No entanto, esse cdigo deixa muito a desejar. Primeiro de tudo, muito difcil
para ler, devido ao fato de que voc tem que colocar o seu cdigo em uma seqncia literal.
Se
fazer o exerccio mental de chamar a funo atribuda expresso
membros e, em seguida, imagine o cdigo que avalia, voc acaba com
algo equivalente ao trecho a seguir:
valor <= 100? 'Js / Openmap / OpenLayers img / marcador green.png'
: Valor> 250? 'Js / Openmap / OpenLayers / img / marker.png'
: 'Js / Openmap / OpenLayers img / marcador gold.png'
Agora que abriu o cdigo, voc pode ver que h uma varivel chamada
valor que contm o valor da mtrica. Esta varivel colocado disposio
os componentes internos. O cdigo desembrulhou permite detectar alguns
problemas:
O cdigo refere-se s imagens usando literais string. No h nenhuma maneira de
configurar o que as imagens sero mostradas. Isso ruim porque difcil uma fios
564 Parte IV Inteligncia Aplicaes de Negcio
aspecto da apresentao (a imagem do marcador) para a lgica que escolhido para um
apresentao especial.
A lgica em si, com os valores-limite de 100 e 250, tambm
cabeadas. Se o conceito de''grande''e''locais''pequena provvel que
mudar ao longo do tempo, este tipo de cdigo impede que o painel de adaptao
para esse tipo de mudana.
A soluo para ambos os problemas fazer com que os valores literais configurvel.
Felizmente, o MapComponent foi projetado para ter uma instalao para configurar o
imagens do marcador. Isso pode ser configurado atravs do marcadores membros, que
pode ser definido como um array de strings URI. Assim como o valor varivel, o marcadores
membro magicamente colocados disposio da expresso. Isto significa que voc pode
utilizar o seguinte cdigo para extrair as strings URI literal da expresso
cdigo:
componentes [components.length] = {
nome: "customerLocations", digite: "mapa",
... Os outros membros ...,
Marcadores: [
"Js / Openmap / OpenLayers img / marcador green.png",
"Js / Openmap / OpenLayers / img / marker.png",
"Js / Openmap / OpenLayers img / marcador gold.png"
]
expresso:
function () {
return "valor <= 100? marcadores [0] "
+ ": Valor> 250? marcadores [1] "
+ ": Marcadores" [2]
;
}
}
Este definitivamente melhor, como ns podemos agora alterar as imagens sem marcador
alterar o cdigo que executa a lgica. Dito isto, h ainda alguns
espao para melhorias. Agora, os limiares de 100 e 250 ainda esto
hard-wired no cdigo. Agora, esses valores no so imutveis, nossa idia de
que um grande nmero de clientes pode mudar ao longo do tempo, ou neste caso,
ns podemos desenvolver a opinio de que os valores-limite deve ser realmente
depende do site. Outra razo pela qual no estamos to felizes com o
hard-wired constantes que no podemos simplesmente aplicar a mesma lgica de outros
painis que no , sem duplicar o cdigo. Combine isso com
a obrigao de alterar os valores em algum ponto no futuro, e voc est
olhando para o inferno manuteno.
Captulo 17 Construindo Painis 565
Felizmente, existe uma maneira simples de lidar com isso. Tudo o que voc realmente tem
que fazer
substituir a ocorrncia dos valores constantes, com referncias ao painel
parmetros. Ento, primeiro adicionar dois novos parmetros para os valores-limite na
seo de parmetros:
low_customer_count var = "low_customer_count";
Dashboards.setParameter (low_customer_count, "100");
high_customer_count var = "high_customer_count";
Dashboards.setParameter (high_customer_count, "250");
Note-se que atualmente, o CDF suporta apenas parmetros de valor da cadeia. A
membro da expresso modificada mostrado aqui:
expresso:
function () {
<voltar valor "= parseInt (Dashboards.getParameterValue
(Low_customer_count))? Marcadores [0] "
+ ": ParseInt> valor (Dashboards.getParameterValue
(High_customer_count))? Marcadores "[2]
+ ":
marcadores [1] "
;
}
Como voc pode ver, as variveis limite so parametrizadas. Observe como
o built-in parseInt () funo usada para converter os valores de parmetro para o
tipo inteiro. Isso necessrio para uma comparao (numrica) adequada.
Note que ns no (ainda) adicionar o low_customer_count e high_customer
_count parmetros para o ouvintes matriz do MapComponent. Tornaria
bom senso para faz-lo se os valores-limite foram dependentes do site, ou
Se o painel permitiu que o usurio final para inserir um novo valor limite para permitir
uma anlise what-if. Isso deixado como um exerccio para o leitor.
Styling e Personalizao
Nas sees anteriores, voc criou um painel, componentes e interao.
At agora, ns deliberadamente suprimida a tentao de ter de fazer a
painel de boa aparncia. Isto permitiu que voc se concentre em detalhes tcnicos
de tornar o trabalho componentes do painel, sem ter que lidar com o
distrao dos problemas de layout e afins. Outra considerao que o
habilidades necessrias para criar painis e componentes do painel de construo so
realmente muito diferente do que voc precisa para fazer um layout e criar um
esteticamente agradvel todo. As tarefas so ex-melhor feito por um desenvolvedor de BI
apenas com o desenvolvimento de competncias poucos web, enquanto o segundo melhor
feito por um
desenvolvedor web, talvez em conjunto com um especialista em usabilidade.
566 Parte IV Inteligncia Aplicaes de Negcio
Nesta seo, mostramos algumas tcnicas que voc pode usar para adicionar um layout
para
seu painel. Uma discusso detalhada sobre este tema est fora do escopo deste
livro, mas pelo menos podemos mostrar os primeiros passos do processo. Estamos muito
confiante de que voc deve ser capaz de comear por aqui e siga o seu prprio percurso,
desde que voc tenha algumas habilidades em pginas da Web de estilo, ou se voc pode
confiar em uma
desenvolvedor web para ajud-lo.
Denominando o Dashboard
H duas coisas a considerar quando se denominar um painel:
Organizando-Layout colocao dos componentes. Isso vale principalmente para
painis individuais.
Theming-Garantia uma aparncia consistente usado em painis,
ou um aplicativo inteiro.
Por definio, o componente layout ser em grande parte especfica para um indivduo
painel de instrumentos. Por esta razo, o estilo ea estrutura do documento para controlar o
layout
pertence principalmente no modelo de contedo. Theming, por outro lado, envolve
recorrncia de elementos e atributos, tais como cores e fontes.
Porque o modelo do documento pode ser reutilizada por vrios painis, faz
bom senso de controle theming a esse nvel. (Usando documento modelos personalizados
o tema da prxima subseo).
Voc pode usar dois diferentes dispositivos para controlar o layout:
estrutura de documento usando elementos HTML especficos, eo uso de
elemento de assentamento
Cascading Style Sheets (CSS)
Uma discusso completa sobre esses mtodos e as tcnicas envolvidas seria
bem fora do escopo deste livro. Vamos resolver para o ponto de vista que tanto
mtodos so vlidos e teis, e muitas vezes o efeito desejado pode ser melhor alcanado
atravs da combinao de ambos os mtodos.
as tabelas HTML so ainda a maneira mais fcil de alcanar rapidamente um esquema
robusto. A
layout simples que coloca o ttulo do painel na parte superior do painel, e
Abaixo dele, o grfico do lado esquerdo eo mapa na mo direita
lado, mostrado na Listagem 17-16.
Listagem 17-16: Usando uma tabela HTML para colocar os componentes
<table>
<- Linha 1:! Cabealho ->
<tr>
<-! Vos de largura da clula da tabela ->
colspan="100%"> <td
Os clientes da <h1> Website: id="websiteName"> <span </ span> </ h1>
Captulo 17 Construindo Painis 567
<br/>
</ Td>
</ Tr>
<! - Linha 2: componentes ->
<tr>
<-! Coluna esquerda ->
<td>
id="customersPerWebsite"> </ div>
</ Td>
<-! Coluna da direita ->
<td>
id="map" div style="width:400px; height:300px;"> </ div>
</ Td>
</ Tr>
</ Table>
Este mtodo usa o tabela,tr (Para a linha da tabela) e td (Por dados da tabela)
elementos para criar um layout tabular. Embora este mtodo seja fcil de configurar e
trabalha em uma maneira razoavelmente semelhantes entre os navegadores, geralmente
desaprovado
por desenvolvedores web moderna porque o layout basicamente um efeito colateral da
estrutura do documento (ou seja, os elementos). Isso torna mais difcil de entender
documentos HTML, porque no possvel determinar se o documento
estrutura existe para seu prprio benefcio (para processar dados tabulares) ou para alcanar
um
layout efeito. Portanto, boas prticas de desenvolvimento exigem que os layouts devem ser
controlada utilizando CSS ao invs de estrutura do documento.
Na Listagem 17-17, voc encontrar o cdigo HTML que permite atingir um layout similar ao
que resulta o cdigo na Listagem 17-16.
Listagem 17-17: Usando CSS para colocar os componentes
<style>
# {CustomersPerWebsite
position: absolute;
top: 75px;
left: 20px;
width: 250px;
height: 250px;
}
# {Mapa
position: absolute;
top: 75px;
esquerda: 400px;
width: 400px;
height: 300px;
}
</ Style>
Os clientes da <h1> Website: id="websiteName"/> <span </ span> </ h1>
id="customersPerWebsite"> </ div>
id="map"> </ div>
568 Parte IV Inteligncia Aplicaes de Negcio
NOTA O layout da Listagem 17-17 no funciona particularmente bem com o
padro CDF modelos, uma vez que estes no antecipar o posicionamento absoluto de
elementos. Na prxima seo, ns desenvolvemos um modelo de contedo que mais adequado
para este tipo de layout.
Criando um modelo de documento personalizado
At agora, voc tem usado o modelo do documento padro para seus clientes
painel de instrumentos. Isso significa que o painel sempre contou com o cabealho padro
com o logotipo da CDF, eo rodap com o link para o site WebDetails.
Se voc gosta, voc pode usar o seu prprio modelo de documento para personalizar o
aparncia de seu painel adicional. As possibilidades para adicionar sua
prprios fundos, layouts, e de navegao so bastante ilimitado. Um detalhado
discusso sobre todas as coisas e tcnicas que voc poderia aplicar est alm do
escopo deste livro. No entanto, podemos, pelo menos, mostrar-lhe como criar os seus prprios
modelo de documento.
Para adicionar o seu modelo de documento prprio, criar um novo arquivo chamado em
modelo
painel-wcm.html diretamente no diretrio home do CDF. Lembre-se que o
nome do arquivo importante, mas deve comear com painel de modelo- e ter a
. Html extenso. Adicione o contedo mostrado na Listagem 17-18 para o arquivo.
Listagem 17-18: O arquivo de modelo-dashboard-wcm.html
<DOCTYPE html PUBLIC! "- / / W3C / / DTD XHTML 1.0 Strict / / EN"
"Http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
xmlns="http://www.w3.org/1999/xhtml"> <html
<head>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8" />
<title> Comunidade Dashboard Framework para o Word Class Filmes </ title>
<script language="javascript">
isadmin = "{isadmin}";
isLoggedIn = "{isLoggedIn}";
</ Script>
</ Head>
<body>
id="header"> </ div>
id="content"> <div
div id = "primaryContentContainer">
id="primaryContent"> <div
{Content}
</ Div>
</ Div>
</ Div>
id="footer"> </ div>
</ Body>
</ Html>
Captulo 17 Construindo Painis 569
Lembre-se, a {Content} espao reservado ser substitudo pelo painel
modelo de contedo durante a montagem do documento.
Voc deve modificar o . Xcdf arquivo para usar o documento personalizado
modelo. Basta adicionar uma linha como a seguinte, entre os cdf abertura e
tags de fechamento:
<style> wcm </ style>
Observe que o valor, wcm, Corresponde diretamente ao wcm postfix no
nome do arquivo do modelo do documento exemplo, modelo-painel-wcm.html.
Consulte a Lista de 17-2 para um exemplo de uma . Xcdf arquivo que especifica um
modelo de documento.
Resumo
Neste captulo, abordamos a criao de dashboards baseados na Comunidade
Dashboard Framework. Neste captulo, voc aprendeu o seguinte:
O CDF criado e mantido pela comunidade Pentaho.
A Pentaho Corporation inclui o CDF no servidor.
Os painis so, na verdade pginas web baseadas em tecnologias como o HTML,
CSS e JavaScript, e usar AJAX construda sobre JQuery.
pedidos painel CDF so manipulados por um plugin que rene os
painel de instrumentos a partir de um modelo de documento e um modelo de contedo.
A . Xcdf arquivo contm as informaes sobre o documento e contedo
modelo a ser usado.
modelos de documentos e contedos so na verdade arquivos HTML.
Dashboard componentes so adicionados com JavaScript e muitas vezes exigem uma
espao reservado HTML para exibir seu contedo.
componentes Dashboard pode ouvir as mudanas nos parmetros do painel,
que atua como uma sugesto para automaticamente atualizar-los.
Os componentes podem sinalizar uma mudana de parmetro com o fireChange mtodo.
componentes Dashboard pode confiar em seqncias de ao de entregar o real
BI contedo.
A XactionComponent pode ser usado para exibir o contedo de um arbitrrio
seqncia de ao.
O texto dinmico pode ser implementado usando a TextComponent.
570 Parte IV Inteligncia Aplicaes de Negcio
Tambm discutimos o seguinte:
Como capturar cliques do mouse em um JFreeChart
Como usar o MapComponent para mostrar a distribuio geogrfica da data
Como mostrar diferentes marcadores em um MapComponent dependendo da
valor das mtricas
Como o seu estilo de painis
Como criar e utilizar um modelo de documento personalizado
ndice
A
posicionamento absoluto, PRD, 398
controle de acesso
privilgios camada de metadados de refino, 349
esquema de projeto e, 483
acumulando tabela peridica fato instantneo,
149-150
definies de aes, 68
editor de seqncia de ao, 80-82
Assistente de Aco Sequence, 80, 86
seqncias de ao
adicionar como modelos para Design Studio, 88
criando com PDS. Veja PDS (Pentaho
Design Studio)
Clientes por grfico de pizza, Website
548-551
executado pelo motor soluo, 68
execuo em segundo plano, 422-423
funcionalidade, de 78 anos
insumos para, 83-85
para dados de localizao, 559-561
sadas para, 85
aes do processo e, 85-89
Agendador de programao com, 412
417-420
executar trabalhos no interior, 335
contendo soluo de repositrio, 68
subscrever, 423-426
usando transformaes em, 334-336
aes, processos, 85-89
Active Directory (AD), e EE nico
sign-on, 77
Active @ ISO Burner, 22
Ad Hoc Assistente de Relatrio, 373-375
Boto Adicionar Cubo, 466-467
Adicionar tarefa ao, processo Scheduler,
418-419
Nveis Adicionar, 474-476
Adicione funo de parmetros, PRD, 386-389
Adicionar etapa seqncia, PDI
carregamento dimenso de data, 268-269
carregamento dimenso demogrfica, 283, 284
medidas aditivo, 150
Endereos de pginas de guia, Correio de trabalho, 290
Ad-Hoc componente Report, 192
admin usurio
criao de servidores escravos, 340
gerenciamento de contas de depsito PDI,
326-327
PDI repositrio, 324
administrao console, 38, 44
tarefas administrativas
fontes de dados, 60-61
gesto de agendas e assinaturas
61
Pentaho Administrative Console. Veja
PAC (Pentaho Administrativa
Console)
gerenciamento de usurios, 58-60
Administrador de perfil, repositrio PDI, 327
Advanced categoria, Database Connection
dilogo, 250
Advisor boto, PAD, 501
Idade e Idade etapa seqncia, a demografia
dimenses, 282
571
572 ndice A
ARFF (Attribute Relation File Format),
511, 519
AS. Veja seqncias de ao
ASPs (Application Service Providers),
144
atribuies, gerenciamento de usurios, 59
associao, como ferramenta de minerao de dados,
507-508
no servio pblico, programao de trabalho, 421
Atributo File Format Relao (ARFF),
511, 519
atributos
dimenses, 476-477
global de data mart modelo de dados, 206-207
hierarquias, 472-473
nvel, 474-475
medidas, 469-470
cubos de Mondrian, 467
no se adaptam s tabelas de dimenso,
180-181
colunas de auditoria, 163-164
autenticao
hibernar banco de dados armazenando dados sobre,
45, 47
JDBC configurao de segurana, 50
A configurao de correio de entrada de emprego, 290-
291
Pentaho Console Administrativo
configurao, 57-58
configurao do servidor escravo, 340
Configurao de SMTP, 53-54
Primavera de manipulao de Segurana, 60, 69
autorizao
hibernar banco de dados de armazenamento de dados
no usurio,
47, 60
JDBC configurao de segurana, 50
gerenciar contas de usurio, 327-328
Primavera de manipulao de Segurana, 60, 69
configurao de usurio, 58-60
descoberta de conhecimento automatizada, 503.
Veja tambm minerao de dados
inicializao automtica, UNIX / Linux,
40-41
execuo, disponibilidade remota, 338-339
mdias, de clculo, 217-218
eixos
colocao na dimenso controle,
489-490
dimenses em apenas um eixo, 455
MDX informao representam em
vrios eixos, 453
Azzurri Clay, 32
Idade etapa Group, dimenses, demografia
282, 284-285
Agregado Designer, 130, 442
tabelas agregadas
criar manualmente, 500
inconvenientes de, 502
prorroga Mondrian com, 497-500
gerao e preencher, 445
Pentaho Analysis Services, 445
agregao
alternativas para, 502
benefcios, 496-497
processo de integrao de dados, 229
dados de projeto do armazm, 163-164
desempenho do data warehouse, 130
Mondrian, 496
relatrios PRD, 393-395
restringir resultados, 157
Slice and Dice exemplo de tabela de piv,
17-18
com sub-relatrios para diferentes 404-406,
relatrios WAQR, 374
Tecnologia AJAX, painis CDF,
529-530
algoritmos, como ferramentas de data mining, 508-509
aliases, 152-153, 384-385
todos os nveis, hierarquias MDX, 450-451
todos os membros, as hierarquias MDX, 450
Todos os Horrios painel, o servidor admin
espao de trabalho, 428
Alves, Pedro, 530
anlise
exemplos de, 16-19
pontos de vista em Pentaho BI Server, 484-485
pontos de vista do usurio do console, 73-74
bases de dados analticos, 142-143
anlise de negcios, 503
E operador, mltiplas restries, 157
aparelhos, data warehouse, 143-144
Fornecedores de aplicaes (ASPs), 144
arquitetura
Quadro Comunitrio de Dashboard,
532-534
data warehouse. Veja armazenamento de dados
arquitetura
Pentaho Analysis Services, 442-444
Pentaho BI, 64
relatrios, 371-373
arquivamento
desempenho do data warehouse e, 132
dados da transao, 128
ndice B-C 573
B
back office
de arquitetura de dados do armazm, 117
suporte de banco de dados para, 95-96
programas de back-end, Pentaho BI pilha, 66
fundo diretrio, o contedo do repositrio,
413
execuo em segundo plano, 422-423, 426-429
backup, PDI repositrio, 329
ferramentas de relatrio em faixas, 376
grficos de barras, 400-402
Base conceito, camada de metadados, 357
ETL por lotes, 118
BC (business case), 192. Veja tambm Mundo
Classe Filmes
BDW (Business Warehouse), 111, 115
Entre ... e operadores, 151-152
BI (business intelligence). Veja tambm Pentaho
BI Server
anlises e, 503
componentes, 70-73
painis e, 529
dados de projeto mart e. Veja data marts,
design
minerao de dados e, 505-506
definio de, 107
exemplo de caso de negcio. Veja WCM (World
Classe Filmes), exemplo de negcio
caso
importncia dos dados, 108-109
plataforma Pentaho BI pilha, 64
finalidade de, 105-109
dados em tempo real de armazenagem e, 140-142
relatrios e documentos. Veja relatrios
usando o gerenciamento de dados mestre, 127-128
exemplos BI Developer
boto nico-parameter.prpt, 13-14
CDF seo, 530
Resumo dos, 8-9
Regional de Vendas - HTML relatrios, 11-12
Vendas Regional - Linha de grfico de barras /, 16-17
Slice e Anlise de Dados, 17-18
relatrios BIRT, 72, 372
biserver-ce, 38. Veja tambm home Pentaho
Diretrio
ndices de bitmap, e data warehousing,
129-130
campo blob, relatrios com imagens, 401-403
BOTTOMCOUNT funo, consultas MDX,
457
mesas de bridge
manuteno de, 229
vrios valores e dimenses, 182-183
hierarquias de comando usando, 184-185
navegadores, entrando, 6-7
Construindo o Data Warehouse (Inmon),
113-114
variveis internas, 314
vagabundo, Gerenciar Linux init scripts, de 42 anos
Burst relatrio de vendas, 54
ruptura
definido, 430
aplicao em Pentaho, 430
outras implementaes, 438
Resumo dos, 430
Aluguer exemplo lembrete e-mails,
430-438
arquitetura de barramento, 179-189
analistas de negcios, 193-195
anlise de negcios, 503
business case (BC), 192. Veja tambm WCM
(World Class Filmes), por exemplo
caso de negcio
Negcios Colunas, na camada lgica,
362-363
Business Warehouse (BDW), 111, 115
business intelligence. Veja BI (business
inteligncia)
Business Intelligence Server. Veja Pentaho
BI Server
camada de negcio, modelo de metadados, 71
modelagem de negcios, usando esquemas estrela. Veja
esquemas estrela
Modelos de Negcios, a camada lgica, 362
mecanismos de regras de negcios, 141
Tabelas de negcios, 362-365
Vistas Business, 71, 362
boto nico-parameter.prpt amostra,
13-14
C
C3P0 pool de conexo, 49-50
C4.5 algoritmo rvore de deciso, 508, 512
C5.0 algoritmo rvore de deciso, 508-509
cache, Junte-se linhas (produto cartesiano)
etapa, 280
Calcular e formatar passo Datas, 269-273
Calcular o intervalo de tempo, 277, 281
membros calculados, 459-460, 483
clculos, funes para PRD, 395
574 ndice C
resumo, 569-570
sinergia com a comunidade e Pentaho
corporao, 529-530
modelos, 538
Arquivo. Xcdf, 537-538
armazm de dados central, 117, 119-121
CEP (processamento de eventos complexos), 141
Change Data Capture. Veja CDC (Change
Data Capture)
CAPTULOS, Machados, 453
Grfico editor, 398-399
grficos. Veja tambm Os clientes, por torta Website
grfico
adicionar grficos de barra com os relatrios do PRD,
400
adicionar imagens aos relatrios PRD, 401-404
adicionar grficos de pizza para os relatrios do PRD,
400-402
adicionando aos relatrios PRD, 397-400
estourando. Veja ruptura
exemplos, 14-16
incluindo em painis, 548
JPivot, 494-496
no disponvel em WAQR, 375
reagir aos cliques do mouse sobre a torta, 554-555
Verifique se o preparo Tabela etapa existe, 293-294
objetos filho, e herana, 356
Citrus, 13-14
caminho de classe, minerao de dados Weka, 512-515
classificao
algoritmos, 508-509
como ferramentas de data mining, 506-507
com Weka Explorer, 524
cliente, definido, 65
computao em nuvem, 144
clustering
como ferramentas de data mining, 507
opes de conexo para banco de dados, 250
execuo remota com Carte usando, 337,
341-342
snowflaking e, 186-187
dimenses desmoronou, 498
funes de cobrador, 397, 399-400
cores, para os relatrios do PRD, 390-391
perfis coluna, 197-198, 199
bases de dados em colunas, 142-143
bancos de dados orientados por colunas, 502
colunas
dimenso de data, 213-216
nomes significativos para, 163
rapidamente abrir as propriedades de, 210
SCD tipo 3, 174
Calculadora etapa, PDI
grupos de idade e renda para a demografia
dimenso, 285
Calcular o intervalo de tempo, 281
passado e atual indicadores anos, 276
carregamento dimenso de data, 269-273
carregamento dimenso demogrfica, 282
dias de calendrio, data do clculo
dimenses, 270
servidor Carte
clustering, 341-342
criao de servidores de escravos, 340-341
como ferramenta PDI, 231
execuo remota e, 337-339, 341
execuo, 339-340
carte.bat script, 339-340
carte.sh script, 339-340
produto cartesiano, 153
Cascading Style Sheets. Veja CSS
(Cascading Style Sheets)
catlogo, com conexo DataCleaner, 202
Catlogo de Modelagem OMG e Metadados
Especificaes, 352
CategorySet funo de coletor, 399-400
causalidade, a correlao de vs em minerao de
dados,
508
CDC (Change Data Capture), 133-137
escolher a opo, 137
processos intrusiva e no intrusiva,
133
baseado em log, 136-137
mtodos de execuo, 226
Resumo dos, 133
instantneo baseado, 135-136
fonte de dados de base, 133-134
desencadeamento de base, 134-135
CDF (Painel da Comunidade
Framework), 542-569
conceitos e arquitetura, 532-534
modelo de contedo, 541-542
cliente e painel sites. Veja
painel do cliente e sites
exemplos de painis, 19-20
modelo de documento, 538-541
histria de, 530-531
diretrio home, 534-535
JavaScript e CSS recursos, 536-537
Resumo dos, 529
plug-in, 534
plugin.xml arquivo, 535-536
habilidades e tecnologias para, 531-532
ndice
usar dicionrio para verificaes de dependncia
na, 205
COLUNAS, Machados, 453-454
Colunas seo, OLAP Navigator, 19
colunas de lojas, bancos de dados analticos,
142-143
Combine etapa, PDI
Junte-se linhas (produto cartesiano) passo,
278-281
carregamento dimenso demogrfica, 283
carregamento dimenso de tempo, o PDI, 277
linha de comando
criando links simblicos de, 26
instalar o Java SDK, 27-28
sistemas Linux usando, 24-25
execuo de tarefas e transformaes de,
330-334
criao de esquemas de MySQL, 46
iniciar programas de desktop, de 76 anos
linhas de comentrio, scripts de inicializao, 52
Metamodelo Armazm Comum (CWM),
70, 352
Quadro Comunitrio de Dashboard. Veja
CDF (Painel da Comunidade
Quadro)
Comunidade Edio do Pentaho
modelos de documento padro, com, 539
A tecnologia Java Servlet, 74
Resumo dos, 76-77
comparao de dados, DataCleaner, 199, 205
Competir no Analytics, 503
painel completo, rea de trabalho, 427
processamento de eventos complexos (CEP), 141
compresso, bases de dados analticos e, 142
conceitos, Pentaho metadados, 356-357
formatao condicional, projeto de esquema
e, 483
dados conflitantes, armazns de dados, 124
dimenses conformado, 115, 158-160
cumulativo conformado, 498
contato com a declarao prvia, SQL, 184
pools de conexo
adicionar a configurao do Hibernate, 49-50
opes de conexo do banco de dados, 250
gesto, 69
conexes. Veja conexes de banco de dados
consistncia, e transformaes, 247
tabelas de fato consolidada, 189
consultores, a contratao de analistas externos,
193-194
repositrio de contedo, 412-413, 429
C 575
modelo de contedo, CDF, 533, 541-542
contedo, de modelos de documentos, 540
funes de converso, PRD, 393
Assistente para Copiar Quadros, 210
correlao, causalidade versus na minerao de dados,
508
count_rows transformao, 315
primos, os relacionamentos familiares cubo, 452
Criar etapa dim_date, dimenso, data
265-267
Criar dim_demography etapa,
dimenso demogrfica, 282
Criar dim_time etapa, a dimenso do tempo,
277
Criar Chaleira opo Job, 210
Criar stage_demography etapa,
dimenso demogrfica, 282
Criar Staging etapa de mesa, 293, 295-296
CREATE TABLE declarao
Criar dim_date, data de carregamento
dimenso, 265-267
criar tabela de teste, 296
dim_demography tabela de dimenso,
283-284
tabela de dimenso simplificada data, 263-265
stage_promotion tabela, 305
create_quartz_mysql.sql script, 46
create_repository_mysql.sql script, 46
create_sample_datasource.sql script,
46
credenciais, Pentaho Administrativa
Console, 57-58
CRISP-DM (Cross Industry Standard
Processo de Minerao de Dados), 505
cron implementaes, 415, 421
CROSS JOIN, 153, 155-156
Crossjoin consultas funo MDX, 457
tabelas cruzadas, visualizao de cubo, 447-448
crosstabs, visualizao de cubo, 447-448
validao cruzada
compensar vieses, 509
estratificada, 509-510
com Weka Explorer, 524
CSS (Cascading Style Sheets)
construo de painis CDF, 532
CDF e, 536-537
painis estilo, 566-567
Ctrl + Alt + N, 287
CTRL + C, 25
CTRL + R, 25
Ctrl + Barra de espao, 312, 317
576 ndice C-D
mostrando no cliente e sites
painel de instrumentos, 557-562
clientes, como por exemplo WCM
cumprimento de ordem do cliente, 94
desenvolvimento de modelo de dados, 101-102
principais fluxos de processos, 96
despachos e promoes, 102-105
sites de segmentao, 94-95
Clientes por grfico de pizza Website
seqncias de ao, 548-551
Resumo dos, 548
XactionComponent, 551-553
Customize tela Seleo, WAQR, 374
CWM (Common Warehouse metamodelo),
70, 352
cubos
acrescentando dimenses Mondrian
esquemas, 470
adicionando medidas para tabelas de fatos do cubo,
469-470
analisando. Veja JPivot
associar-se com dimenses compartilhadas,
476-477
criar, 466-467
tabelas de fatos para, 468
relaes familiares, 451-452
FILTRO funo, 455-456
Consultas MDX que operam em, 445-446
Resumo dos, 446-447
publicao, 482-483
testes, 481-482
visualizao de, 447-448
chavetas {} sintaxe definida, 458-459
escopo de trabalho atual, 313
indicador do ano em curso, data de carregamento
dimenso, 276-277
current_record coluna, 172-173
current_week coluna, 167-168, 216-218
cliente e sites do painel,
542-569
acrescentando TextComponent, 555-557
cdigo clich para tablier
componentes, 546-547
cdigo clich para tablier
parmetros, 546
cdigo clich para soluo de dashboard
eo caminho, 545-546
modelo de documento personalizado para, 568-569
Clientes por grfico de pizza, Website
548-553
alterar dinamicamente o ttulo do painel,
553-554
Arquivo. Html para, 545
MapComponent formato de dados, 557-562
opes marcador de dados, 562-565
reagir aos cliques do mouse no grfico de pizza,
554-555
constituio, 544
mostrando a localizao do cliente, 557
o estilo do painel, 565-568
teste, 547
Arquivo. Xcdf para, 544
dimenses do cliente, esquemas de Mondrian,
478-480
localizaes de clientes. Veja tambm MapComponent
opes marcador para mostrar, 563-565
D
DaaS (DataWarehouse como um servio), 144
Dashboard Builder, Enterprise Edition, 77
modelo de painel de contedo, CDF, 533,
541-542
painel modelo do documento. Veja
modelos de documentos (templates exterior),
CDF
dashboards
CDF. Veja CDF (Painel da Comunidade
Quadro)
componentes, 543
clientes e sites. Veja cliente
e painel sites
exemplos de, 19-20
Resumo dos, 529
resumo, 569-570
Dashboards objeto, 534
Dashboards.js, 536
dados, opes de marcador, 562-565
aquisio de dados e preparao, Weka
minerao de dados, 521-522
anlise de dados
dados de perfil para, 197-198
armazenamento de dados e, 195-197
usando DataCleaner. Veja DataCleaner
alteraes de dados, a dimenso da promoo,
301-302, 304-306
limpeza de dados, fonte de dados, 228
governana de dados, 125
integrao de dados
atividades. Veja ETL (Extrao,
Transformao e carregamento)
definido, 223
ndice
motor, 230, 232
viso geral, 223-224
usando PDI. Veja PDI (Pentaho Data
Integration)
dados linhagem, 114
data marts
arquitetura de barramento, 119-121
de arquitetura de dados do armazm, 117
independentes, 119
Inman, ou abordagem Kimball, 115-116
cubos OLAP, 121-122
Resumo dos, 121
formatos de armazenamento e MDX, 122-123
data marts, design, 191-220
anlise de dados, 195-198. Veja tambm
DataCleaner
modelagem de dados com Power * Architect,
208-209
desenvolvimento de modelo, 206-208
anlise de requisitos, 191-195
origem para o destino de mapeamento, 218-219
WCM exemplo. Veja WCM (World Class
Filmes), a construo de data marts
minerao de dados. Veja tambm Minerao de
dados Weka
algoritmos, 508-509
associao em, 507-508
classificao, 506-507
agrupamento em, 507
definido, 504
motor, 72-73
ler mais, 527
numricos de previso (regresso), 508
processo, 504-506
estratificada de validao cruzada, 509-510
resumo, 527
conjunto de ferramentas, 506
treinamento e testes, 509
modelos de dados
desenvolvimento de data mart global, 206-208
como formas de metadados, 114
normalizada versus dimensional, 115-116
com Power * Architect, 208-209
referncia para a compreenso, 208
Data Profiler, Talend, 206
dados de perfil
solues alternativas, 205-206
Resumo dos, 197-198
usando DataCleaner. Veja DataCleaner
utilizando ferramenta Power * Architect, 208
qualidade dos dados. Veja DQ (qualidade dos dados)
conjuntos de dados, relatrios PRD, 381-386
D 577
fontes de dados
gesto, 60-61
trabalhar com sub-relatrios para diferentes
404-406
dados de teste, 226-227
actualidade dos dados, 114
validao de dados, ETL e, 227-228
abbada de dados (DV), 125-127
O Data Warehouse Lifecycle Toolkit
(Kimball), 158, 170, 194
armazenamento de dados, 111-145
bases de dados analticos, 142-143
aparelhos, 143-144
Captura de dados alterados e, 133-137
evoluo das necessidades do usurio, 137-139
problemas de qualidade de dados, 124-128
volume de dados e problemas de desempenho,
128-133
debate sobre Inmon vs Kimball, 114-116
na demanda, 144
exemplo de So Paulo. Veja WCM (World Class
Cinema), business case exemplo
necessidade de, 112-114
Resumo dos, 113-114
em tempo real, 140-142
usando esquemas estrela. Veja esquemas estrela
virtual, 139-140
arquitetura de data warehousing, 116-123
armazm de dados central, 119-121
data marts, 121-123
Resumo dos, 116-118
rea de preparo, 118-119
O Data Warehousing Institute (TDWI),
119
banco de dados de descritores de conexo, 252-253,
359-360
Database de dilogo Connection, 249-252,
257-258, 360
conexes de banco de dados
adicionar a data mart, 201-202
configurando, 256-257
criar, 249-252
que institui a PSW, 462
genrica, 257-258
''Ol Mundo''exemplo, 253-256
JDBC e ODBC, 248
JNDI, 319-322
Repositrio de gesto no Explorer, 326
gesto com variveis, 314-318
ao PDI repositrio, 322-324
ao PDI repositrio, automaticamente, 324-325
578 ndice D
Data Mask perfil Matcher, DataCleaner,
200
date_julian, O tempo relativo, 167-168
dia da semana nmero, dimenses, data
271-272
Dias etapa seqncia, dimenses, data
268-269
Linux baseado em Debian, a inicializao automtica
em, 42
algoritmos de rvore de deciso, 508-509
decodificao, integrao de dados e, 228-229
membro padro, hierarquias MDX,
450-451
Definir guia processo, editor de seqncias de ao,
81-83
dimenses de degenerao, 181
Excluir Trabalho ao, processo Scheduler, 420
link Excluir Pblica painel de listas de
rea de trabalho, 428
horrios de excluir, 417
camada de entrega, modelo de metadados, 355,
365-366
demografia dimenso de carga, 281-286
gerao de idade e os grupos de renda,
284-285
mltiplas ingoing e que parte correntes,
285-286
Resumo dos, 281-283
stage_demography e dim_demography
tabelas, 283-284
dimenso demogrfica, Ordens de data mart,
212
Demografia etapa seqncia chave, 283,
285-286
desnormalizao, 115-116
dependncias,''Ol Mundo''
transformao, 247
perfis de dependncia, 197-198
implantao
do PDI. Veja PDI (Pentaho Data
Integrao), a implantao
Pentaho de metadados, 366-368
descendentes, as relaes familiares cubo, 452
texto descritivo, para programaes, 415
ferramentas de design, o esquema, 444
programas de desktop, 65, 74-76, 196
Detalhes do corpo, relatrios PRD, 378
desenvolvimento de competncias, painis CDF, 531
Devlin, Barry, 113-114
cubos, definido, 441
dicionrio, DataCleaner, 205
conexes de banco de dados (Continuao)
na camada fsica do domnio de metadados,
359-360
teste, 252
usando, 252-253
para minerao de dados Weka, 512-514
segmentao do banco de dados (clustering), 507
banco de dados baseado em repositrio, 358-359
bases de dados
bancos de dados orientados por colunas, 502
gerenciamento de conexo piscina, 69
drivers de gesto, 44-45
as polticas que probem a extrao de dados,
226
sistema, 45-52
ferramentas para, 31-34
utilizado por WCM exemplo, 95-97
DataCleaner, 198-206
adicionar conexes de banco de dados, 201-202
adicionar tarefas perfil, 200-201
soluo alternativa, 205-206
verifica coluna fazendo dependncia, 205
fazendo perfil inicial, 202
Resumo dos, 198-200
resultados de perfis e explorar, 204-205
selecionando tabelas de origem, 218-219
validao de dados e comparando, 205
trabalhar com expresses regulares,
202-204
datacleaner-config.xml arquivo, 201
DataWarehouse como um Servio (DWaaS), 144
data e hora, modelagem, 165-168
dimenso de data
gerando, 213-216
role-playing, 182
especial campos de data e clculos,
216-218
data de carregamento dimenso, 263-277
Adicionar etapa seqncia, 268-269
Calculadora etapa, 269-273
passado e atual indicadores ano, 276-277
Execute passo script SQL, 265-267
Gerar etapa Linhas, 267-268
internacionalizao e suporte local,
277
ISO semana e do ano atributos, 276
Resumo dos, 263-265
Tabela etapa de sada, 275-276
uso de procedimentos armazenados, 262-263
Valor etapa Mapper, 273-275
ndice
Dicionrio perfil Matcher, DataCleaner,
200
dim_demography tabela, 282-284
dim_promotion Dimenso da tabela. Veja
dimenso promoo
chaves de dimenso, 162, 169
tabelas de dimenso
agregao de dados, 229
atributos em pequenas versus grandes 206-207,
escolhendo para esquemas Mondrian, 471-474
contra o fato de tabelas, 148-150
carregamento dimenso demogrfica,
281-286
carregamento simples dimenso de data. Veja data
dimenso, a carga
carregamento dimenso de tempo simples, 277-281
manuteno de, 229
Resumo dos, 262
esquema em estrela e, 148
uso de procedimentos armazenados, 262-263
uso da dimenso, 476-477
modelo dimensional, conceitos avanados,
179-189
hierarquias de construo, 184-186
consolidao mesas multi-gro, 188-189
lixo, heterogneo e degenerado
dimenses, 180-181
dimenses monstro, 179-180
multi-valorizados dimenses e ponte
tabelas, 182-183
retranca, 188
Resumo dos, 179
role-playing dimenses, 181-182
flocos de neve e dimenses de agrupamento,
186-187
modelo dimensional, registrando a histria,
170-179
Resumo dos, 169-170
SCD tipo 1: substituir, 171
SCD tipo 2: adicionar linha, 171-173
SCD tipo 3: adicionar a coluna, 174
Tipo de SCD 4: mini-dimenses, 174-176
SCD tipo 5: tabela de histria independente,
176-178
estratgias hbridas, 178-179: tipo SCD 6
modelo dimensional, definido, 17
dimenses
adicionar a esquemas Mondrian, 470-471
associando cubos com partilhada, 476-477
membros calculados, 459-460
colocao de controle sobre os eixos, 489-490
D 579
cubos, pastilhas e, 446
data marts com 115 conformados,
definida, 17
DVD e cliente, 478-480
em apenas um eixo, 455
corte com o OLAP Navigator, 490-491
esttico, 213-216
diretrios
comandos de navegao para, 24-25
Repositrio de gesto Explorer, 326
instalao do servidor, 38
para sistemas baseados em UNIX, 39
Desligue a opo de depsito, 324
discos, em esquemas de poupana, 464-465
distribuio de valores de classe, a previso
modelos, 509
Documento estrutura, painel de instrumentos, estilo
566
modelos de documentos (templates exterior),
CDF
contedo de, 540
personalizao, 568-569
modelos padro de transporte com
Community Edition, 539
exemplos de contedo reutilizvel, 538-539
convenes de nomenclatura, 540-541
Resumo dos, 533
marcadores, 540
documentao
CDF, 531
Pentaho Data Integration, 261-262
DOM especificaes, normas de HTML, 532
domnios, metadados 359
DQ (qualidade dos dados)
categorias de, 124-125
dados inditos e, 125-127
usando dados de referncia e mestre, 127-128
Dresner, Howard, 107
drill down, OLAP e, 441
ao da broca membros, 487
posio de perfurao, 488
substituir o mtodo de perfurao, 488
perfurar atravs da ao, 488
drill up, OLAP e, 441
perfurao, 486-488
motoristas
de dados de perfis em DataCleaner,
201-202
para conexes JNDI, 320-321
gerenciamento de banco de dados, 44-45
Drools, 141
580 ndice D-E
eobjects.org. Veja DataCleaner
ERD (diagrama entidade relacionamento),
102, 104
ERMaster, 32
caminho de erro de execuo, 288
Esper, 141
E-stats site, U. S. Censo, 109
ETL (extrao, transformao e
Carregando). Veja tambm PDI (Pentaho Data
Integration)
de back office, 118
construo''Ol Mundo!''. Veja Spoon,
''Ol Mundo!''
de arquitetura de dados do armazm, 117-118
motor, 72
Resumo dos, 224
programao independente do Pentaho BI
Servidor, 420
rea de teste de otimizao, 118-119
ETL (extrao, transformao e
Carregando), atividades
agregao, 229
Change Data Capture, 226
limpeza de dados, 228
dados de teste, 226-227
validao de dados, 227-228
decodificao e renomear, 228-229
dimenso e manuteno tabela da ponte,
229
extrao, 226
gerenciamento de chaves, 229
carregamento de tabelas de verdade, 229
Resumo dos, 225
ETLT (extrao, transformao, carga e
transformar), 224
EUL (End User Layer), 117
exemplos, fornecidos com Pentaho
anlise, 16-19
grficos, 14-16
dashboards, 19-20
outros tipos de, 20
Resumo dos, 8-9
relatrios, 11-14
compreenso, 9-11
usando o navegador de repositrio, 9
exportaes Excel, JPivot, 494
Executar um trabalho de dilogo, Carte, 341
Executa uma caixa de dilogo de Transformao, Carte,
341
Privilgios de execuo, 424
DROP TABLE declarao, dimenses, data
265-267
sistemas dual-boot, 23
Dummy etapa, 296-297
dados duplicados, e armazns de dados, 124
DV (abbada de dados), 125-127
DVD dimenses, esquemas de Mondrian,
478-480
DVDs
gerenciamento de inventrio, 104-105
Aluguer exemplo lembrete e-mails,
430-438
WCM modelo de dados, 99-102
DWaaS (DataWarehouse como um servio), 144
E
ECHO comando, 29
Eclipse IDE, 77-80
ECMAScript, 532
Link Editar Pblica painel de listas de
Workspace, 427-428
modos de edio, editor do esquema, 465-466
EE (Enterprise Edition), do Pentaho, 76-77,
530
elementos, PRD relatrio, 380-381
ELT (extrao, carga, transformar), 224
e-mail
configurando, 52-54
exemplo de ruptura. Veja lembrete de aluguer
e-mail exemplo
Pentaho BI Server servios, 70
configurao de teste, 54
Email guia Mensagem, Correio entrada de emprego, 290-
291
EMAIL ao do processo, 436-437
email_config.xml, 52, 70
funcionrios
coleta de requisitos, 194
desenvolvimento do modelo de dados, 101, 103
gerenciamento de inventrio, 105
Encr.bat script, 334
encr.sh script, 334
camada do usurio final (EUL), 117
utilizadores finais, definidos, 192
Enterprise Edition (EE) da Pentaho, 76-77,
530
Enterprise Resource Planning (ERP), em
anlise de dados, 195
variveis de ambiente, a instalao de
Java, 28
ndice
Execute SQL Script etapa, PDI
data de criao da tabela de dimenso, 265-267,
277
criao da tabela de dimenso, demografia
282
criao da tabela de teste, 295-296
Execuo de painel de resultados, Spoon, 245-246,
255
Experimentador, Weka, 510, 517-518
Explorer, Weka
criar e salvar os dados do modelo de minerao,
523-524
Resumo dos, 510
trabalhar com, 516-517
exportadores
dados a planilha ou arquivo CSV com
WAQR, 375
emprego e transformaes, 326
metadados para o servidor, 367
relatrios PRD, 408
arquivos XMI, 366
expresso funo string,
TextComponent, 556
expresses
MQL Query Builder limitaes,
385
em frmulas de relatrios Pentaho, 396
eXtensible atributo relao-File Format
(XRFF), 511-512
Extensible Markup Language. Veja XML
(Extensible Markup Language)
extrato, 306-307

extrao, transformao, carga e transformao
(ETLT), 224
extract_lookup_type transformao,
287, 292-293
extract_lookup_value transformao,
287, 292-293
extract_promotion transformao,
302-304
Extrao, Transformao e Carga.
Veja ETL (Extrao, Transformao,
e carregamento)
processo de extrao, ETL
Change Data Capture atividades,
226
dados de teste atividades, 226-227
definido, 224
Resumo dos, 226
atividades de apoio de, 225
E-F 581
F
atalho F3, 249
tabelas de fatos
dimenses conformado vinculando, 115
consolidadas, 189
criao de ordens de data mart, 212
desenvolvimento global de data mart modelo de dados,
208
contra as tabelas de dimenso, 148-150
de carga, 230
esquemas de Mondrian, 468
tipos de, 149-150
utilizando as teclas inteligentes data para particionar,
166
Fake Name Generator, 97, 101-102
relaes familiares, cubos, 451-452
Lista de recursos, as conexes JNDI, 320-321
arquitetura federada, data warehousing,
119-120
campos
criar consultas SQL usando JDBC, 383
desenvolvimento global de data mart modelo de dados,
207-208
formatao ao usar imagens em relatrios,
404
passo para a falta de data, as tabelas de dimenso,
267-268
data especial, 216-218
WAQR relatrio, 374
formatos de arquivo, Weka, 511-512
repositrio baseado em arquivo, 358-359
FILTRO consultas funo MDX, 455-456
Filtro etapa linhas, 293-295
filtros
OLAP Navigator, 19
horrios pertencentes ao mesmo grupo,
414-415
relatrios WAQR, 374
Grficos Flash, Pentaho, 15-16
fluxo orientado ferramentas de relatrio, 376
painel de contedo da pasta, o usurio do console de 8
pastas, de 68 anos
dobras, validao cruzada e, 509-510
restries de chave estrangeira, 150-151, 383
Formato opo de linha de bandas, PRD
relatrios, 391
formatao
datas, 271
corpo de e-mail em HTML, 292
camada de metadados aplicao consistncia
de, 360
582 ndice F-H
Get System Info etapa, 333
comeando, 20/03
baixar e instalar o software,
4-5
login, 6-7
Mantle (Pentaho usurio do console), 7-8
Resumo dos, 3
a partir do servidor Pentaho VI, 5-6
trabalhar com exemplos. Veja exemplos,
fornecido com Pentaho
global de data mart modelo de dados, 206-208
funes globais, relatrios PRD, 393-395
fonte de entrada global, 84
variveis globais, definidas pelo usurio, 312
Gmail, configurao 70
GNOME Terminal, 24
pai-av escopo de trabalho, 313
granularidade
consolidao mesas multi-gro, 188-189
dados de projeto do armazm, 163-164
tabelas de dimenso e tabelas de fato, 149
global de data mart modelo de dados, 208
modelagem do esquema estrela, 163-164
dimenses de tempo, 165
grficos
adicionando aos relatrios PRD. Veja grficos
no disponvel em WAQR, 375
Greenplum, 143
grelhas de campo, 244
GROUP BY declarao, SQL, 151-153
Grupo cabealho / rodap, relatrios PRD, 378
grupos
criao de agenda usando, 414-415
MQL Query Builder limitaes, 385
para os relatrios do PRD, 378, 391-393
para sistemas baseados em UNIX, 39
para relatrios WAQR, 373-374, 375
convidado usurio, PDI repositrio, 324, 326-327
ferramentas grficas, MySQL, 31
formatao (Continuao)
PRD relatrio com imagens, 404
relatrios PRD, 389-390
visualizaes de relatrio, 376
relatrios WAQR, 374, 375
Frmula passo, carregando dimenses, data
276-277
frmulas, Pentaho Reporting, 395-396
link Frum, PRD tela de boas vindas, 377
engenharia para a frente, 208
Freakonomics, 503
Free Java boto Download, 28
Free limite de memria, o estadiamento de pesquisa
valores, 299
DA declarao, SQL, 151-152
front office, de arquitetura de dados do armazm,
117-118
front-end
Pentaho BI pilha, 66
console como usurio, 73
FULL OUTER JOIN, 155
varredura de toda a tabela, 129
funcionalidade, Pentaho BI pilha, 65
funes de relatrio, 393-395
G
GA lanamento (geralmente disponvel), 4
Sexo e Gnero etapa seqncia,
dimenso demogrfica, 282
Sexo etapa rtulo, a demografia
dimenso, 282
Categoria Geral, Database Connection
dilogo, 249-251
Na guia Geral, editor de seqncia de ao, 81,
86-89
Gerar 24 horas etapa, a dimenso do tempo,
277
Gerar 60 Minutos etapa, a dimenso do tempo,
277
Gerar etapa Linhas
dimenso de data, 267-268
dimenso demogrfica, 282-283
Gerar linhas com passo data inicial, data
dimenso, 267-268
gerao de idade e os grupos de renda,
dimenso demogrfica, 284-285
genricas conexes de banco de dados, 257-258, 316
tabela de dimenso, geografia
MapComponent, 558-559
H
TENDO declarao, SQL, 151, 157
cabealhos, os relatrios do PRD, 378
''Ol Mundo!''. Veja Spoon,''Ol
Mundial!''
tabelas auxiliares, 184
dimenses heterogneas, 181
banco de dados Hibernate
configurar a segurana JDBC, 50-51
ndice
definida, 45
Resumo dos, 47-50
hierarquias
acrescentando, 471
nveis de adio, 474-476
atributos, 472-473
agregao do cubo e, 448-449
cubo de relaes familiares, 451-452
nveis, e membros, 449-451
mltipla, 451
navegar pelos dados utilizando, 184-186
histria
captura em data warehouse. Veja
modelo dimensional, capturando
histria
criar tabela separada para, 176-178
vantagens do armazm de dados, 113
armazm de dados de reteno, 128
armazenar comandos, 25
HOLAP (OLAP Hbrido), 122
diretrio home, CDF, 534-535
Home Theater site Info, 100-101
sistemas de home-grown, para anlise de dados,
195
lpulo
conectando as transformaes e empregos,
233-234, 287
criao de''''Ol Mundo, 242-243
etapas de filtro de linha no estadiamento valores de
pesquisa,
295
diviso existente, 254
compartimentao horizontal, 180
Seqncia passo horas, dimenso de tempo, 277
HSQLDB servidor de banco de dados
gerenciar bancos de dados do sistema por padro,
45
migrao de dados do sistema de,
46-52
start-pentaho explorao script, 6
HTML (HyperText Markup Language)
construo de painis CDF, 531
Especificao DOM, 532
formatao no corpo da mensagem, 292
para o layout, 566-567
Arquivo. Html, 545
hub and spoke arquitetura, 119-121
hubs, para modelos de dados abbada, 125
Hybrid OLAP (HOLAP), 122
estratgias hbridas, 178-179
H-I 583
I
varivel, cone 311
identificao, para contas de usurio, 327-328
Identificaes personalizadas, definindo, 387
imagens
adicionando aos relatrios PRD, 401-404
criar CDs de boot do download
arquivos, 22
software de virtualizao e, 23-24
importao
valores de parmetros para sub-relatrios, 405-406
arquivos XMI, 366
EM operador, 151
Renda e Renda etapa seqncia,
dimenso demogrfica, 282
Renda etapa Group, demografia
dimenso, 282, 284-285
Declarao de Renda de relatrio de exemplo, 12
dados incompletos, armazns de dados, 124
dados incorretos, armazns de dados, 124
independente de data marts, 119-120
ndices
bases de dados analticas no necessitando, 142
criando em SQL, 212-213
melhorar desempenho do data warehouse,
129
Infobright, 23, 143, 502
herana
Pentaho camada de metadados e, 356-357
PRD relatrios usando estilo, 389-390
script de inicializao (rc arquivo), 40-42
fase de inicializao, transformaes
266-267
estilos inline, HTML e-mail, 436
Inmon, Bill, 113-116
INNER JOIN, 153-154
formatos de entrada, minerao de dados Weka, 511-
512
fluxos de entrada, conjuntos de transformao PDI,
285-286
insumos, seqncia de ao, 83-85
instalao, Pentaho BI Server
Diretrio, 38
Resumo dos, 4
criao de conta de usurio, 38-39
subdiretrios, 38
diviso inteira, dimenses data, 272
Endereo de interface parmetro, Carte, 340
Organizao Internacional para
Padronizao. Veja ISO (International
Organization for Standardization)
584 ndice I-J
Resumo dos, 248-249
Weka leitura de bases de dados usando,
512-513
JDBC Explorer, 463
JDBC-ODBC bridge, 249
jdbc.properties arquivo, 320-321
Jetty, 55, 57-58
JFreeChart, 15, 397-404
JFreeReports, 72. Veja tambm PRD (Pentaho
Designer de Relatrios)
JNDI (Java Naming and Directory
Interface)
configurar conexes de metadados
editor, 360
criao e edio de fontes de dados, 60-61
criar conexes de banco de dados, 319-322
entradas de emprego
definido, 287
lpulo conexo, 287-288
Mail Sucesso, Falha e correio, 289-292
START, 288
Transformao, 288-289
utilizando variveis. Veja variveis
empregos
adicionar notas a lona, 264-265
criar, 287-288
criar conexes de banco de dados, 249
manipulao de dados mecanismo de integrao, 232
exportadores Repository Explorer, 326
Resumo dos, 235
remotamente executando com Carte, 341-342
execuo da linha de comando, 330-334
execuo dentro Pentaho BI Server,
334-337
correndo com cozinha, 332
funcionando dentro de seqncias de ao, 335
armazenamento em 232 repositrio,
transformaes vs, 232-233, 287
variveis definidas pelo usurio para, 312
o uso de conexes de banco de dados, 252-253
com conexo banco de dados variveis,
317-318
JOIN clusulas, 151-154
juntar-se caminhos, 364-365
participar de perfis, 197-198
Junte-se linhas (produto cartesiano) passo,
277-281, 283
JPivot
vista de anlise, 484-485
grficos, 494-496
perfurao com tabelas dinmicas, 486-488
internacionalizao, 277, 484
Internet Movie Database, 99
processo de entrevista, coleta de requisitos,
194
CDC intrusivo, 133-135
dados invlidos, de limpeza, 228
inventrio, por exemplo WCM, 94-95, 104-105
ISO (International Organization for
Standardization)
imagens, 22
normas, 97
semana e do ano atributos, 276
_ISO colunas, dimenso de data, 182-183
gerenciamento de problemas, CDF, 531
Item Band, o relatrio lembrete de execuo, 435
J
J48 classificador de rvore, 508-509
Jar. arquivos, 44-45
Jar. arquivos, 201
JasperReports, 72, 372
Java
instalando e configurando, 27-29
Pentaho programadas, 4, 66
A tecnologia servlet, 67, 74
java - weka.jar java comando, 514
Java Database Connectivity. Veja JDBC
(Java Database Connectivity)
Java Naming and Directory Interface. Veja
JNDI (Java Naming and Directory
Interface)
Mquina Virtual Java (JVM), 43, 314,
333-334
JAVA_HOME varivel, 28
JavaMail API, 52, 54
JavaScript
construo de painis CDF, 532
CDF e, 536-537
avaliao, 205
JDBC (Java Database Connectivity)
configurar a segurana, 50-51
parmetros de conexo, 462
pool de conexo, 69
criao e edio de fontes de dados, 60-61
criar conexes de banco de dados, 250-251
criar conexes de banco de dados genricos,
257-258
criao de consultas SQL, 382-385
gerenciamento de drivers de banco de dados, 44-45
ndice
Painel de consulta MDX, 493
No vazio funo e, 458
Resumo dos, 442, 484
PDF e exportaes Excel, 494
barra, 485
JQuery, 532
jquery. <name>. js, 536
js diretrio, CDF, 535
jsquery.js, 536
tabela lixo dimenso, 181
JVM (Java Virtual Machine), 314, 333-334
J L- 585
K
K.E.T.T.L.E. Veja Pentaho Data Integration
empregos Chaleira, 73, 210
Kettle.exe script, 236
kettle.properties arquivo, 312-313, 324-325
gerenciamento de chaves, e integrao de dados, 229
Kickfire aparelho, 144
Kimball, Ralph
volta e em definies de escritrio, 117-118
arquitetura de barramento de dados do armazm, 158
dados Inmon vs modelo de armazm,
114-116
estratgias de SCD, 170
snowflaking e, 186-187
ferramenta da cozinha
genrico parmetros de linha de comando,
330-332
PDI como ferramenta, 230-231
executar trabalhos / transformaes de
linha de comando, 330-334
utilizando repositrio com PDI. Veja repositrio,
PDI
Klose, Ingo, 530
KnowledgeFlow, Weka, 510, 518-519
valores conhecidos, os resultados de minerao de
dados, 506
L
ltimo dia do ms, as dimenses da data, 273
indicador do ano passado, dimenses, data
276-277
last_week coluna, 167-168, 216-218
latncia, de execuo remota de reduo, 339
layout
painel de instrumentos, 566
relatrios PRD, 389-390, 393
LEFT OUTER JOIN, 154
nveis
adio de nveis de hierarquia, 474-476
atributos, 474-475
Expresses multidimensionais, 449-451
lib diretrio, CDF, 535
Biblioteca de Support Vector Machine
(LibSVM), 512
LibSVM Biblioteca (para Support Vector
Machine), 512
grficos de linhas, 543
links, para modelos de dados abbada, 125
Linux, 24-25, 40-42
lista, escolhendo a partir de variveis, 312, 317
Empregos lista agendada processo de ao,
Scheduler, 420
ouvintes,TextComponent, 556-557
modo Live, a correr o Ubuntu em, 23
etapa Load dim_demography, 283
etapa Load dim_time, 277
Comando LOAD FILE, MySQL, 402
etapa Load stage_demography, 283
load_dim_promotion trabalho, 302-303,
306-307
processo de carregamento, ETL. Veja tambm ETL
(Extrao, transformao e
Carregando)
definido, 224
manuteno de tabela de dimenso, 229
carregamento de tabelas de verdade, 230
atividades de apoio de, 225
hora local, UTC versus tempo (Zulu), 165-166
apoio local, data dimenses, 277
localizao, na camada de metadados, 349, 357
locais, o cliente. Veja cliente
locais; MapComponent
CDC baseado em log, 136-137
login, comeando, 6-7
consistncia lgica, 247
camada lgica, o modelo de metadados
Modelos de Negcios, 362
Tabelas de negcios e colunas de negcios,
362-363
definido, 355
finalidade de, 362
relacionamentos, 364-365
Entrar boto, comear, 6-7
mdulos de login, Jetty, 57-58
logos, os relatrios com, 401-404
valores de pesquisa estadiamento, 286-300
Verifique se existe Staging Tabela etapa, 294
Criar Staging etapa de mesa, 295-296
586 ndice L-M
mapas dashboard, 543
opes marcadas, para os locais dos clientes,
562-565
Anlise de Mercado Por exemplo, no ano, 18-19
anlise de mercado da cesta, e de associao,
507
processamento paralelo macio (MPP) cluster,
142
gerenciamento de dados mestres (MDM), 126-128
Dominando Data Warehouse Design (Imhoff
et al.), 208
MAT (movimento total anual), 217-218
vises materializadas, data warehouse
desempenho, 130-131
MDM (Master Data Management), 126-128
MDX (expresses multidimensionais),
445-460
membros calculados, 459-460
COM clusula para trabalhar com conjuntos,
458-459
Crossjoin funo, 457
cubo de relaes familiares, 451-452
cubos, 446-448
FILTRO funo, 455-456
hierarquias, 448-449, 451
nveis, e membros, 449-451
NonEmpty funo, 457-458
ORDEM funo, 456-457
Resumo dos, 445-446
sintaxe da consulta, 453-455
formatos de armazenamento e, 122-123
TopCount e BOTTOMCOUNT funes,
457
Painel de consulta MDX, JPivot, 493
Ferramenta de consulta MDX, PSW, 481-482
dimenses medida, 447
medidas
adicionando s tabelas de cubo fato, 469-470
cubos, pastilhas e, 447
OLAP Navigator exibir mltiplas
493
ORDEM funo, 456
Slice and Dice exemplo de tabela de piv, 17
transao e instantneo tabelas de fato, 150
conjuntos de membros, OLAP Navigator, especificando,
492
membros, MDX, 449-451
barra de menus, o usurio do console, 7
campos de mensagens, imagens em relatrios, 404
filas de mensagens, dados em tempo real
warehousing, 141
valores de pesquisa, estadiamento,
(Continuao)
Dummy etapa, 296-297
extract_lookup_type / extract_
valor_procurado transformaes,
292-293
Filtro etapa linhas, 294-295
Correio xito e entradas de emprego Mail Failure,
289-292
Resumo dos, 286-287
Classificar em pesquisa do tipo degrau, 299-300
stage_lookup_data trabalho, 287-288
stage_lookup_data transformao,
293-294
START entrada de trabalho, 288
Stream etapa de pesquisa, 297-299
Tabela etapa de sada, 300
transformao de entradas de emprego, 288-289
valor_procurado tabela, os mapeamentos de promoo,
301
exemplo, looping estourando, 432-434
dimenses perdidas, 498
LucidDB banco de dados analticos, 140, 142-143,
502
M
aprendizagem de mquina, 503. Veja tambm minerao
de dados
Falha Mail entradas de emprego, 288-292
Mail Sucesso entradas de emprego, 288-292
sistemas de mainframe, anlise de dados usando,
195-196
gestores, a partir de coleta de requisitos,
194
Mantle. Veja usurio Pentaho console (manto)
MapComponent, 557-562
acrescentando tabela de dimenso, geografia
558-559
cdigo para incluir no painel de instrumentos,
561-562
formato de dados, 556-557
Local de aco seqncia de dados, 559-561
opes marcador para mostrar a distribuio
das posies do cliente, 563-565
Resumo dos, 557
mapeamento
acrescentando independncia esquema, 348-349
dim_promotion tabela, 301
planejamento de carregamento da tabela de dimenso,
300
modelo relacional para multi-dimensional
modelo, 444
origem para o destino, 218-219
ndice
Modelo de Mensagem ao do processo, 438
M 587
metadados. Veja tambm Pentaho camada de
metadados
em ambiente de data warehouse, 113-114
exibio em DataCleaner, 200
refrescante aps a publicao de relatrio
servidor, 407-408
transformao, 233
claro, 124
utilizando sistemas ERP para anlise de dados, 195
Editor de Metadados fonte de dados, 385
domnios de metadados, 359
Metadados Query Language. Veja MQL
(Query Language metadados)
repositrio de metadados, 358-359
metadata.xmi arquivo, 367
MetaEditor.bat arquivo, 358
arquivo metaeditor.sh, 358
MetaMatrix soluo, 140
mtricas. Veja medidas
Microsoft Windows
inicializao automtica, de 43 anos
criao de links simblicos no Windows Vista, 26
PDI como se mantm informado dos repositrios,
328-329
instalar o Java em, 28-29
instalar as ferramentas GUI MySQL em, 31
instalar o servidor MySQL eo cliente
na, 30
instalar Pentaho Server, 38
Esquilo na instalao, 33
programao de trabalho para, 421
ofuscado senhas de banco de dados, 334
Pentaho editor de metadados em, 357-358
execuo Carte, 339-340
partida e parada no PAC, 56
a partir Pentaho BI Server, 5-6
a partir Pentaho Design Studio, 10
aplicao a partir Spoon, 236
mini-dimenses
melhorar monstro com dimenses,
174-176
vs lixo dimenso, 181
versus separao vertical, 179-180
Minuto etapa seqncia, dimenses de tempo,
277
falta de dados, data warehouses, 124
Faltando duas datas, dimenses, data
267-268
Misso empresarial, gesto de vista,
105-106
modelos, criando / poupana Weka, 523
Modificado JavaScript passo valor, PDI, 277
Mogwai ERDesigner, 32
MOLAP (OLAP Multidimensional), 122
Mondrian
Agregado Designer, 130
agregao e, 496
alternativas para a agregao, 502
benefcios de agregao, 496-497
armazenamento de dados com, 123
descarga, 460
extenso com tabelas agregadas, 497-500
Pentaho Designer de agregao e,
500-502
como motor Pentaho OLAP, 72
tipos de usurios que trabalham com, 192
usando tabelas agregadas, 229
esquemas Mondrian
adicionando medidas para tabelas de fatos do cubo,
469-470
criao e edio bsica, 466
criando com PSW, 444
cubo de tabelas de fato, 468
cubos, 466-467
cubos, associando as dimenses,
476-477
tabelas de dimenso, 471-474
dimenses, acrescentando: 470-471
DVD e dimenses do cliente,
478-480
tarefas de edio, 466
hierarquias, 471-476
outros tpicos de design, 483-484
Resumo dos, 444, 460
Esquema Pentaho Workbench e,
460-463
cubos de publicao, 482-483
testes, 481-482
usando o editor de esquema, 463-466
XML de origem para, 480-481
MonetDB, 142, 502
Moneyball, 503
monitoramento, definidos, 309
dimenses monstro
mini-dimenses manipulao, 174-176
particionamento, 179-180
nmero do ms, as dimenses data, 271-272
cliques do mouse, reagindo a no grfico de pizza,
554-555
movimento total anual (MAT), 217-218
MPP (processamento paralelo massivo)
clusters, 142
588 ndice M-O
modo nativo, o Ubuntu em, 23
chaves naturais, 161, 229
Nautilus, 26
navegao, dos dados de data mart, 184-186
trfego de rede, reduo de distncia
execuo, 339
Novo assistente de Sequncia de Aco, 80
Nova opo, PRD, 378
Assistente para Novo projeto, PDS, 80-82
Novo painel de tarefas, DataCleaner, 199
No h dados, relatrios PRD, 379
No vazio funo, consultas MDX,
457-458
fatos no-aditivos, 150
CDC no-intrusiva, 133, 136-137
normalizao, 115-116, 186-187
Classificao da Indstria Norte Americana
System (NAICS), 128
notas de transformao, ou emprego de lona,
264-265
NULL valores, 124, 169
Nmero de anlise de perfil, DataCleaner,
200, 202
numricos de previso (regresso), os dados
minerao, 508
MQL (Query Language metadados)
gerar consultas SQL com, 351,
355-356
Pentaho Metadata camada de gerao de SQL
de, 70-71
armazenar as especificaes da consulta como, 352
MQL Query Builder, 385-386
instalador MSI, 30
clique multi-usurios (construtores), 192-193
banco de dados multi-suporte, 208
Expresses multidimensionais. Veja MDX
(Expresses multidimensionais)
modelo multi-dimensional, o mapeamento para
modelo relacional, 444
Multidimensional OLAP (MOLAP), 122
multi-disciplinar de dados a equipe do armazm,
192
mltiplas hierarquias, MDX, 451
mltiplas ingoing e que parte correntes,
dimenses da demografia, 285-286
multi-dimenses avaliadas, ea ponte
tabelas, 182-183
Murphy, Paul, 113-114
Meu painel de listas, Workspace, 427
MySQL
ferramentas grficas, 31
instalao, 29-31
Kickfire para, 144
migrao do sistema de bancos de dados. Veja
dados do sistema
nonsupport para as funes de janela, 132
Cumulativo de funes, 132
configurao de conexes de banco de dados para
Weka
minerao de dados, 512-515
MySQL Administrator, 31
mysql ferramenta de linha de comando, 46
MySQL Query Browser, 31
MySQL Workbench, 32
mysqlbinlog, 137
O
OASI (Um conjunto de atributos Interface),
184-186
senhas ofuscado, 314, 334
atributos do objeto, a edio com o esquema
editor, 465
Object Management Group (OMG), 352
ODBC (Open Database Connectivity)
criar conexes de banco de dados, 251
criar conexes de banco de dados genricos,
258
Resumo dos, 249
deslocamentos e tempo relativo, 167
OLAP (Online Analytical Processing)
cubos, 121-122
minerao de dados em comparao com, 503
Navigator, 18-19
como componente do Pentaho BI Server, 72
formatos de armazenamento e MDX, 122-123
OLAP Navigator
colocao de controle de dimenses em
eixos, 489-490
Resultados de vrias medidas, 493
N
NAICS (indstria norte-americana
Sistema de Classificao), 128
<name> Components.js, 537
convenes de nomenclatura
dados do processo de integrao, 228-229
armazns de dados, 162-163
modelos de documentos (templates exterior),
540-541
passos, 240
ndice
Resumo dos, 488-489
corte com, 490-491
especificando conjuntos de membros, 492
OMG (Object Management Group), 352
armazenagem de dados sobre a demanda, 144
Um conjunto de atributos Interface (AHV),
184-186
um-clique os usurios (consumidores), 192-193
Online Analytical Processing. Veja OLAP
(Online Analytical Processing)
dados on-line, e anlise de dados, 196
Open Database Connectivity. Veja ODBC
(Open Database Connectivity)
Projeto Open Symphony, 69-70, 411-412
OpenRules, 141
BI Operacional, 140-141

dilogo, 250
OU operador, 157
ORDER BY declarao, SQL, 151, 158
ORDEM consultas funo MDX, 456-457
nmeros de ordem, como dimenses de degenerao,
181
ordenao dos dados, 158
Pedidos de data mart, criando, 210-212
desempenho organizacional, anlise e,
503
OUTER JOIN, 153-155
exterior modelos, CDF. Veja documento
modelos (templates exterior), CDF
sada
seqncia de ao, 85
formatos, 11-14
''Ol Mundo''exemplo, 246
crregos, PDI, 285-286
retranca, 188
Mais clusula, as funes de janela,
131-132
substituir, 356
O P- 589
P
P * A (Power * Architect) ferramenta
construo de data marts dados usando, 210-212
criar conexes de banco de dados para construir
data marts, 210
modelagem de dados com, 208-209
bases de dados de produo, 212-213
Resumo dos, 30-31
PAC (Pentaho Administrao Console)
configurao bsica, 55-56
criao de fontes de dados com, 60-61
diretrio home, 38
home page, 56-57
Resumo dos, 55
autenticao conectvel, 58
segurana e credenciais, 57-58
partida e parada, de 56 anos
painel de testes, 547
gerenciamento de usurios, 58-60
PAC (Pentaho Console Administrativo),
horrios
criao de novo horrio, 414-416
horrios de excluir, 417
Resumo dos, 413
horrios de funcionamento, 416
suspenso e retomada de horrios,
416-417
Package Manager, 29-30
PAD (Designer de agregao Pentaho)
benefcios de agregao, 496-497
definida, 75
melhorar o desempenho com, 496
Mondrian, com extenso agregada
tabelas, 497-500
gerao e preencher total
tabelas, 445
Resumo dos, 500-502
usando tabelas agregadas, 229
quebras de pgina, relatrios WAQR, 375
Pgina cabealho / rodap, relatrios PRD, 378
PGINAS, Machados, 453
ferramenta Pan
PDI como ferramenta, 230-231
executar trabalhos / transformaes de
linha de comando, 330-334
usando PDI repositrio. Veja repositrio, PDI
parmetros
personalizado linha de comando, 333-334
painel de instrumentos, 546
agendador de tarefas, 418-419
relatrio, 13-14, 386-389
execuo Carte, 340
executar trabalhos de cozinha, 332
execuo transformaes com Pan, 332
especificando o valor de, 330-331
sub-relatrio, 405-407
quando usar ao invs de variveis, 316-317
escopo pai de emprego, com variveis, 313
objeto pai, e herana, 356
relao pai-filho, cubos, 452
590 ndice P
carregamento dos dados dos sistemas de origem. Veja
estadiamento valores de pesquisa, ea promoo
dimenso
arquitetura plug-in, 235
repositrio, 232
Reservatrio de amostragem, 520
ferramentas e utilitrios, 230-231
Weka, comeando com, 520-521
Weka e, 519-520
Weka aquisio de dados e preparao,
521-522
modelo Weka, criar e salvar, 523
pontuao Weka plugin, 523-524
trabalhar com conexes de banco de dados,
248-258
PDI (Pentaho Data Integration),
implantao, 309-343
configurao, utilizando conexes JNDI,
319-322
configurao, usando PDI repositrio,
322-330
configurao, utilizando variveis, 310-319
gerenciamento de configurao, 310
Resumo dos, 309
execuo remota com Carte, 337-342
execuo da linha de comando, 330-334
execuo dentro Pentaho BI Server,
334-337
utilizando variveis. Veja variveis
PDI (Pentaho Data Integration), projetando,
261-308
gerao de dados de tabela de dimenso. Veja
tabelas de dimenso
carregamento dos dados dos sistemas de origem. Veja
estadiamento valores de pesquisa, ea promoo
dimenso
Resumo dos, 261-262
PDI repositrio. Veja repositrio, PDI
PDM (Pentaho Data Mining). Veja Weka
minerao de dados
PDS (Pentaho Design Studio), 77-89
Ao editor de seqncia, 80-82
anatomia da seqncia de ao, 83-89
definida, 75
Eclipse, 78-80
Resumo dos, 77-78
exemplos estudar usando, 10
PeaZip, 4-5
Pentaho Administrative Console. Veja PAC
(Pentaho Administrao Console)
Partio clusula, as funes de janela,
131-132
particionamento
para o desempenho do data warehouse, 129
opes de conexo do banco de dados, 250
horizontal, 180
utilizando as teclas inteligentes data, 166
vertical, 179
PAS (Pentaho Analysis Services). Veja tambm
OLAP (Online Analytical Processing)
tabelas agregadas, 445
arquitetura, 442-444
componentes, 442-443
Resumo dos, 441
esquema, 444
esquema de ferramentas de projeto, 444
senhas
conectar ao repositrio, 324
criao de servidores escravos, 340
instalao do MySQL em Linux, 29-30
instalao do MySQL em Windows, 30
no armazenar em arquivos de texto simples, 202
banco de dados ofuscado, 314, 334
PAC home page, de 56 anos
editor, 54-55
a publicao do relatrio a Pentaho BI Server,
407
conta de usurio, 327-328
caminho varivel global, o caminho do painel de
instrumentos,
545-546
Padro perfil Finder, DataCleaner, 200
Pause, PAC, 416
Arquivos PDF
gerado pela Steel Wheels, 12
estourando nos relatrios de execuo, 438
exportaes JPivot, 494
PDI (Pentaho Data Integration), 223-259
adicionar plugins Weka, 520
verificao de consistncia e dependncias,
247-248
conceitos, 224-230
PDI (Pentaho Data Integration)
mecanismo de integrao de dados, 232
Viso geral da integrao de dados, 223-224
definida, 76
solues de concepo, 261-262
Enterprise Edition e, 77
gerao de dados de tabela de dimenso. Veja
tabelas de dimenso
comeando com uma colher. Veja Colher
empregos e transformaes, 232-235
ndice
Pentaho Designer Aggregate. Veja PAD
(Designer de agregao Pentaho)
Pentaho Analysis Server. Veja Mondrian
Pentaho Analysis Services. Veja OLAP
(Online Analytical Processing), PAS
(Pentaho Analysis Services)
Pentaho BI Server, 66-74
vista de anlise, 484-485
construo de painis, 529
exemplos de grficos, 14-16
configurar e-mail, 70
solues de exemplo includo, 8-9
incorporao de empregos em seqncias de ao,
336
incorporao de transformaes em ao
seqncias, 334-336
instalao, 4, 38-43
login, 6-7
Resumo dos, 67
e PDI repositrio, 336-337
usurio Pentaho console, 7-8
plataforma, 67-70
camada de apresentao, 73-74
publicao cubos, 482-483
metadados para publicao, 367
publicao de relatrios para, 406-407
exemplos de relatrios, 11-14
resposta aos pedidos de painel, 533
partida, 5-6
A tecnologia subjacente servlet Java, 74
Pentaho BI Server, os componentes
dados do motor de minerao, 72-73
ETL motor, 72
OLAP motor, 72
PML (Pentaho camada de metadados), 70-72
mecanismos de informao, 72
Web consulta ad hoc e relatrios
Servio (WAQR), 72
Pentaho BI Server, configurando
tarefas administrativas. Veja administrativa
tarefas
e-mail, 52-54
instalao, 38-43
gerenciamento de drivers de banco de dados, 44-45
Resumo dos, 37-38
senha editora, 54-55
bases de dados do sistema. Veja dados do sistema
Pentaho BI pilha, 63-90
criao de seqncias de ao com PDS. Veja
PDS (Pentaho Design Studio)
programas de desktop, 74-76
P 591
aspecto front-end/back-end, 66
funcionalidade, de 65 anos
Resumo dos, 63-65
Pentaho BI Server. Veja Pentaho BI Server
EE e Pentaho Community Edition,
76-77
cliente-servidor, desktop e programas, 65
tecnologia subjacente, 66-67
Weka minerao de dados. Veja Minerao de dados
Weka
Pentaho comunidade, mantendo a CDF
painis, 529-530
Pentaho Corporation, CDF e, 530
Pentaho Data Integration. Veja PDI
(Pentaho Data Integration)
Pentaho Data Mining (PDM). Veja Weka
minerao de dados
Pentaho Design Studio. Veja PDS (Pentaho
Design Studio)
Pentaho diretrio home, 38
Pentaho Editor de Metadados. Veja PME
(Pentaho Metadata Editor)
Pentaho camada de metadados, 347-369
vantagens de, 348-350
conceitos, 356
criao de consultas de metadados, 385-386
criao de conjuntos de dados PRD, 381-382
banco de dados e abstrao da consulta,
352-355
definido, 347-348
camada de entrega, 365-366
implementao e utilizao de metadados, 366-368
herana, 356-357
localizao dos imveis, 357
camada lgica, 362-365
domnios de metadados, 359
repositrio de metadados, 358-359
Resumo dos, 70-72
Pentaho editor de metadados, 357-358
camada fsica, 359-362
PRD usando como fonte de dados, 373
propriedades, 355-356
alcance e uso de, 350-352
Pentaho Metadata Layer (PML), 70-72
Pentaho Report Designer. Veja PRD
(Pentaho Report Designer)
Esquema Pentaho Workbench. Veja PSW
(Esquema Pentaho Workbench)
usurio Pentaho console (manto)
comeando, 7-8
camada de apresentao, 73
metadados refrescante, com, 367-368
592 ndice P
PME (Pentaho Metadata Editor)
definida, 75
definio de metadados com, 350
edio dos contedos do repositrio de metadados,
358-359
Resumo dos, 357-358
PML (Pentaho camada de metadados), 70-72
polticas, ferramentas de programao, 420
Comparticipao categoria, Database Connection
dilogo, 250
porta 8080, Tomcat, 39-40
porta 8099, o PAC, 56
portas, funcionando Carte, 340
PostgreSQL, 132, 143
power users (analistas), 192-193
Power * Architect. Veja P * A
(Power * Architect) ferramenta
PRD (Pentaho Report Designer)
grupos de adicionar e modificar, 391-393
parmetros de adio e usando, 386-389
adicionar grficos e grficos, 397-404
como editor de relatrio em faixas, 376
criao de conjuntos de dados, 381-386
criao de relatrios de metadados baseado em 366
definida, 76
relatrios de exportao, 408
layout e formatao, 389-390
modificao de relatrios WAQR em, 375
Resumo dos, 376-377
publicao de relatrios, 406-408
elementos relatrio, 380-381
estrutura do relatrio, 378-380
bandagem linha, 390-391
frmulas que utilizam, 395-396
utilizando funes, 393-395
sub-utilizao, 404-406
Tela de boas vindas, 377-378
PRD Designer de Consulta, 397-398
previses
minerao de dados para, 506
no numricos, 506-508
numrico, 508
pr-requisitos, 21-36
configurao bsica do sistema, 22-25
ferramentas de banco de dados, 31-34
Java instalao e configurao,
27-29
Instalao do MySQL, 29-31
Resumo dos, 21-22
usando links simblicos, 25-26
Preview opo de menu, os relatrios do PRD, 408
usurio Pentaho console (manto) (Continuao)
painel de testes, 547
tela de boas vindas e de dilogo de login, 6-7
Pentaho Portal usurio, 376
pentaho-init.sh, 41-42
PentahoSystemVersionCheck cronograma,
413
desempenho
anlises e, 503
volume de dados e, 128-133
baseado em arquivo de banco de dados contra
repositrios,
358-359
tabela peridica fato instantneo, 150
carregamento de dados de peridicos, 118
permisses, gerenciar, 327
perspectivas, IDE Eclipse, 80
Petabyte, 128
Colunas de Fsica, 360-362
dados fsicos de armazenamento, 139
camada fsica, o modelo de metadados
conexes, 359-360
definida, 71, 355
Resumo dos, 359
Quadros e Tabelas de Fsica da coluna,
360-362
Tabelas Fsica, 360-362
grficos de pizza
adicionando aos relatrios PRD, 400-402
Clientes por Website, 548-553
como componente do painel, 543
reagir aos cliques do mouse sobre, 554-555
pieclicked (), 554-555
PieSet funo de coletor, 399-402
tabelas dinmicas
para visualizao do cubo, 447-448
perfurao e, 486-488
OLAP Navigator e. Veja OLAP
Navigator
Slice and Dice exemplo de anlise, 17-18
Steel Wheels exemplos Anlise, 18
PivotCategorySet funo de cobrador, 399
espaos reservados documento, modelos 540
plataforma Pentaho BI Server, 67-70
plug-ins
acrescentando Weka, 520
pedidos painel levada a cabo,
534-536
Esquilo instalar no Ubuntu, com, 33
PDI, 235-236
Weka pontuao, 523-524
plugin.xml arquivo, CDF, 535-536
ndice
Os ndices de chave primria, 129
chaves primrias, 160-161, 229
agendas privadas, 412, 418-419
privilgios
criar o repositrio, 323
acesso refinao, 349
Linha de Produtos Anlise exemplo, 18-19
gerenciamento de produtos, bases de dados para, 95-96
product_type, 217
perfis
solues alternativas, 205-206
de autorizao de contas de usurio, 327-328
Resumo dos, 197-198
usando DataCleaner. Veja DataCleaner
utilizando ferramenta Power * Architect, 208
Diretrio Arquivos de Programas, 5
projetos, Eclipse IDE, 79-82
dimenso promoo
alteraes de dados, 301-302
determinar alteraes de dados, promoo
304-306
extract_promotion trabalho, 303-304
load_dim_promotion trabalho, 302-303
mapeamentos, 301
Resumo dos, 300-301
pegar arquivo e extrair o carregamento,
306-307
extrato de poupana e passar no nome do arquivo,
306
freqncia de sincronizao, 302
promoo tabela, 301-302
promoes, WCM exemplo, 94-95,
102-105
alerta, a correr em background, 422-423
Prompt / Secure Ao de filtro, o processo
aes, 85
propriedades
acessando relatrio, 435
Tabelas de coluna, 361-362
conexes de banco de dados, 249-251
genricas conexes de banco de dados, 257-258
Pentaho camada de metadados, 355-356
Tabelas fsicas, 361
PRD relatrio, 378
rapidamente a abertura de tabelas ou colunas,
210
servidores escravos, 340
Configurao de SMTP e-mail, 53
subscrevendo a agenda pblica, 423-424
variveis, 311-312
. PRPT formato de arquivo, relatrios PRD, 376
P-Q 593
poda, bases de dados analticas, 142
PSW (Esquema Pentaho Workbench),
460-463
criar esquemas de Mondrian, 444
definida, 75
descarga, 460
estabelecer conexo com, 462
instalao, 461
JDBC Explorer e, 463
Ferramenta de consulta em MDX, 481-482
Resumo dos, 442
especificando tabelas agregadas, 499
a partir de 461
agendas pblicas
permitindo aos utilizadores subscrever, 423-424
criao, 414
definido, 412
Pblico painel de listas, Workspace, 427
Publicar dilogo Servidor, 367
senha editora, 54-55
publisher_config.xml arquivo, 55, 407
publicao
cubos, esquemas Mondrian, 482-483
definida, 68
diretamente a Pentaho BI Server, 372,
406-408
ordens de compra, por exemplo WCM, 101-105
Q
Nmero trimestre, as dimenses da data, 272, 273
Quartzo
configurando, 47
definida, 45
Empresa Job Scheduler, 411-412
o agendamento de tarefas com, 69-70
Designer de Consulta, SQL, 382-384
governador de consulta, 164
o desempenho da consulta, data warehousing,
128-133
agregao, 130
arquivamento, 132
ndices de bitmap, 129-130
ndices, 129
vises materializadas, 130-131
particionamento, 129
funes de janela, 131-132
redirecionamento de consulta, com materializada
vistas, 130
sintaxe da consulta, MDX, 453-455
594 ndice Q-R
DVDs ficar devido a ser devolvido, 434
loop clientes, 432-433
Resumo dos, 430-431
relatrio lembrete execuo, 434-436
envio de relatrio via e-mail, 436-438
replicao, armazenamento de dados e, 134
relatrio de ruptura, 85-89
Relatrio cabealho / rodap, PRD, 378
Assistente de relatrio, PRD, 378
relatrios motores
definida, 72
Pentaho Report Designer, 76
arquitetura de informao, 372
relatrios. Veja tambm PRD (Relatrio Pentaho
Designer)
alternativas para a criao, 64
sada anexar mensagem de e-mail,
436-438
estourando. Veja ruptura
com coleta de requisitos existentes,
194
exemplos de, 11-14
multi-usurios clicam trabalhar com, 192
JasperReports manipulao Pentaho ou BIRT,
372
Pentaho camada de metadados. Veja Pentaho
camada de metadados
ferramentas de poder para o usurio, 192
usos prticos do WAQR, 375-376
lembrete, 434-435
arquitetura de informao, 371-373
WAQR, 72
relatrios baseados na Web, 373-375
repositrios
contedo, 412-413
contedo, gesto, 429
Colher com o lanamento do banco de dados, 236
metadados, 358
soluo, 68
trabalhos de conservao e as transformaes no
banco de dados, 232
repositories.xml arquivo, 328-329
repositrio, PDI, 322-330
ligar automaticamente para o padro,
324-325
configurando para Pentaho BI Server,
336-337
conectar-se, 323-324
criar, 322-323
Manter o controle de, 328-329
gerenciar contas de usurio, 326-328
consultando esquemas estrela. Veja esquemas em
estrela,
consulta
Guia de Incio Rpido, PRD, 377
R
Raju, Prashant, 51
aleatoriedade dos dados, modelos de previso,
509
rc arquivo (script de inicializao), 40-42
perfil de Read-Only, PDI repositrio, 327
dados em tempo real de armazenagem, 140-142
ETL em tempo real, 118
registro de fluxos, transformao, 233-234
tipos de registro, transformao, 233-234
registros
sada de distribuio atravs dos crregos, 286
transformao, 233-234
opes de recorrncia, horrios, 415-416
recursividade, 184
Red Hat Linux-based, a inicializao automtica,
42
dados de referncia, contra mestre de dados, 128
metadados refrescante
aps a publicao de relatrio, 407-408
com o usurio do console, 367-368
Regex perfil Matcher, DataCleaner, 200,
202-204
regexes (expresses regulares), em dados
Cleaner, 202-204
RegexSwap, 203
regio, Ordens de data mart, 212
Regional de Vendas - HTML exemplo de relatrio,
11-12
Vendas Regional - Linha / Bar exemplo de grfico,
16-17
regresso (previso numrica), dados
minerao, 508
modelo relacional, mapeamento, 444
OLAP relacional (ROLAP), 122, 442
relaes
Pentaho metadados, 362, 364-365
tempo relativo, 452
tempo relativo
manipulao, 166-168
relacionamentos, 452
relatrio de lembrete, correr, 434-436
execuo remota de, 337-339
Aluguer lembrete exemplo e-mails, 430-438
encontrar clientes com DVDs devido esta
semana, 431-432
ndice
abertura Repositrio Explorer, 325-326
Resumo dos, 322
atualizar existentes, 329-330
browser do repositrio, 8-9
Repositrio de dilogo, 322-324
Repository Explorer, PDI, 325-328
fonte pedido de entrada, sequncias de ao,
83-84
anlise de requisitos
A coleta de requisitos, 193-195
para soluo de data warehouse, 191-192
usurios direito de se envolver, 192-193
palavras reservadas, evitando-se a bancos de dados,
163
Amostragem Reservatrio Weka, 520
opo de Recursos, PRD tela de boas vindas,
377
recursos diretrio, CDF, 535
opo de Recursos, PRD tela de boas vindas,
377
resources.txt, CDF, 537
restries, 156-157
Currculo de Emprego ao, processo Scheduler,
420
Resume Scheduler processo de ao,
Scheduler, 420
horrios de retomar, 416-417, 420
engenharia reversa, 208
RIGHT OUTER JOIN, 155
ROLAP (OLAP Relacional), 122, 442
role-playing dimenses, 181-182
papis
gesto do servidor, 59-60
segurana de apoio Mondrian, 72
esquema de projeto e, 483
Cumulativo de funes, MySQL, 132
raiz trabalho escopo, variveis, 313-314
linha de bandas, relatrios, 390-391
linhas
bandas de cor nos relatrios PRD, 390-391
OLAP Navigator, 19
SCD tipo 2, 171-173
trabalhar com redes de campo, 244
ROWS, Machados, 453-454
Os arquivos RTF, relatrios de exportao, 408
algoritmo de regra, para a classificao, 508
Executar link Agora, Pblico painel listas de
rea de trabalho, 427
funes de execuo, relatrios PRD, 393-395
fonte de entrada de execuo, seqncias de ao, 84
R-S 595
S
SaaS (Software as a Service), 144
Sakila banco de dados da amostra, 97
SampleData banco de dados, 45
amostras diretrio, PDI, 261
satlites, modelos de dados baseados em abbada, 125
SBI (serializado instncias binrio), 512
escalabilidade
de execuo remota de, 338
scale-out, 338
scale-up, 338
trabalho com grfico, 401-402
SCDs (Lentamente Dimenses Alterar)
criao de ordens de data mart, 212
desenvolvimento global de data mart modelo de dados,
207
Resumo dos, 170
Tipo 1: substituir, 171
Tipo 2: adicionar linha, 171-173
Tipo 3: adicionar a coluna, 174
Tipo 4: mini-dimenses, 174-176
tipo 5: tabela de histria independente, 176-178
estratgias hbridas, 178-179: tipo 6
Agenda privilgios, 424
Programador
conceitos, 412-413
criao e manuteno de horrios com
PAC, 413-417
programao de sequncias de ao, 417-420
Status Scheduler processo de ao,
Scheduler, 420
horrios, definidos, 412
agendamento, 411-422
alternativas para a utilizao Scheduler, 420-422
execuo em segundo plano e, 422-423
repositrio de contedo, 412-413
criao / manuteno com o PAC, 413-417
como assinaturas de trabalho, 423-426
gesto, 61
Resumo dos, 411-412
Agendador de programao com ao
seqncias, 417-420
agendas pblicas e privadas, 412
conceitos Scheduler, 412
espao de trabalho do usurio, 426-429
esquema. Veja tambm esquemas Mondrian
agrupamento e, 342
ferramentas de projeto, 444
camada de metadados impacto limitao de
alteraes, 348-349
596 ndice S
servlet container, 74
servlets, Java, 67, 74
fonte de entrada da sesso, seqncias de ao, 84
SET comando, 29
Definir Ambiente de dilogo Variveis, 312
configurado, o cliente eo painel websites,
544
Definir etapa Variveis
escolher uma varivel do escopo, 313-314
dinmica exemplo de conexo do banco de dados,
314-318
limitaes, 319
variveis definidas pelo usurio para, 312
trabalhar com, 318-319
conjuntos
em consultas MDX, 458-459
especificando membros, 492
settings.xml arquivo, 336-337
dimenses compartilhadas, 471, 476-477
arquivos compartilhados objetos, 256-257
shared.xml arquivo, 256-257
shell scripts, comeando PSW, 461
Show de dilogo repositrio, Spoon, 322-323
irmos, cube relaes familiares, 452
Simple Mail Transfer Protocol. Veja SMTP
(Simple Mail Transfer Protocol)
single sign-on, Enterprise Edition, 77
nica verso da verdade, 126
dimensionamento
vantagens do armazm de dados, 112-113
objetos de relatrio, 398
servidores escravos, e Carte, 337, 340-341
Slice and Dice exemplo de anlise, 17-18
fatias, pizza, 400-401
corte / slicers
definido, 441
olhando na parte de dados com, 454
com o OLAP Navigator, 490-491
Slowly Changing Dimensions. Veja SCDs
(Slowly Changing Dimensions)
teclas inteligentes data, 166
SMTP (Simple Mail Transfer Protocol)
autenticar pedido, 53-54
configurao bsica, 52-53
e-mails usando, 52, 70
A configurao de correio de entrada de emprego,
289-291
configurao segura, 54
CDC instantneo baseado, 135-136
tcnica de floco de neve
criao de ordens de data mart, 212
retranca, 188
esquema. (Continuao)
Pentaho Analysis Services e, 444
criao MySQL, 46
usando o editor de esquema, 463-466
esquema editor, 463-466
alterao dos modos de edio, 465-466
criao de novo esquema com, 463-464
objeto com atributos de edio, 465
Resumo dos, 463
esquema de poupana no disco, 464-465
escopo
escolha de variveis, 313-314
da camada de metadados, 350-351
pontuao plugin, Weka, 519, 525-526
SEES, Machados, 453
Secure Sockets Layer (SSL), 290-291
segurana
automaticamente se conectar ao PDI
repositrio e, 325
JDBC configurao, 50-51
Mondrian papis coadjuvantes, 72
PAC configurao, 57-58
configurao do servidor escravo, 340
Configurao de SMTP, de 54 anos
configurao de usurio, 58-60
o uso de senhas de banco de dados ofuscado
para, 314
fonte de segurana de entrada, sequncias de ao,
84-85
Selecione um dilogo repositrio, Spoon,
322-323
SELECT declarao, SQL, 151, 156-157
auto-associao, 184
medidas semi-aditivas, 150
nmero de seqncia, tempo relativo, 167
seqncia com ndice 0, o tempo relativo, 167
Instncias serializada binrio (SBI), 512
servidor
espao de trabalho do administrador, 428
Business Intelligence. Veja Pentaho BI
Servidor
Carte. Veja servidor Carte
cliente e programas de desktop, Pentaho BI
pilha, 65
definidos, de 65 anos
Banco de dados HSQLDB, 6, 45-52
escravo, 337, 340-341
Tomcat. Veja servidor Tomcat
Administration Server Console, 368
Service Manager, Windows, 43
service.bat script, 43
ndice
Resumo dos, 186-187
esquema de projeto e, 483
software, baixar e instalar, 4-5
Software como Servio (SaaS), 144
mecanismo de soluo Pentaho BI Server, 68
soluo varivel global, painel de instrumentos,
545-546
soluo de repositrio, Pentaho BI Server, 68
Ordenar propriedade de diretrio, o estadiamento de
pesquisa
valores, 300
Classificar em pesquisa do tipo degrau, 293, 299-300
Ordenar etapa Linhas, 299-300
classificao
relatrios PRD, 385-386
relatrios WAQR, 374
cdigo fonte, empregos e contra a transformao,
233
CDC fonte de dados de base, 133-134
Fonte site Forge, 4
sistemas-fonte, 286-307
dados vault reproduzindo informaes
armazenada em, 126
de arquitetura de dados do armazm, 117
extrao de dados, 226
carregar os dados. Veja valores de pesquisa,
estadiamento, dimenso promoo
mapeamentos para data warehouse de destino,
218-219
rea de teste para, 118-119
Site SourceForge, 460
diviso existente lpulo, 254
Colher
Pentaho Data Integration utilitrio, 230-231
variveis definidas pelo usurio, 312
utilizando repositrio com PDI. Veja repositrio,
PDI
Spoon,''Ol Mundo!''
transformao do edifcio, 237-244
Execuo de painel de resultados, 245-246
lanamento de candidatura, 236-237
produo, 246
Resumo dos, 237
execuo de transformao, 244-245
trabalhar com conexes de banco de dados,
253-256
Spoon.bat script, 236
spoon.sh script, 236
planilhas e anlise de dados, 196
Spring Security, 69-70
SQL (Structured Query Language)
aplicar restries de consulta, 156-158
S 597
blocos de construo para selecionar os dados,
151-153
Criar dim_date, data de carregamento
dimenses, 265-267
criao de scripts personalizados para perfis, 206
data de criao da tabela de dimenso, 265-267,
277
criao da tabela de dimenso, demografia
282
criao de consultas usando JDBC, 382-385
criao da tabela de teste, 295-296
a criao de tabelas e ndices, 212-213
anlise da camada de metadados, 353-354
tipos de juno, 153-156
tabela de carga total, 498
MDX em comparao com, 453
Pentaho Metadata gerando Layer, 70
consultando esquemas estrela e, 151-152
Editor de SQL, 255
SQLeonardo, 33-34
conexes de banco de dados SQLite, 254, 323
SQLPower, 205-206, 208
Esquilo, 32, 46
SSL (Secure Sockets Layer), 290-291
pilha. Veja Pentaho BI pilha
membros da equipe. Veja funcionrios
stage_demography tabela, 282, 283-284
stage_lookup_data transformao,
287-288, 293-294
stage_promotion tabela, 304-305
rea de teste
para a extrao de dados, 226-227
Resumo dos, 118-119
Encenao etapa existe tabela, como etapa do
manequim,
296-297
Standard perfil de Medidas, DataCleaner,
200, 202
normas
data warehousing, 113, 139
ISO, 97
esquemas estrela
hierarquias de construo, 184-186
consolidao mesas multi-gro, 188-189
criar consultas SQL usando JDBC, 383
tabelas de dimenso e tabelas de fato, 148-150
lixo, heterogneo e degenerado
dimenses, 180-181
MDX comparado com, 447-448
dimenses monstro, 179-180
multi-valorizados dimenses e ponte
tabelas, 182-183
598 ndice S
etapas, a transformao
construo de transformao em''Ol
Mundo!'', 238-244
criar, mover e remover, 239
lpulo ligao, 287
horizontalmente ou verticalmente alinhando, 243
Emprego versus entradas, 287
Resumo dos, 233-235
tipos de, 239-240
utilizando variveis. Veja variveis
stop.bat, 56
parar pentaho.bat script, 51
parar pentaho.sh script, 52
stop.sh, 56
Loja de preparo passo de mesa, 294
procedimentos armazenados, dimenses, data
262-263
soluo stovepipe, 119-120
estratificada de validao cruzada, minerao de dados,
509-510
Stream etapa de Pesquisa, 293, 297-299
String anlise de perfil, DataCleaner,
200, 202
estrutura, o relatrio do PRD, 378-380
estruturado de dados externos, anlise de dados, 196
Linguagem de Consulta Estruturada. Veja SQL
(Structured Query Language)
herana de estilo, os relatrios do PRD, 389
<style> marca, . Xcdf arquivo, 538
estilo, forando para HTML e-mail, 436
estilo, painis, 565-568
subcamadas, Pentaho camada de metadados,
359-366
sub-relatrios, 404-406
subscries, 423-430
criar, 425-426
concesso de Execuo e Programao
privilgios, 424
gesto, 61
Resumo dos, 423
para os usurios, 423-424
exibio em pblico painel de listas de
Workspace, 427-428
aprendizado supervisionado. Veja classificao
suporte, CDF, 531
chaves substitutas
integrao de dados e, 229
modelagem de estrelas esquema com, 160-162
Suspender Trabalho ao, processo Scheduler,
420
esquemas estrela (Continuao)
retranca, 188
Resumo dos, 147-148, 179
role-playing dimenses, 181-182
flocos de neve e dimenses de agrupamento,
186-187
esquemas estrela, registrando a histria, 170-179
Resumo dos, 169-170
SCD tipo 1: substituir, 171
SCD tipo 2: adicionar linha, 171-173
SCD tipo 3: adicionar a coluna, 174
Tipo de SCD 4: mini-dimenses, 174-176
SCD tipo 5: tabela de histria independente,
176-178
estratgias hbridas, 178-179: tipo SCD 6
esquemas estrela, princpios de design, 160-169
colunas de auditoria, 164
granularidade e agregao, 163-164
data e hora de modelagem, 165-168
nomeao e tipo de convenes,
162-163
desconhecido chaves de dimenso, 169
usando chaves substitutas, 160-162
esquemas estrela, consultando, 150-158
restries aplicveis, 156-157
combinando mltiplas restries, 157
tipos de juno, 153-156
ordenao dos dados, 158
Resumo dos, 150-153
restringir resultados agregados, 157
starflake, 186
START entrada de trabalho, 287, 288
start-pentaho.bat script, 5-6, 51
start-pentaho.sh script, 5-6, 52
start.sh, 56
inicializao
automtico, 40-43
programa de mesa, 76
modificar scripts quando descartando
Banco de dados HSQLDB, 51-52
Resumo dos, 5-6
startup.bat, 56
exemplos Steel Wheels
anlise, 18-19
Grfico Lista de Escolha, 15
Lista Flash Chart, 15-16
Declarao de Renda relatrio, 12-13
Resumo dos, 8-9
Top 10 relatrio clientes, 13
grade Passo Metrics, Execuo painel de resultados,
245-246
ndice
Suspender Scheduler processo de ao,
S-T 599
Scheduler, 420
horrios de suspenso, 416, 420
links simblicos (links simblicos), 25-26
Gerenciador de Pacotes Synaptic
instalao vagabundo, 42
instalar o Java no Ubuntu Linux, 27-28
instalar as ferramentas GUI MySQL no Ubuntu,
31
instalao do MySQL em Linux, 29-30
frequncia de sincronizao, 301-302
bancos de dados, 45-52
como configurar o Hibernate, 47-50
configurar a segurana JDBC, 50-51
configurao de quartzo, 47
configurar os dados da amostra, 51
Pentaho modificando os scripts de inicializao, 51-52
Resumo dos, 45-46
criao de esquemas MySQL, 46
sistema de entrada, 127
sistema de registro, MDM, 127
configurao do sistema, os pr-requisitos, 22-25
T
Tabela editor Datasource, PRD, 387
Tabela etapa existe, estadiamento tabelas de pesquisa,
294
Tabela passo de entrada, 316
Tabela etapa de sada
dinmica exemplo de conexo do banco de dados,
317
dimenso de data do carregamento de PDI, 275-276
estadiamento valores de pesquisa, 300
Loja de preparo passo de mesa, 294
tabelas
ponte. Veja mesas de bridge
corantes Power * Architect, 212
convenes para, 162
criando em SQL, 212-213
criar consultas SQL usando JDBC,
383-385
manualmente para definir relacionamentos
relatrio, 383
dimenso. Veja tabelas de dimenso
rapidamente abrir as propriedades de, 210
marcao, o carregamento de dados invlido aps, 228
Alvo de conexo de banco de dados, 253-256
metas, resultados de minerao de dados, 506
. Tar.gz arquivo, 357
Agendador de Tarefas, 421
o agendamento de tarefas, Pentaho BI Server
plataforma, 69-70
TDWI (The Data Warehousing Institute),
119
equipe, armazm de dados multi-disciplinar,
192
tecnologias
Quadro Comunitrio de Dashboard,
531-532
Pentaho BI pilha, 66-67
Teiid, 140
Temp propriedade de diretrio, junte-se linhas
(Produto cartesiano) etapa, 280
<template> marca, . Xcdf arquivo, 538
modelos
criao de seqncias de ao como PDS, 88
modificando relatrio PRD, 375-376
relatrios WAQR, 373
modelos, CDF
contedo, 533, 541-542
documento personalizado, 568-569
documento, 533, 538-541
Resumo dos, 538
terminal, 24-25
Teste guia, editor seqncia de ao, 81-82
testes
cliente e sites do painel, 547
modelos de minerao de dados, 507
conexes de banco de dados, 252
esquemas de Mondrian, 481-482
parmetros de relatrio PRD, 388
programaes, 415
modelo de validao de derivados de formao
processo, 509
texto, adicionando o horrio, 415
anlise de texto, de minerao de dados, 503
editores de texto, esquemas de Mondrian, 444
Texto etapa arquivo de entrada, Spoon, 240-243
Texto etapa arquivo de sada, Spoon, 243-245
TextComponent, Painel de instrumentos, 555-557
''Os 38 subsistemas de ETL'' (Kimball), 225
temas do painel, 566
tempo
data de modelagem e, 165-168
relativa relaes de tempo, 452
Tempo de anlise de perfil, DataCleaner,
200, 202
dimenso de tempo
gerando, 213-216
granularidade, 165
600 ndice T U-
dinmica exemplo de conexo do banco de dados,
314-318
exportadores Repository Explorer, 326
extract_promotion transformao,
303-304
incorporar seqncias de ao,
334-336
postos de trabalho composto por, 235
postos de trabalho versus, 232-233, 287
carregamento dimenso demogrfica,
281-286
carregamento dimenso da promoo, 302-306
dimenso do tempo de carregamento, PDI, 277-281
Resumo dos, 233-235
ferramentas de integrao de dados e Pentaho
componentes, 231-232
remotamente executando com Carte, 341-342
execuo da linha de comando, 330-334
executado em''Ol Mundo!'', 244-245
execuo dentro Pentaho BI Server,
334-337
correndo com Pan, 332
armazenamento em 232 repositrio,
variveis definidas pelo usurio para, 312
o uso de conexes de banco de dados, 252-253
transformaes, a carga dimenso de data
tabela
Calcular e formatar passo Datas,
269-273
Criar dim_date, 264-265
Dias etapa seqncia, 268-269
Gerar linhas com passo data inicial,
267-268
dim_date Carga, 275-276
Faltando duas datas, 267-268
Resumo dos, 264-265
Valor etapa Mapper, 273-275
exibio em rvore, navegador de repositrio. Veja
navegador repositrio
CDC-trigger based, 134-135
Dados do Censo 2000 CEP conjunto, 109
dois cliques de usurios (refrigerantes), 192-193
dimenso de tempo (Continuao)
carregamento simples, 277-281
role-playing, 182
TimeSeries funo de cobrador, 399
timestamps, gesto de inventrio, 105
<title> marca, . Xcdf arquivo, 538
ttulos, painel de instrumentos, 543, 553-554
prefixo TMP arquivos, teste de pesquisa de valores, 300
servidor Tomcat
configurando, 39-40
start-pentaho script a partir de 6 de
Tomcat5.exe, 43
barras de ferramentas
JPivot, 485
usurio Pentaho console, 7
conjunto de ferramentas de minerao de dados
algoritmos, 508-509
associao, 507-508
classificao, 506-507
clustering, 507
numricos de previso (regresso), 508
Resumo dos, 506
Weka minerao de dados, 510
Top 10 relatrio clientes, 13
TopCount consultas funo MDX, 457
formao, modelos de minerao de dados, 507, 509
transacional tabelas de fato, 149
entradas trabalho de transformao, preparo de pesquisa
valores 288-289
processo de transformao, ETL. Veja tambm ETL
(Extrao, transformao e
Carregando)
agregao de valor, 229
atividades de limpeza de dados, 228
atividades de validao de dados, 227-228
decodificao e renomeando atividades,
228-229
definido, 224
principais actividades de gesto, 229
atividades de apoio, 225
Transformao de dilogo Propriedades, 253
transformaes
adio de suporte de banco de dados''Ol,
Mundial'', 253-256
adicionar notas a lona, 264-265
edifcio em''Ol Mundo!'', 238-244
verificao de consistncia e dependncias,
247-248
criar conexes de banco de dados, 249
dados do motor de integrao e, 232
U
Ubuntu
inicializao automtica, de 42 anos
criar links simblicos em, 26-27
descarga de 22
instalar o Java em, 27-28
ndice
instalar as ferramentas GUI MySQL em, 31
instalao do MySQL em cliente e servidor,
29-30
Esquilo na instalao, 32-33
funcionando como mquina virtual, 23
usando em modo nativo, 23
Ubuntu Linux Toolbox (Negus e Caen),
24-25
hierarquias desbalanceadas, 185-186
sistemas baseados em UNIX
inicializao automtica, 40-41
programao de trabalho para, 421
manter o controle dos depsitos no PDI,
328-329
local para instalao do Servidor Pentaho,
38
gerenciamento de drivers JDBC em, 44-45
Pentaho BI Server colocao software
em, 5
Carte em execuo, 339-340
criao de conta de usurio, grupo e
diretrio, 39
partida e parada no PAC, 56
a partir Pentaho BI Server em, 5-6
a partir Pentaho Design Studio, em, 10
Spoon na partida, 236
agendador de tarefas com CRON em, 415
o uso de senhas de banco de dados obfuscated in,
334
usando Pentaho Metadata Editor,
357-358
Demografia Desconhecido etapa, 283
desconhecido chaves de dimenso, 169
Desconhecido valor, dimenso desconhecida
chaves, 169
aprendizado no supervisionado. Veja clustering
update-rc.d utilitrio, Linux automtica
inicializao, 42
atualizaes, data warehousing, 112
readaptao, PDI repositrio, 323, 329-330
EUA-PT (dimenso de data), 213-216
usurio do console. Veja Pentaho console de usurio
(Manto)
Usurio de dilogo Informao, Repositrio
Explorer, 327-328
O perfil de utilizador, PDI repositrio, 327
funes definidas pelo usurio, de design do esquema,
484
variveis definidas pelo usurio, 312-314
usernames
log in, 6-7
PAC home page, de 56 anos
U-V 601
servidores escravos, 340
conta de usurio, 327-328
usurios
configurao de conta, 38-39
autenticao e autorizao, 69
coletando requisitos a partir de entrevistas
com, 194
conectar ao repositrio, 323-324
anlise da camada de metadados, 353-354
gesto, 58-60
gerenciamento de contas de depsito, 326-328
mudanas nos requisitos, data warehousing,
137-139
subscrevendo a agenda pblica, 423-424
tipos de dados envolvidos no projeto mart,
192-193
uso de metadados para a interface amigvel para,
348
usurio Workspace, horrios / plano de fundo
execuo, 426-429
Hora UTC (Zulu), 165-166
V
valid_from carimbo do tempo, a histria
preservao, 171-172
valid_to carimbo do tempo, a preservao da histria,
171-173
validao
DataCleaner, 199, 205
ETL e dados, 227-228
''Ol Mundo transformao exemplo'',
247-248
Valor perfil de distribuio, DataCleaner,
201
Valor etapa Mapper, PDI
carregamento dimenso de data, 273-275
carregamento dimenso demogrfica, 282
valores
adicionar e usar em relatrios PRD,
386-389
transformando-se em valores relativos usando
sinal%, 398
servidores escravos com a criao de, 340
Resumo dos, 330-331
passando para sub-relatrios, 405-407
variveis, 310-319
built-in, 314
em propriedades de configurao, 311-312
servidores escravos com a criao de, 340
602 ndice V-W
obteno de dados e gerando, 97
Resumo dos, 93-94, 95-97
ordens de compra, 101-102
finalidade de business intelligence, 105-109
Web consulta ad hoc e relatrios
Servio. Veja WAQR (Web Ad Hoc
Consulta e Reporting Service)
desenvolvimento de competncias Web, painis CDF,
531
pginas web, como painis CDF, 532
Publicar Web URL, 406-407
referncias da Web, 49
analticos de produtos de banco de dados, 142-143
disponveis expresses regulares, 203
Azzurri Clay, 32
pools de conexo, 49-50
criao de fontes de dados com o PAC, 60-61
expresses cron, 415
crontab e cron implementaes, 421
CWM informaes, 352
abbada de dados, 126
DataCleaner, 198
data de mscaras de formato, 271
baixar nightly builds do Pentaho, 4
e-commerce de dados de receitas, 109
ERMaster, 32
atividades de ETL, 225
gravador de imagem para criar CD de
arquivo baixado, 22
Infobright, 23
JavaMail API, 54
Jetty, 55
JFreeChart, 397
JNDI, 320
Kickfire aparelho, 144
Modificado JavaScript passo valor, PDI, 277
relatrio modificar templates, 376
Mogwai ERDesigner, 32
movimentao de dados de exemplo para MySQL, 51
ferramentas GUI MySQL a downloads de 31
MySQL sintaxe SELECT, 158
MySQL Workbench, 32
obteno de informaes cinematogrficas, 99
regras de negcios de cdigo aberto motores, 141
PAC autenticao conectvel, 58
Pentaho Data Integration documentao,
261-262
Pentaho Data Integration ferramentas
download, 230
Pentaho Data Integration trans-
es e baixar os trabalhos, 261
variveis, (Continuao)
exemplo, as conexes de banco de dados dinmico,
314-318
cone para, 311
Resumo dos, 310-311
escolhendo da lista, 312
Definir passo variveis, 318-319
definida pelo usurio, 312-314
compartimentao vertical, 179
Visualizaes
Eclipse IDE, 79
rea de trabalho do usurio, 426-427
armazenamento de dados virtual, 139-140
mquinas virtuais, 23, 67
VirtualBox, 23-24
visibilidade, alternando Resultados da Execuo
painel, 246
visualizao, minerao de dados e, 503
W
Waikato Environment for Knowledge
Anlise. Veja Minerao de dados Weka
Esperando painel, rea de trabalho, 427
WAQR (Web consulta ad hoc e
Reporting Service)
vistas no relatrio a criao de usurios do console, 73
modificao no PRD, 373, 375
como componente do Pentaho BI Server, 72
usos prticos, 375-376
relatrios baseados na Web usando, 373-375
armazm, por exemplo WCM, 95, 96, 104-105
Marca d'gua, relatrios do PRD, 379
WCM (World Class Filmes), a construo de dados
marts, 210-218
gerao de banco de dados, 212-213
gerando dimenses esttica, 213-216
Resumo dos, 210-212
especial campos de data e clculos,
216-218
WCM (World Class Filmes), por exemplo
business case, 95-105
bsico, 94-95
panorama geral, 97-99
pedidos de clientes e promoes,
102-104
clientes, 101
DVD catlogo, 99-101
funcionrios, 101
gerenciamento de inventrio, 104-105
principais fluxos de processos, 96
ndice
Pentaho Metadata Editor, 357
frmulas de comunicao Pentaho, 396
Download liberado Pentaho software,
4
Power * Architect, 32
* A ferramenta Power Architect, 208
Quartzo e projeto Open Symphony, 412
dados em tempo real de armazenagem, 141-142
service.bat roteiro e Tomcat5.exe, 43
snowflaking, 186-187
SQLeonardo, 34
Esquilo cliente SQL, 32-33
TDWI (The Data Warehousing Institute)
relatrio, 121
Tomcat manual, 40
Ubuntu, como instalar, 23
Ubuntu, rodando como mquina virtual, 23
Ubuntu download, 22
na utilidade e Agendador de Tarefas, 422
armazenamento de dados virtual, 140
instaladores do Windows para o MySQL 5.1, 30
relatrios baseados na Web, 373-375
Weblogs, anlise de dados usando, 196
site mesa, 301, 302
site_name parmetro Dashboard,
553-554
websites, WCM exemplo, 94-95
Weka minerao de dados, 503-527
motor, 72-73, 76, 192
Experimentador, 517-518
Explorer, 516-517
ler mais, 527
formatos de entrada, 511-512
KnowledgeFlow, 518-519
configurao de conexes de banco de dados para,
512-514
a partir Weka, 514-516
resumo, 527
conjunto de ferramentas, 510
Weka minerao de dados, usando com PDI
adicionar plugins PDI, 520
criar / salvar modelo, 523
aquisio de dados e preparao,
521-522
comeando com o Weka eo PDI,
520-521
Resumo dos, 519-520
pontuao plugin, 519, 523-524
Bem-vindo pgina, Spoon, 236-237
Tela de boas vindas, Pentaho Report Designer,
377-378
W-X 603
What You See Is What You Get
(WYSIWYG), editor e PRD, 376-377
ONDE clusulas, SQL, 151-152
onde condio, 383-384
ONDE declarao, SQL, 151, 153
funes de janela, data warehouse
desempenho, 131-132
Windows Installer, 30-31
COM clusula, define MDX, 458-459
espao de trabalho
Eclipse IDE, 78-79
usurio Pentaho console, 8
usurio, para programaes / plano de fundo
execuo, 426-429
Filmes Classe Mundial. Veja WCM (World
Classe Filmes), construo de data marts de dados;
WCM (World Class Filmes), por exemplo
caso de negcio
WYSIWYG (What You See Is What You
Obter e editor), e PRD, 376-377
X
Terminal X, 24
editor xaction, 80-82
. Xaction extenso, 10-11, 68. Veja tambm
seqncias de ao
XactionComponent, 551-553
. Xcdf arquivo, 533, 537-538, 544
XMI (XML Metadata Interchange) de formato
relatrios com base nos metadados, 366
criao de consultas de metadados, 385-386
publicao de metadados para o servidor, 367
. Xmi arquivos de metadados, como armazenar, 350
XML (Extensible Markup Language)
seqncias de ao como, 68
adicionar conexes de banco de dados
DataCleaner, 201
A anlise dos dados, 196-197
programas de desktop baseados em, 76
dumping diretrio do repositrio e
contedo para, 326
exportando objetos no repositrio para PDI,
329-330
configurao do Tomcat usando, 39-40
O editor de XML, esquemas de Mondrian, 444
XML for Analysis (XML / A) da especificao,
123
XML Metadata Interchange. Veja XMI (XML
Metadata Interchange) de formato
604 ndice X-Z
ytd_ly, 217
ytd_lyvalue, 217
XML fonte, esquemas Mondrian, 480-481
XML / A (XML for Analysis), especificao
123
XRFF (eXtensible atributo-relao Arquivo
Format), 511-512
XYZSeries funo de cobrador, 400
YYSeries funo de cobrador, 399
Z
Zip. arquivo
Y
ano () relatrios de funo, PRD, 397
ytd_cy, 217
ytd_cyvalue, 217
ferramentas de PDI como, 230
Pentaho editor de metadados como, 357
O software lanado Pentaho como, 4-5
conjuntos de dados Zipcensus, 196
Zulu hora (UTC), 165-166

Seu recurso one-stop para o cdigo aberto
BI e solues de data warehousing
Pentaho uma full-featured, Open Source Business Intelligence Suite, que permite que voc crie dados
depsitos e aplicaes ricas e poderosas de BI em uma frao do custo de uma soluo proprietria.
Este livro leva voc para cima e correndo com Pentaho em poucos minutos: desde o comeo voc vai ser
relatrios de exemplo em execuo, painis e tabelas dinmicas de OLAP, enquanto voc aprende sobre Pentaho
conceitos e arquitetura. Usando um estudo de caso prtico, voc vai aprender o que a modelagem dimensional
e como aplic-lo para projetar um data warehouse. Voc vai criar e preencher seus dados
armazm com ferramentas de integrao de dados Pentaho. Finalmente, voc vai aprender como construir seu prprio BI
aplicaes em cima de seu data warehouse com Pentaho relatrios, anlise, dashboards,
e ferramentas de minerao de
dados.
Compreender conceitos importantes Pentaho,
incluindo seqncias de ao ea soluo
repositrio
Aplicar os conceitos-chave da dimenso
modelagem e construo de um data warehouse
usando esquemas estrela
Use Pentaho ferramentas de integrao de dados para
construir
aplicaes ETL
Explore avanada PDI recursos, incluindo
execuo remota e clustering
Design e relatrios e grficos utilizando implantar
Pentaho Report Designer
Aproveite OLAP e criar interativo
tabelas dinmicas com drill up / drill down utilizando
Pentaho Analysis Services
Concentrao e contedo de BI compacto
para usurios corporativos com ampla
dashboards
Descobrir e explorar padres em seus dados
Pentaho usando minerao de dados
Roland Bouman um desenvolvedor de aplicaes com foco em tecnologia open source da Web, bancos de dados e Business
Inteligncia. Ele membro ativo das comunidades MySQL e Pentaho, e voc pode acompanhar seu blog em
http://rpbouman.blogspot.com/.
Jos van Dongen um autor experiente profissional de Business Intelligence e bem conhecido e apresentador. Ele fala
regularmente em conferncias e seminrios. Voc pode encontrar mais informaes sobre a Jos http://www.tholis.com.
Visite www.wiley.com / go / pentahosolutions para exemplos de cdigo e dados da amostra.
ISBN: 978-0-470-48432-6
$ 50,00 EUA / CAN $ 60,00
Visite nosso site em www.wiley.com / compbooks
Database Management / Geral

Anda mungkin juga menyukai