Escolar Documentos
Profissional Documentos
Cultura Documentos
Pentaho
Solues
Pentaho Solutions
Pentaho Solutions
Business Intelligence e Data
Armazenamento com Pentaho
e MySQL
Roland Bouman
Jos van Dongen
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.
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 bemconhecido 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
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
xi
xii
Agradecimentos
Contedo at a Glance
Introduo
Parte I
xxxiii
Comeando com Pentaho
Captulo 1
Captulo 2
Pr-requisitos
21
Captulo 3
37
Captulo 4
O BI Pentaho Stack
63
Parte II
91
Captulo 5
Captulo 6
111
Captulo 7
147
Captulo 8
191
Parte III
Captulo 9
93
221
223
261
309
xiii
xiv
Contedo at a Glance
Parte IV
345
347
371
411
441
503
529
ndice
571
Contedo
Introduo
Parte I
Captulo 1
xxxiii
1
3
3
4
5
5
6
7
8
9
9
11
11
11
12
13
13
14
15
xv
xvi
Contedo
Captulo 2
15
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
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
16
16
17
18
19
20
20
Contedo
Captulo 3
Captulo 4
37
37
38
38
38
39
40
44
44
44
O BI Pentaho Stack
Pentaho BI Stack Perspectivas
Funcionalidade
Programas de servidor, o Web Client e Desktop
63
65
65
65
44
45
46
46
50
51
51
52
52
54
54
54
55
55
55
56
56
57
58
60
61
61
xvii
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
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
Captulo 6
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
99
101
101
101
102
104
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
105
108
109
110
xix
xx
Contedo
Captulo 7
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
Captulo 8
Parte III
Captulo 9
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
xxi
xxii
Contedo
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
xxiv
Contedo
309
310
310
311
312
314
314
318
319
319
319
320
321
322
322
323
324
325
327
328
329
330
Contedo
Parte IV
330
330
332
332
333
334
334
334
335
336
337
338
339
340
341
341
343
345
347
347
347
348
348
348
349
349
350
350
352
352
352
353
355
xxv
xxvi
Contedo
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
397
400
400
401
404
405
406
407
408
408
411
Agendamento
411
Conceitos do Scheduler
412
Pblico e Agendas Privada
412
Repositrio de contedo
412
Criao e manuteno de agendas com o
Pentaho Console de Administrao
Criar uma Nova Agenda
413
Correndo Horrios
414
Suspenso e retomada de Horrios
416
Excluindo agendas
416
Programao com o Agendador de Aco
417
Seqncias
Adicionar tarefa
Trabalho suspender, reiniciar Trabalho, Emprego e Excluir
417
Aes Outros Processo Scheduler
418
Programador Alternativas
420
Sistemas baseados em Unix: Cron
420
Windows: o de utilidade pblica e do Agendador de Tarefas
420
Contexto de execuo e assinatura
421
Como funciona a execuo em segundo plano
421
Assinatura Como funciona
422
Permitir que usurios se inscrevam
422
Concesso de execuo e cronograma Privilgios
423
A subscrio efectiva
423
Espao de Trabalho do Usurio
424
Visualizando o Contedo da rea de Trabalho
425
426
426
xxviii Contedo
427
427
428
429
430
430
430
431
432
434
434
436
438
439
Contedo
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
xxix
xxx
Contedo
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
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
xxxi
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 interRELACIONAMENTO 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:
Introduo xxxiv
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).
Introduo xxxvi
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''.''
xxxvii Introduo
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.
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.
xxxix Introduo
Introduo xl
Este captulo fornece instrues detalhadas para criar um domnio de metadados que
podem ser usados para criar relatrios de auto-atendimento.
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
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
Pentaho Solutions
Parte
I
Comeando com Pentaho
Nesta parte
Captulo
Captulo
Captulo
Captulo
CAPTULO
1
Quick Start: Exemplos Pentaho
Parte I
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).
Captulo 1
Executando o Software
Agora que voc tenha baixado e instalado o software, voc pode comear
us-lo.
Parte I
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
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
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
Parte I
Captulo 1
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
Captulo 1
11
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.
12
Parte I
Captulo 1
13
14
Parte I
Este exemplo mostra ainda uma outra caracterstica da Pentaho, nomeadamente o relatrioparam
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 Adicionaleter 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
15
16
Parte I
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 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
17
18
Parte I
Captulo 1
19
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
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 supleferramentas 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 quadade 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.
22
Parte I
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
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.
24
Parte I
A imagem uma . Vmdk arquivo, o formato de arquivo nativo VMware, o VirtualBox, mas pode
abrir esse tipo de arquivo, bem sem quaisquer problemas.
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
Pr-requisitos
25
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
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.
26
Parte I
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.
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:
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.
Captulo 2
Pr-requisitos
27
28
Parte I
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 /"
Captulo 2
Pr-requisitos
29
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
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.
30
Parte I
'Help;' ou '\ h' para ajuda. 'C \' Tipo 'para limpar o buffer.
Mysql>
Captulo 2
Pr-requisitos
31
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
Power
* Architect e outras ferramentas de design
Java
ento
eles
vo
rodar em
qualquer plataforma,
desde
que
a JVM estprojeto
instalado.
Pentaho
no
fornece
as ferramentas
necessrias
para
desenvolver
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
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
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.
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
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
Trabalhando
com aneste
linha captulo:
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
CAPTULO
3
Instalao de Servidor
e Configurao
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 padrorao 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
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 precisa de privilgios de root para criar um subdiretrio / Opt. Por exemplo,
NOTA
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
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) ...
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,
39
40
Parte I
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.
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
Captulo 3
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 "
*)
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.
41
42
Parte I
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
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
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:
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
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.
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
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
43
44
Parte I
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.
Captulo 3
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
46
Parte I
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
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.
Captulo 3
47
Quartzo
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
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 " />
Primeiro, edite hibernate-settings.xml. Neste arquivo, voc encontrar uma linha que
l-se:
sistema <arquivo-de-configurao> / hibernate / hsql.hibernate.cfg.xml </ config->
Captulo 3
49
Voc pode querer adicionar uma ligao robusta pooling. Banco de dados de ligaes 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 <
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
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.
Captulo 3
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/.
parar pentaho.bat:
incio stop_.bat
52
Parte I
start-pentaho.sh:
start_.sh & sh
parar pentaho.sh:
incio stop_.bat
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.
Captulo 3
53
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
comando usado para mudar para uma conexo segura TLS protegido.
mail.smtp.auth -Por padro, false. Se for verdade, o comando AUTH ser
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
54
Parte I
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.
do que falsa.
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
55
Tarefas administrativas
Nesta seo, descrevemos como executar tarefas administrativas comuns
utilizando o Pentaho Console Administrativo (PAC).
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/.
56
Parte I
Captulo 3
57
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
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.
java \
Cp-molhe-6.1.2.jar: molhe-util-6.1.9.jar \
org.mortbay.jetty.security.Password \
segredo
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
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.
60
Parte I
de uma lista de funes atribudas, ele fornece uma lista de usurios que foram atribudos a
selecionados papel.
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
61
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.
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
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 email.
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
Camada de Apresentao
Browser
Portal
Reportagem
Web Services
Office
Anlise
Produo
Dashboards
Minerao de Dados
Operacional
OLAP
Ad hoc
E-mail
Processo
Gesto
Mtricas
Integrao
KPIs
Definio
Alertas
Execuo
Administrao
Business Logic
Repositrio
Metadados
EII
Legado de Dados
OLAP
Outras Aplicaes
Dados Local
Captulo 4
O BI Pentaho Stack
65
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 autorido o cateterismo, banco de dados de gerenciamento de pool de conexo, ea execuo do
previsto
tarefas fazem parte da plataforma.
66
Parte I
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:
Captulo 4
O BI Pentaho Stack
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 tarefasservios 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 componentes nesta camada podem aparecer igualmente bem em outros tipos de aplicao
servidores.
No restante desta seo, descrevemos brevemente a funo de cada
componente.
67
68
Parte I
Captulo 4
O BI Pentaho Stack
69
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
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 conmail
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 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 Comseg 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
CAMADA FSICA
RESUMO NEGCIOS
CAMADA
NEGCIOS
VISTA
CATEGORY1
LIGAES
COLUMN1
COLUMN2
Coluna3
TABLE1
CATEGORY2
NEGCIOS TABLE1
COLUMN1
COLUMN2
COLUMN1
COLUMN2
Coluna3
COLUMN1
COLUMN2
Coluna3
CLIENTES DO LESTE
CUST_TBL
CLIENTES
CUST_NM
CUST_ADD
CUST_NBR
NOME DO LESTE
ENDEREO
CUSTOMER_ID
NOME DO LESTE
WEST NOME
ENDEREO
CUSTOMER_ID
CLIENTES WEST
WEST NOME
ENDEREO
CUSTOMER_ID
Herda RELACIONAMENTO
Re-organizao do
Mesmo objeto de negcio
71
72
Parte I
objeto de volta para a consulta correta para o banco no qual a camada de metadados
opera.
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.
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.
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
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
SERVER / componentes de BI
Plataforma de BI
OLAP Engine
OLAP Engine
mecanismo de relatrio
Spoon (PDI)
motor de ETL
Weka
76
Parte I
Captulo 4
O BI Pentaho Stack
77
78
Parte I
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
Pentaho
Design
Studio (Eclipse) Primer
Wiki Pentaho
em http://wiki.pentaho.com/display/ServerDoc2x/Using+
Sistema + Aes + para + Control + + Acesso a Dados .
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:
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 recmprojeto 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.
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
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
saltarconstruo 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
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.
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.
81
82
Parte I
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.
Captulo 4
O BI Pentaho Stack
83
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
Captulo 4
O BI Pentaho Stack
85
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.
86
Parte I
Captulo 4
O BI Pentaho Stack
87
88
Parte I
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
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, administradores 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.
89
Parte
II
Dimensional e Modelagem
Data Warehouse Design
Nesta parte
Captulo
Captulo
Captulo
Captulo
CAPTULO
5
Business Case Exemplo:
Filmes Classe Mundial
93
94
Parte II
Captulo 5
95
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
Cliente
224 5
Venda
Online
Carto de Crdito
Ordem
Entrega
DVD
Retorno de arrendamento
Mundo
Classe
Filmes
Transferncia
DVD
DVD
Servidor
Sede
Armazns
Ordem de Compra
Distribuidores
Transferncia
DVD
DVD
DVD
DVD
Captulo 5
97
SMALLINT (5)
[FK]: website_id
INT (8) [PK]:
customercustomer_id
customer_order_id
INT (8) [FAK]
Captulo 5
99
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
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
dvd_release
dvd_release_director
INT (8) [PK]: dvd_release_director_id
INT (8) [FAK]: director_id
INT (8) [FAK]: dvd_release_id
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
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
inforinformaes, 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
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]
cliente
regio
region_id: SMALLINT [PK]
region_name: VARCHAR (35)
country_id: SMALLINT [FAK]
ISO3166_region_code: CHAR (2) [AK]
site
website_id: SMALLINT [PK]
employee_job
lookup_valuelookup_v
alue_id: SMALLINT
[PK]
INTEGER [PK]:
region_id
regio
Figura 5-5:
Funcionrio
modelo de
dados
104
Parte II
purchase_order_line
empregado
INTEGER [PK]: employee_id
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
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
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
customer_order_line
INTEGER [PK]: customer_order_line_id
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]
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)
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
dvd_release
INTEGER [PK]: dvd_release_id
site
website_id: SMALLINT [PK]
do sistema.
INTEGER [PK]:
dvd_releasedvd_releas
e_id
INTEGER [PK]:
regionregion_id
INTEGER [PK]:
purchase_order_linepu
rchase_order_line_id
dvd_release_id: INTEGER
[FK] purchase_order_line_id:
INTEGER [FK]
warehouse_id:
status_lookup:
SMALLINT
[PK]
region_id:
INTEGER [FK]
SMALLINTdvd_barcode:
nome_cidade: VARCHAR (64)
INTEGER
address1: VARCHAR (50) address2:
INTEGER [PK]:
INTEGER [PK]:
VARCHAR (50) postal_code:
employeeemployee_id
dvd_id
VARCHAR (10) email_address:
INTEGER [PK]:
VARCHAR (64) telephone_number:
customer_ordercustom
CHAR (12)
er_order_id
armazm
dvd
Figura 5-8:
diagrama de
Inventrio
Captulo 5
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.
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
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
Dados
fundamental
Captulo 5
pleno conhecimento sobre o desempenho real de uma empresa, os dados externos mandatrio. 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.
1A
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
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.
Construindo o Data Warehouse, 4 Edio, por WH Inmon, Wiley Publishing, Inc., 2005.
111
112
Parte II
Captulo 6
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
Fcil de entender-A Data Warehouse modelada em termos de negcios
este
e reflete o modo como voc olha para sua organizao. Voc no precisa
cliente atribudo a Boston, no para Nova York.
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.
114
Parte II
Captulo 6
115
116
Parte II
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
Captulo 6
117
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
ETL
ETL
CSV
Arquivos
ERP
Encenao
rea
Fontes
Processo de ETL
Armazm Central e
Data Marts
Data Warehouse
EUL
118
Parte II
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
119
marts independentes de dados cada data mart construdo e carregado indivaliado, 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
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.
Fonte
sistemas
Encenao
rea
usurio final
acesso e
aplicaes
Fonte
sistemas
Encenao
rea
dados Dimensionalized
marts ligadas por
dimenses conformado
(Atmica / dados resumidos)
usurio final
acesso e
aplicaes
Fonte
sistemas
Encenao
rea
Relacional normalizada
warehouse (dados atmicos)
usurio final
acesso e
aplicaes
Fonte
sistemas
Encenao
rea
Relacional normalizada
armazm (atmica /
alguns dados resumidos)
usurio final
acesso e
aplicaes
Lgico / fsico
integrao dos comuns
elementos de dados
usurio final
acesso e
aplicaes
Federados Arquitetura
Armazns de dados existentes,
data marts, e
sistemas legados
Diagrama de Thilini Ariyachandra e Hugh J. Watson da Data Warehousing Institute, usada com permisso.
Dos cinco abordagens tanto independentes de data marts e federados arquiras receberam uma pontuao significativamente menor em TDWI que os outros trs, mas
Captulo 6
121
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
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 multidimensional
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.
/ Origins.htm.
Captulo 6
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.
Mondrian
ROLAP
Anlise
A extremidade
dianteira
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.
124
Parte II
-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,mesmos
e l vocdados
vai. so armazenados em tabelas diferentes (em
Os dados conflitantes,
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
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
parteedo
problema!
Dados Vault
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
sat_employee
hub_employee
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)
Captulo 6
127
128
Parte II
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.
Captulo 6
129
foram desenvolvidos ao longo dos anos para atingir esse desempenho, mas infelizInfelizmente algumas destas tcnicas esto disponveis apenas em proprietrios caros
sistemas de gerenciamento de banco de dados como Oracle, SQL Server ou DB2. O semugido 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 palavrachave. 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
debitmap
uma tabela
de fatos e de parte da
Bitmap-A
indexao
forma especial
de ndice
o
ou bitmap
chave primria,
a coluna
ser colocada
empara
ordem
decrescente
de classificao,
ndice.
ndices de
bitmap pode
so uma
opo ideal
indexao
chamado
baixo
resultando
cardinalidade
colunas (colunas com um nmero relativamente pequeno de exclusiva
nas linhas
maisgnero
recentes
foram as
fsicastambm.
Recuperando
valores,
como
ou gnero
deprimeiras
filme). A linhas
idia bsica
que, para
a disreceita
da semana
passada,
as vendas
ser uma
tarefa muito demorada.
tinct
nmero
de valores
na coluna,
uma no
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
COR
Vermelho
Verde
Amarelo
Verde
Amarelo
Amarelo
Verde
Captulo 6
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 ().
ProductID
RECEITAS
PRODUCTTOTAL
GRANDTOTAL
19
19
10
19
10
19
19
(Continuao)
132
Parte II
RECEITAS
10
ALL
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 dispoder 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
133
134
Parte II
Captulo 6
135
Snapshot_1
Snapshot_2
ID
1
2
3
4
ID
1
2
4
5
COR
Black
Verde
Vermelho
Blue
COR
Grey
Verde
Blue
Amarelo
136
Parte II
1
3
COR
Grey
NULL
Amarelo
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
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.
138
Parte II
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
SNAPSHOT
TRIGGERS
LOG
Exclui identificados?
No-intrusivo?
Independente do SGBD?
No DBA necessria?
Captulo 6
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.
140
Parte II
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
Captulo 6
141
Valor
Evento Business
Capture
Valor Lost Latncia
Informao prestada
Deciso
Latncia
Ao Tempo
Ao
Tomadas
Time
Hackathorn Richard. Bolder Technology, Inc., 2007. Todos os direitos reservados. Usado com permisso.
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
Captulo 6
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.
144
Parte II
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
Captulo 6
145
CAPTULO
7
Modelagem de Negcios
Usando esquemas Star
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. para tornar o modelo se parecer com uma estrela, no de
NOTA
Apesar
de usarmos
cinco pontos
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
Time
Promoo
Produto
Vendas
Fatos
Cliente
Store
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.
Captulo 7
149
dim_product
Integer (4) [PK]: product_key
fact_orders
Integer (4) [PFK]: product_key
Integer (4) [PFK]: date_key
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
A
granularidade
da tabela de fatos
determinado
combinao
dosms.
tem
uma menor granularidade
do que
uma tabela pela
de fatos
no nvel do
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.
150
Parte II
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.
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.
Captulo 7
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
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
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
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)
Para concluir esta consulta tudo que voc precisa para adicionar so os DA e JOIN
partes:
SELECT
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
versus
fct_orders FROM como f
JOIN dim_date SOBRE AS d f.date_key d.date_key =
Captulo 7
153
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
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|b|
+-------+-------+
| A | Red |
| NULL | B |
| C | Blue |
| D | NULL |
+-------+-------+
Captulo 7
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|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 |
+-------+--------+
155
156
Parte II
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.
Captulo 7
157
SELECT
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
DA
INNER JOIN
GROUP BY
TENDO
158
Parte II
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
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
159
dim_product
Integer (4) [PK]: product_key
fct_purchases
Integer (10) [PFK]: date_key
Integer (4) [PFK]: product_key
Integer (10) [PFK]: supplier_key
dim_date
Integer (4) [PK]: date_key
fct_orders
Integer (4) [PFK]: product_key
Integer (4) [PFK]: date_key
Integer (10) [PFK]: customer_key
Integer (10) [PFK]: supplier_key
dim_customer
Integer (10) [PK]: customer_key
dim_supplier
Integer (10) [PK]: supplier_key
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
Armazm
Promoo
Cliente DVD Distribuidor
Empregado
Website
Data
As ordens de compra X
Inventrio
X
Os pedidos dos clientes X
Retorna
X
Time
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
160
Parte II
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
Captulo 7
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
tambm:
H sempre
apenastm
umaoutras
chavevantagens
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
Toda a dimenso colunas de chave so nomeados depois que a tabela a que pertencem,
como 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
163
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
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
165
166
Parte II
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.
SELECT
DA
Captulo 7
167
168
Parte II
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:
SELECT
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
date_value
date_julian
current_week
last_week
week_seq
20090620
20-jun-09
2455002
-2
20090621
21-jun-09
2455003
-2
20090622
22-jun-09
2455004
-1
20090623
23 jun-09
2455005
-1
20090624
24-jun-09
2455006
-1
20090625
25 jun-09
2455007
-1
20090626
26 jun-09
2455008
-1
20090627
27-jun-09
2455009
-1
20090628
28-jun-09
2455010
-1
20090629
29-jun-09
2455011
20090630
30-jun-09
2455012
20090701
1-Jul-09
2455013
20090702
2-Jul-09
2455014
20090703
3-Jul-09
2455015
20090704
4-Jul-09
2455016
20090705
5-Jul-09
2455017
20090706
6-Jul-09
2455018
Captulo 7
169
source_id
nome
endereo
telefone
Desconhecido
Desconhecido
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.
170
Parte II
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
171
Situao existente
_Casos Cliente
1
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Toronto
Nova situao
_Casos Cliente
1
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Vancouver
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.
172
Parte II
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
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
Nova situao
Customer_key
1
2
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
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
173
174
Parte II
Situao existente
_Casos Cliente
1
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Toronto
Cliente _City_Old
Toronto
Nova situao
_Casos Cliente
1
Cliente _id
22321
Cliente _Nome
Humphries
Cliente _City
Vancouver
Cliente _City_Old
Toronto
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.
Captulo 7
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 minichave 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 minichave. 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
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
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)
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)
177
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)
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)
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
postal_code
first_name_ last_name_
_changed city_name_c
changed
changed
hanged
address_ch
change_typ
anged
e_id
telephone_n
umber_chan
email_addre ged
ss_changed
falsa
falsa
falsa
falsa
falsa
falsa
verdade
falsa
falsa
falsa
falsa
falsa
verdade
verdade
falsa
falsa
falsa
falsa
falsa
verdade
falsa
falsa
falsa
falsa
falsa
verdade
falsa
falsa
178
Parte II
product_naproduct_gro
up
product_key me
product_id
valid_from
valid_to
101
ABC
AcidRip
Software
Open Source
1-1-1900
12-3-2002
falsa
102
ABC
AcidRip
Freeware
Open Source
13-3-2002
31-12-2008
falsa
103
ABC
AcidRip
Open Source
Open Source
1-1-2009
31-12-9999
verdade
Captulo 7
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.
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
Captulo 7
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 dimenses 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
SELECT
DA
INNER JOIN
INNER JOIN
INNER JOIN
ONDE
E
E
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.
Captulo 7
183
dvd_id
dvd_name
dvd_actors
101
AA332
Lagarto Wars
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)
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)
184
Parte II
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,
produto 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
fct_rental
dim_employee
diagrama
utilizando uma employee_bridge
tabela de hierarquia de ponte.
Integer (10) quando
[PK]: rental_date_key
Integer (10) [PK]: employee_key
Integer (10) [PFK]: employee_key
rental_value: DECIMAL (8)
Integer (10) [FK]: manager_key
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
185
employee_key
nest_level
is_top
is_bottom
Emp1
EMP2
Emp4
Emp3
Emp5
MANAGER_ID
boss_id
186
Parte II
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.
Captulo 7
187
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
dim_employee_starflake
Integer (10) [PK]: employee_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)
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
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 partiular 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)
Captulo 7
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]
dim_dvd_genre
dvd_genre_key: INTEGER [PK]
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)
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
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
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 afastemmentos vai executar relatrios, quantas vezes, e em que dados? Quanto tcnica
191
192
Parte II
Captulo 8
193
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
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:
Captulo 8
195
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
sistemas
de Home-grown-se
a sua organizao
desenvolveu
a sua prpria
supsuites principais
ERP, voc enfrentar
alguns desafios
na obteno
de dados
corretos.
sistemas de portabilidade, voc pode ter uma vantagem sobre as solues prconstrudas
porque o conhecimento sobre as estruturas de dados subjacente j est discapaz. 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
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
197
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 texdados contratuais.
198
Parte II
Numrica soma, mdia, mediana e desvio-padro Vrios calOs 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 avaequacionar 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.
Captulo 8
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).
200
Parte II
Captulo 8
201
distribuio de valor Calcula o topo ea base valores de N em um column 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.
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
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" />
Captulo 8
203
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} $
204
Parte II
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
205
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
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 identificados, 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
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
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.
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.
ANLISE
TIPO
DISTNCIA SCD
DESCRIO
Customer_key
INT
Substituto
chave de dimenso
Customer_id
INT
Fonte original
chave do sistema
Customer_name
VARCHAR
63
Customer_city
VARCHAR
64
Nome da cidade
Customer_phone
_number
CHAR
12
Telefone
nmero
Customer_register
_date_key
INT
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
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
exiso 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 novos
problema.
Encaminhar
engenharia
Gerar
objetos de banco de dados a partir de um
modelo.
A engenharia reversa Gerar um modelo de um banco de dados existente.
Captulo 8
209
210
Parte II
DICA Para abrir rapidamente as propriedades de uma tabela ou coluna, clique na tabela ou
nome da coluna e pressione Enter.
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.
dim_demographydemography_k
ey: INTEGER (10) [PK]dim_order_statusorder_status
age_group: VARCHAR_key:
(10) INTEGER (10) [PK]
gnero: CHAR (10) order_status_id: INTEGER
income_group: VARCHAR
(20)
(10) order_status_desc:
VARCHAR (15)
Figura 8-6:
Pedidos de
data mart
212
Parte II
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.
Captulo 8
213
214
Parte II
TIPO
INT
DISTNCIA DESCRIO
4
dimenso Substituto
chave
EXEMPLO
20091123
date_value
DATA
Data-valor do dia
date_julian
INT
date_short
CHAR
12
date_medium
CHAR
16
date_long
CHAR
24
date_full
CHAR
32
day_in_week
TINYINT
day_in_month
TINYINT
Nmero de dias em
Ms
23
day_in_year
SMALLINT
327
is_first_day_in
_month
TINYINT
is_first_day_in
_week
TINYINT
is_last_day_in
_month
TINYINT
is_last_day_in
_week
TINYINT
day_name
CHAR
12
Segunda-feira
day_abbreviation
CHAR
Seg.
week_in_year
TINYINT
Nmero da semana
47
week_in_month
TINYINT
Semana nmero no ms
week_in_year
_ISO
TINYINT
Nmero da semana
47
is_weekend
TINYINT
1 para o Sat-Sun
is_weekday
TINYINT
1 para Mon-Fri
23-11-2009
23 de novembro de 2009
Captulo 8
CAMPO
month_number
TIPO
TINYINT
DISTNCIA DESCRIO
2
Nmero de meses em
ano
EXEMPLO
11
MONTH_NAME
CHAR
12
Nome completo do ms
Novembro
Ms
_abbreviation
CHAR
Nome abreviado do ms
Novembro
ano2
CHAR
09
ano4
CHAR
2009
year2_iso
CHAR
09
year4_iso
CHAR
2009
quarter_number
TINYINT
Nmero de quarto
quarter_name
CHAR
Q4
year_quarter
CHAR
2009-Q4
YEAR_MONTH
CHAR
valor de Ano-ms
2009-11
year_week
CHAR
2009-47
year_week_iso
CHAR
2009-47
current_week_cy
TINYINT
current_month_cy
TINYINT
last_week_cy
TINYINT
last_month_cy
TINYINT
current_week_ly
TINYINT
current_month_ly
TINYINT
last_week_ly
TINYINT
last_month_ly
TINYINT
ytd_cy_day
TINYINT
ytd_cy_week
TINYINT
ytd_cy_month
TINYINT
ytd_ly_day
TINYINT
ytd_ly_week
TINYINT
ytd_ly_month
TINYINT
0
Continuou
215
216
Parte II
CAMPO
current_year
TIPO
TINYINT
DISTNCIA DESCRIO
1
*
EXEMPLO
1
last_year
TINYINT
week_sequence
INT
month_sequence
INT
0 para o ms atual, -1
0
para a anterior, uma para a prxima,
e assim por diante
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.
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
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.
40
40
DVD
25
25
Blu-ray
33
Blu-ray
21
21
DVD
56
Blu-ray
45
45
DVD
35
35
YTD_CY
51
YTD_LY
45
NDICE
113
40
60
67
218
Parte II
customer_
ORDER_LINE
customer_
fim
fact_orders
Data Warehouse
armazm
banco de dados WCM
dim_
armazm
regio
Data Warehouse
pas
banco de dados Master
Captulo 8
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
Sistema-In nosso caso, a maioria dos campos so originrios do banco de dados WCM,
identificar
mas os seguintes elementos:
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.aplicvel, digite o nome do esquema do banco de dados ou
Quando
esquema
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.
220
Parte II
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:
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
224
Parte III
Captulo 9
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
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.
Data Staging
Extrao de dados pode ter um impacto considervel sobre o desempenho e discapacidade do sistema operacional de fonte. Muitas vezes, existe uma obrigao estrita de
Captulo 9
227
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
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
229
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.
230
Parte III
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
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
Alvo
Fonte
Efeito fsico
Extrato
Transformar
Carga
Executar
Transformao
Mecanismo
Chamada
Trabalho
Transformao
Interno
Representao
INCIO
Transformao
Trabalho Extrato
Transformar
Carga
Ferramentas e Utilitrios
Lanamento:
Cozinha, Carte
Lanamento:
Pan
Desenvolver: Colher
Carregar, Salvar
Repositrio
(RDBMS)
Armazenado
Representao
. KJB
Arquivos
. KTR
231
232
Parte III
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 instrues 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
transformaes 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
233
Transformaes
Uma transformao Pentaho representa uma tarefa ETL em sentido estrito. Transformaes 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
Etapa
(Meta)
Gravar Stream
MetadataData
Registro 1
Tipo de registro
Campo 1
Campo ...
Campo N
propriedades
propriedades
propriedades
Relao N
Hop
Etapa
(Fonte)
Captulo 9
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
236
Parte III
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 pronece 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
237
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
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 94.
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
Captulo 9
239
240
Parte III
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
dede
configurao
depende
tipo vezes
de etapa.
5. Na
pgina
transformao,
cliquedoduas
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
Em seguida,
clique
na pgina
guia
Contedo
e definaselecionados.
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
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.
242
Parte III
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.
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
243
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.
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 automatcamente 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
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 aucamente 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
245
Ao executar a transformao, um dilogo com o ttulo executar um transforinformao 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.
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
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
247
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 transformao 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
Observao
Especificaes de arquivo no so verificadas.
Captulo 9
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.
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.
250
Parte III
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.
Captulo 9
251
252
Parte III
Captulo 9
253
Usando transaes
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 TransformaConfiguraes o.
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
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.
Captulo 9
255
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.
256
Parte III
DICA O SQL Explorer tambm pode ser chamado de dentro da configurao passo
dilogos de todos os passos dados relacionados.
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 confio 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
257
258
Parte III
Figura 9-18 mostra um exemplo de 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
259
CAPTULO
10
Pentaho Data Projetando
Solues de Integrao
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
Captulo 10
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;
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
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: 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
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.
265
266
Parte III
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
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.
Captulo 10
267
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
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).
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
269
270
Parte III
Captulo 10
271
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.
272
Parte III
Clculos # 24 e # 25 juntos compem o clculo do quarNmero 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 automaticamente 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.
Captulo 10
273
274
Parte III
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
Captulo 10
275
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
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.
Captulo 10
277
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.
278
Parte III
Captulo 10
279
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.
280
Parte III
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.
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
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.
281
282
Parte III
Captulo 10
283
NULL,
NULL,
NULL,
NULL,
284
Parte III
Captulo 10
285
286
Parte III
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.
Captulo 10
287
288
Parte III
stage_lookup_data-Este transformao l os dados do temarmazenamento 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
menu
contexto. Para modificar se o salto ser seguido
A entrada
do do
incio
do de
trabalho
em caso de sucesso ou fracasso, escolha a opo apropriada na avaliao
submenu.
Issoincio
tambm
mostrado
naentrada
Figura 10-13.
A
entrada do
do trabalho
uma
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.
Captulo 10
289
290
Parte III
Configurao da etapa e-mail no particularmente difcil, embora o nmemero 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 adio 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.
Captulo 10
291
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
Transformaes
O objetivo da extract_lookup_type e extract_lookup_value transformaes 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.
Captulo 10
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.
294
Parte III
Captulo 10
295
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.
296
Parte III
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)
)
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 perao, 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 porformado 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
297
Figura 10-22: Configurando o SQL Execute passo para aceitar um parmetro e executar uma vez
para cada linha
298
Parte III
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
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.
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
Voc pode configurar o local onde os arquivos temporrios so escritos por especificaro 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 perdesempenho (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 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 considees 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
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 subem 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.
302
Parte III
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
Captulo 10
303
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.
304
Parte III
Captulo 10
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.
306
Parte III
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
Captulo 10
Figura 10-28: Configurando nomes de arquivo com data e hora e passar o arquivo para o resultado
307
308
Parte III
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
309
310
Parte III
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 parameterized 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
311
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).
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.
312
Parte III
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.
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
transformaes 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
Spoon.
Em Spoon,dentro
voc pode
criar e atribuir variveis globais no Envi Setvariveis 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.
Variveis
pode
inscrita
sercomo <NAME> = Valor par na
kettle.properties arquivo. Este arquivo reside no . Chaleira Diretrio
sob o diretrio home do usurio.
Captulo 11
313
Figura 11-4: Escolhendo uma varivel do escopo de uma etapa Definir Variveis
314
Parte III
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.
Captulo 11
315
316
Parte III
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.
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.
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
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
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.
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.
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
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.
Captulo 11
319
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
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 coninterligao, 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.
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
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.
322
Parte III
Por exemplo, se voc deseja executar tarefas e transformaes no ambiente PDImento 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.
Captulo 11
323
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
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.
Captulo 11
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.
325
326
Parte III
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.
Captulo 11
327
repositrio para a introspeco. Para beneficiar do repositrio ao deseno 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.
328
Parte III
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.
Captulo 11
329
330
Parte III
objetos em um arquivo que ele permite importar rapidamente a soluo para um recmcriado vazio repositrio. Isto torna mais fcil superar qualquer problema que voc
pode encontrar a atualizao do repositrio.
Captulo 11
331
VALOR
Y
OBJETIVO
No se conectar a um repositrio.
til para ignorar o login automtico.
Rep
Nome do repositrio
Usurio
username Repositrio
Pass
Listrep
Dir
Caminho
Listdir
Arquivo
Nome do arquivo
Nvel
Logfile
Verso
332
Parte III
VALOR
Nome do trabalho
OBJETIVO
Especifique o nome de um trabalho armazenado no repositrio.
listjobs
#
# 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
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.
Captulo 11
333
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 automaticamente 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
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.
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
335
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 transformao. 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
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
337
338
Parte III
Cada computador tem um potencial de transformao que , em ltima anlise limitada pelo
hardware: 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
Captulo 11
339
Um cluster no tem tal ponto nico de falha. Com capaci Carte de clusteringdade, 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 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
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
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
341
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
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.
Captulo 11
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 translando 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
Metadados
Resumo
aspecto.
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
''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.
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.
Captulo 12
A camada de metadados
349
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 adequadalaos, como etiquetas e descries de objetos de dados, como tabelas e colunas
350
Parte IV
pode ser associado com textos dependente de localidade. Isso permite que os relatrios
devem ser
adaptados para cada idioma.
Captulo 12
A camada de metadados
Pentaho
Relatrio
Designer
MQL
Executar
Reportagem Motores
Terceiros
Jasper (Jaspersoft)
BIRT (Actuate)
Pentaho
Pentaho
Reportagem do motor MQL
Mecanismo
SQL
Metadados
XMI
Arquivos
Banco de Dados
(DWH, ODS)
Importao, Exportao
Publicar
Metadados Entrada
Ferramentas de Desenvolvimento de
Metadados
Pentaho editor de metadados
Carregar, Salvar
Metadados
Repositrio
RDBMS baseado
Repositrio
Baseado em arquivo
Repositrio
351
352
Parte IV
Captulo 12
A camada de metadados
353
354
Parte IV
Relatrio de vendas
Critrios
dim_customer
country_name
dim_date
ano4
MONTH_NAME
dim_website
website_title
fact_order
COUNT (DISTINCT customer_order_id)
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
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
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
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.
358
Parte IV
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, desemmance 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.
A Camada Fsica
Os objetos que residem na camada fsica de um domnio de metadados so desindicadores 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
360
Parte IV
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.
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
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
Captulo 12
A camada de metadados
363
364
Parte IV
Relacionamentos
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
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
366
Parte IV
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.
Captulo 12
A camada de metadados
367
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
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
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 elementochave
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
Designer de Relatrios
Relatrio
Especificao
Middleware
Relatrio do motor
As fontes de dados
Sada do Relatrio
Captulo 13
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.
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.
374
Parte IV
Captulo 13
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.
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
Captulo 13
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 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
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
379
380
Parte IV
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.
text-campo
campo de nmero
data-campo
Mensagem de-campo
recursos rtulo
recursos campo
recursos mensagem
teor de-campo
imagem
elipse
retngulo
Insere um retngulo.
Captulo 13
381
ELEMENTO
na linha horizontal
DESCRIO
Insere uma linha horizontal.
linha vertical
levantamento escala
grfico
Traduz o contedo do campo em um cdigo de barras que pode ser lido por
leitores digitais.
bar sparkline
linha sparkline
torta-sparkline
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.
banda
externaelemento-campo
Pode ser usado para carga externa sub-relatrios a partir de uma URL ou
caminho.
sub-relatrio
Criando Conjuntos de
dados
382
Parte IV
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.
Captulo 13
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
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 forcomea a colocar aspas em torno do valor [s], se a seleo est em
uma coluna de texto. Os valores numricos no exigem aspas).
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
385
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 novono
campo.
Condies
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
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.
Captulo 13
387
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
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)
Captulo 13
389
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
Captulo 13
391
392
Parte IV
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.
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
393
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
ATENO As funes so referenciados pelo nome para se certificar de que todas as funes
tem um nome nico dentro do relatrio.
Captulo 13
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.
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
Captulo 13
397
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
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
,
orderquantity AS
orderrevenue AS
= D.ordernumber
= P.productcode
Captulo 13
399
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
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
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
402
Parte IV
UPDATE empregado
SETpassport_photo LOAD FILE = ('/ media / foto / photo_roland.jpg)
WHEREemployee_id = 22612
Captulo 13
403
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).
404
Parte IV
Captulo 13
405
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.
406
Parte IV
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:
SELECT
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
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.
Captulo 13
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).
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
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 subrelatrio
Como publicar os relatrios para o servidor Pentaho e certifique-se que o
ltima verso exibida para um usurio
Captulo 13
409
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
NOTA Para mais informaes sobre quartzo eo projeto Open Symphony, visite o
Abrir site no Symphony www.opensymphony.com/quartz/.
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.
Repositrio de contedo
Captulo 14
413
414
Parte IV
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 schedule 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
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.
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
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.
Captulo 14
417
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 Administrao Console dispara um pedido de confirmao, e tambm mostra que h
ainda um assinante.
418
Parte IV
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
419
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
schedulbarao que podem ser acessveis aos usurios finais dentro da autorizao
quadro do Servidor Pentaho.
420
Parte IV
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 equivalentesdade 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
421
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.
422
Parte IV
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.
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
423
424
Parte IV
Captulo 14
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-12: O prompt regular para os parmetros automaticamente combinadas com avisos
para a subscrio
426
Parte IV
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.
Captulo 14
427
428
Parte IV
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.
Captulo 14
429
430
Parte IV
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.
Captulo 14
431
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
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.
Captulo 14
433
434
Parte IV
{} 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)
Captulo 14
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.
436
Parte IV
Figura 14-23: Forar estilo interno e estilos inline para HTML e-mail
Captulo 14
437
438
Parte IV
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.
Captulo 14
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
441
442
Parte IV
usando o front-end JPivot. Finalmente, discutiremos como voc pode usar o Pentaho
designer de agregao para melhorar o desempenho do OLAP.
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
Navegador da Web
Referncia Cruzada
Pentaho
Agregada
Designer
XML
Editor
Pentaho esquema
Workbench
<Schema>
<Cube>
..
</ Cube>
</ Schema>
Cliente
Publicar
1. HTTP
Pedido
Editar
Otimizar,
Publicar
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
Design,
Criar,
Povoar
443
444
Parte IV
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
Mondrian 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 Mondrian 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 homemvamente, por isso que o incluiu na Figura 15-1, ao lado de Pentaho
Schema Workbench. Voc pode publicar esquemas escritos manualmente usando PenBancada Taho, ou movendo o arquivo XML que contm o esquema para o
Diretrio da soluo Pentaho desejada no sistema de arquivos.
Captulo 15
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.
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).
446
Parte IV
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
Captulo 15
447
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.
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
AZ
CA
IL
NY
2009
2008
2007
2006
WA
Scifi Suspense Drama Esporte
Dimenso Cliente
Produto
Dimenso
Aluguer de fatos
(MDX: Medidas)
Data
Dimenso
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
449
AZ
CA
IL
NY
2009
2008
2007
2006
WA
Scifi Suspense Drama Esporte
Scifi
06
07
08
Esportes
09
06
07
08
Drama
09
06
07
08
Thriller
09
06
07
08
09
AZ
CA
IL
NY
WA
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
Nveis
Deputados
Todas as Datas
Todos
Ano
Trimestre
2008
Q4
Q1
Ms
Dia
2009
Q2
27
Q3
Julho
Junho
28
2010
Q4
Agosto
29
Q1
Setembro
30
31
Outubro
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.
Captulo 15
451
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 Trimestrehierarquia 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 diSion 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 exSion [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.
452
Parte IV
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.
Captulo 15
453
454
Parte IV
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:
Captulo 15
455
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>
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
HIERARQUIA
NVEL
Meses
Ano
Trimestre
Ms
Data
Semanas
Ano
Semana
Data
Cliente
Pas
Regio
Cidade
CEP
Nome
DVD
Gnero
Ttulo
Medidas
Receita
Quantidade
RentalDuration
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:
Captulo 15
DA
ONDE
457
BDESC
)ON ROWS
[Wcm_orders]
[Ano]. [2008]
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
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
459
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[Ordem Local Data]. [Todas as datas]. [Histrico]
AS
"SUM ([Ano] [2000]:. [Ano] [2005]). '
MEMBROS[Ordem Local Data]. [Todas as datas]. [Recentes]
AS
"SUM ([Ano] [2006]:. [Ano] [2010]). '
SELECT 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
460
Parte IV
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.
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
461
462
Parte IV
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
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.
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.
464
Parte IV
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.
Captulo 15
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.
Figura 15-10: Usando o modo de edio para ler a representao XML do esquema
466
Parte IV
NOTA Cuidado que a viso XML-que apenas uma viso. Voc no pode editar o XML
diretamente de dentro do PSW.
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
467
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.
468
Parte IV
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
gerar instrues SQL. Pode ser til para especificar isso no caso de voc
deseja depurar as instrues SQL geradas por Mondrian.
Captulo 15
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).
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
conectado ao banco de dados, o editor de atributos oferece uma caixa de listagem dropdown
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 paramatria. formatadores de clula personalizado deve implementar a interface Java
mondrian.olap.CellFormatter.
legenda -Especifica o nome de exibio que usado para apresentar esta medida
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
Captulo 15
471
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.
472
Parte IV
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,
Captulo 15
473
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
hierarquia.
O projeto para essa hierarquia mostrado na Figura 15-15.
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
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
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, espetificar 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. Specifying 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
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.
LEVELTYPE
COLUNA
CAPTIONCOLUMN
UNIQUEMEMBERS
Ano
TimeYears
ano4
Trimestre
TimeQuarters
trimestre
_number
trimestre
_name
deficientes
Ms
TimeMonths
Ms
_number
Ms
_abbreviation
deficientes
Dia
TimeDays
day_in
_month
habilitado
deficientes
476
Parte IV
CAPTIONCOLUMN
UNIQUEMEMBERS
Ano
TimeDays
ano4
habilitado
Semana
TimeWeeks
week_in_year
deficientes
Dia
TimeDays
day_in_week
day_abbreviation deficientes
Captulo 15
477
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
dimenso.
fonte -Aqui voc deve especificar a data, que o nome que identifica
Figura 15-17: O uso da dimenso associando o cubo com a dimenso de data como
Data da Ordem local
478
Parte IV
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
Nvel Ttulo:
nome: Gnero
coluna:dvd_release_genre
uniqueMembers:falsa
Uso da Dimenso:
nome: DVD
foreignKey:dvd_release_key
fonte: DVD
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
479
480
Parte IV
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
481
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.
482
Parte IV
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
483
fonte de dados no servidor. Isso permite que a interface de usurio para exibir uma lista de
esquemas.
484
Parte IV
Captulo 15
485
486
Parte IV
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.
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
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.
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
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
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.
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
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.
Captulo 15
491
dimenso. Isso faz com que a dimenso do DVD para passar para o slicer, como mostrado na
Figura 15-31.
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.
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
Figura 15-35: Anos de 2007 e 2008, os clientes do Canad e dos Estados Unidos, em fatias
por Ao / Aventura
Captulo 15
493
Diversos recursos
Nesta seo, discutimos brevemente uma srie de recursos teis que JPivot
no abrangidos em outros lugares.
494
Parte IV
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
Captulo 15
495
496
Parte IV
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
dim_date
(3,660)
dim_dvd
(149,710)
dim_customer
(145,371)
date_key
dvd_key
cust_key
Receita
20090723
12345
1123
20090830
3456
4432
20090915
11234
5543
20090924
44332
4456
3.50
20091012
33434
6654
20090821
43554
3222
3.50
20090514
55667
4455
/ Ms
Gnero /
Pas
Ano
Pas
2009
Q3
NovembroSciFi
EUA
10
40
120
38
497
Soma
(Receitas)
/ Ano
Gnero /
Pas
Ano
Gnero Pas
2009
SciFi
EUA
10
38
Soma
(Receitas)
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?
498
Parte IV
Captulo 15
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
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.
500
Parte IV
mondrian.rolap.aggregates.Use = 1
mondrian.rolap.aggregates.Read = 1
Captulo 15
501
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
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
503
504
Parte IV
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.
Captulo 16
505
metodologia conhecida atualmente como CRISP-DM, abreviao de Cruz Indstria StanProcesso 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
506
Parte IV
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.
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
507
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
Captulo 16
509
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 treinaro 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 contamanho 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).
510
Parte IV
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 indepenforma 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
O Explorer ponto de partida para se familiarizar com Weka e dados
simples,
Explorer
permite
uma maneira
fcil e As
exploratrio
o nome) so
do as
que minerao.
uma interface
de linha
de comando
para Weka)
principais(da
ferramentas
trabalhar
com
conjuntos
de
dados.
Tambm
oferece
uma
ampla
gama
de
seguintes.:
funcionalidades.
Experimentador intencionados para a criao e execuo de experimentos maior
onde vrios conjuntos de dados e vrios algoritmos podem ser adicionados simultaneasimultaneamente. 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
511
@ 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
512
Parte IV
DICA Um programa em Java normalmente pode ser iniciado atravs da abertura de uma tela do
terminal
ou as teclas Alt + F2 e digitando o comando
pressionando
jar name> <jarfile - java
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
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 =
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
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?
Captulo 16
515
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
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.
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
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 bemsucedida,
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
517
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
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
519
520
Parte IV
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.
Captulo 16
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.
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.
522
Parte IV
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.
Captulo 16
523
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
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
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.
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
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.
Captulo 16
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
Weka
frum http://forums.pentaho.org/forumdisplay
. Php? F = 81
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:
527
CAPTULO
17
Construindo Painis
530
Parte IV
Captulo 17
Construindo Painis
531
532
Parte IV
Cascading Style Sheets (CSS), CSS emergiu como a lnindicador 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 informaes 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.
Captulo 17
Construindo Painis
Navegador da Web
Logo
4. inicializao Dashboard
1. Pedido de painel
8. Resposta
5. pedido de Componentes
. Xcdf
6. Ao pedido seqncia
3. Documento
montagem
. Xaction
Logo
modelo-dashboard.html
dashboard.html
7. seqncia de aes
execuo
CDF plugin
Plataforma
Pentaho BI Server
533
534
Parte IV
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 .
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
Classname>
<title> CDF Display Handler </ title>
</ Gerador de contedo>
</ Plugin>
ATENO Voc deve garantir que voc faa um back-up do plugin.xml arquivo
antes de fazer quaisquer alteraes.
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
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, deso, 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:
538
Parte IV
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
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.
Captulo 17
Construindo Painis
539
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 ({
...
...
});
id="myComp"/> <div
<script>
myCompDef = {var
ouvintes: [
"Paraml"
]
, ...
<html>
<head>
.../> <link
.../> <script
</ Head>
<body>
<img id="logo"/>
{Content}
</ Body>
</ Html>
Dashboard modelo de documento
Dashboards.init (
[MyCompDef]
);
</ Script>
<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>
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-
540
Parte IV
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
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 temchapa 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:
542
Parte IV
}
/*
* 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:
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:
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
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.
Captulo 17
Construindo Painis
545
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.
/ / Parmetros Dashboard
Dashboards.globalcontext = false;
/ / Definies de parmetros clique aqui
/ / Definies de componentes
componentes var = [];
/ Painel de inicializao /
Dashboards.init (componentes);
</ Script>
546
Parte IV
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).
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
Captulo 17
Construindo Painis
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
549
550
Parte IV
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
Captulo 17
Construindo Painis
551
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
Captulo 17
Construindo Painis
553
554
Parte IV
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:
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 distinguir 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 problemas. Ao desativar globalcontext, Voc forado a usar explicitamente as chamadas para
Dashboards.setParameter () e Dashboards.getParameterValue (), Que
torna claro que a inteno .
Captulo 17
Construindo Painis
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.
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
555
556
Parte IV
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-
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 respecnome 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.
558
Parte IV
(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.
NOT NULL,
NOT NULL,
Captulo 17
Construindo Painis
559
560
Parte IV
,
,
,
,
DA
LEFT JOIN
ON
E
E
E
ONDE
GROUP BY
,
,
ORDER BY
LIMITE
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
Captulo 17
Construindo Painis
561
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>
562
Parte IV
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
Captulo 17
Construindo Painis
563
voc realmente no fazer nada com a mtrica atual, o nmero de cusentes. 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
564
Parte IV
componentes [components.length] = {
nome: "customerLocations", digite: "mapa",
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");
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
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
Captulo 17
Construindo Painis
569
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
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
571
572
ndice
ndice
B-C
573
mesas de bridge
manuteno de, 229
back office
vrios valores e dimenses, 182-183
de arquitetura de dados do armazm, 117
hierarquias de comando usando, 184-185
suporte de banco de dados para, 95-96
navegadores,
entrando, 6-7
programas de back-end, Pentaho BI pilha, 66
Construindo o Data Warehouse (Inmon),
fundo diretrio, o contedo do repositrio,
113-114
413
variveis internas, 314
execuo em segundo plano, 422-423, 426-429
vagabundo, Gerenciar Linux init scripts, de 42 anos
backup, PDI repositrio, 329
Burst relatrio de vendas, 54
ferramentas de relatrio em faixas, 376
ruptura
grficos de barras, 400-402
definido, 430
Base conceito, camada de metadados, 357
aplicao em Pentaho, 430
ETL por lotes, 118
outras implementaes, 438
BC (business case), 192. Veja tambm Mundo
Resumo dos, 430
Classe Filmes
Aluguer exemplo lembrete e-mails,
BDW (Business Warehouse), 111, 115
430-438
Entre ... e operadores, 151-152
arquitetura de barramento, 179-189
BI (business intelligence). Veja tambm Pentaho
analistas de negcios, 193-195
BI Server
anlise de negcios, 503
anlises e, 503
business case (BC), 192. Veja tambm WCM
componentes, 70-73
(World Class Filmes), por exemplo
painis e, 529
caso de negcio
dados de projeto mart e. Veja data marts,
Negcios
Colunas, na camada lgica,
design
362-363
minerao de dados e, 505-506
Business Warehouse (BDW), 111, 115
definio de, 107
business intelligence. Veja BI (business
exemplo de caso de negcio. Veja WCM (World
inteligncia)
Classe Filmes), exemplo de negcio
Business
Intelligence Server. Veja Pentaho
caso
BI Server
importncia dos dados, 108-109
camada de negcio, modelo de metadados, 71
plataforma Pentaho BI pilha, 64
modelagem de negcios, usando esquemas estrela. Veja
finalidade de, 105-109
dados em tempo real de armazenagem e, 140-142 esquemas estrela
Modelos de Negcios, a camada lgica, 362
relatrios e documentos. Veja relatrios
usando o gerenciamento de dados mestre, 127-128 mecanismos de regras de negcios, 141
Tabelas de negcios, 362-365
exemplos BI Developer
Vistas Business, 71, 362
boto nico-parameter.prpt, 13-14
boto nico-parameter.prpt amostra,
CDF seo, 530
13-14
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
C
BOTTOMCOUNT funo, consultas MDX,
457
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
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
ndice
575
576
ndice
C-D
cubos
mostrando no cliente e sites
acrescentando dimenses Mondrian
painel de instrumentos, 557-562
esquemas, 470
clientes, como por exemplo WCM
adicionando medidas para tabelas de fatos do cubo, cumprimento de ordem do cliente, 94
469-470
desenvolvimento de modelo de dados, 101-102
analisando. Veja JPivot
principais fluxos de processos, 96
associar-se com dimenses compartilhadas,
despachos e promoes, 102-105
476-477
sites de segmentao, 94-95
criar, 466-467
Clientes por grfico de pizza Website
tabelas de fatos para, 468
seqncias de ao, 548-551
relaes familiares, 451-452
Resumo dos, 548
FILTRO funo, 455-456
XactionComponent, 551-553
Consultas MDX que operam em, 445-446
Customize tela Seleo, WAQR, 374
Resumo dos, 446-447
CWM (Common Warehouse metamodelo),
70, 352
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
D
dimenso, 276-277
current_record coluna, 172-173
DaaS (DataWarehouse como um servio), 144
current_week coluna, 167-168, 216-218
Dashboard Builder, Enterprise Edition, 77
cliente e sites do painel,
modelo de painel de contedo, CDF, 533,
542-569
541-542
acrescentando TextComponent, 555-557
painel modelo do documento. Veja
cdigo clich para tablier
modelos de documentos (templates exterior),
componentes, 546-547
CDF
cdigo clich para tablier
dashboards
parmetros, 546
CDF. Veja CDF (Painel da Comunidade
cdigo clich para soluo de dashboard
Quadro)
eo caminho, 545-546
componentes, 543
modelo de documento personalizado para, 568-569 clientes e sites. Veja cliente
Clientes por grfico de pizza, Website
e painel sites
548-553
exemplos de, 19-20
alterar dinamicamente o ttulo do painel,
Resumo dos, 529
553-554
resumo, 569-570
Arquivo. Html para, 545
Dashboards objeto, 534
MapComponent formato de dados, 557-562
Dashboards.js, 536
opes marcador de dados, 562-565
dados, opes de marcador, 562-565
reagir aos cliques do mouse no grfico de pizza,
aquisio de dados e preparao, Weka
554-555
minerao de dados, 521-522
constituio, 544
anlise de dados
mostrando a localizao do cliente, 557
dados de perfil para, 197-198
o estilo do painel, 565-568
armazenamento de dados e, 195-197
teste, 547
usando DataCleaner. Veja DataCleaner
Arquivo. Xcdf para, 544
alteraes de dados, a dimenso da promoo,
dimenses do cliente, esquemas de Mondrian,
301-302, 304-306
478-480
limpeza de dados, fonte de dados, 228
localizaes de clientes. Veja tambm MapComponentgovernana de dados, 125
opes marcador para mostrar, 563-565
integrao de dados
atividades. Veja ETL (Extrao,
Transformao e carregamento)
definido, 223
ndice
577
578
ndice
ndice
579
580
ndice
D-E
ndice
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
formatao (Continuao)
Get System Info etapa, 333
PRD relatrio com imagens, 404
comeando, 20/03
relatrios PRD, 389-390
baixar e instalar o software,
visualizaes de relatrio, 376
4-5
relatrios WAQR, 374, 375
login, 6-7
Frmula passo, carregando dimenses, data
Mantle (Pentaho usurio do console), 7-8
276-277
Resumo dos, 3
frmulas, Pentaho Reporting, 395-396
a partir do servidor Pentaho VI, 5-6
link Frum, PRD tela de boas vindas, 377
trabalhar com exemplos. Veja exemplos,
engenharia para a frente, 208
fornecido com Pentaho
Freakonomics, 503
global de data mart modelo de dados, 206-208
Free Java boto Download, 28
funes globais, relatrios PRD, 393-395
Free limite de memria, o estadiamento de pesquisa fonte de entrada global, 84
valores, 299
variveis globais, definidas pelo usurio, 312
DA declarao, SQL, 151-152
Gmail, configurao 70
front office, de arquitetura de dados do armazm,
GNOME Terminal, 24
117-118
pai-av escopo de trabalho, 313
front-end
granularidade
Pentaho BI pilha, 66
consolidao mesas multi-gro, 188-189
console como usurio, 73
dados de projeto do armazm, 163-164
FULL OUTER JOIN, 155
tabelas de dimenso e tabelas de fato, 149
varredura de toda a tabela, 129
global de data mart modelo de dados, 208
funcionalidade, Pentaho BI pilha, 65
modelagem do esquema estrela, 163-164
funes de relatrio, 393-395
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
G
criao de agenda usando, 414-415
GA lanamento (geralmente disponvel), 4
MQL Query Builder limitaes, 385
Sexo e Gnero etapa seqncia,
para os relatrios do PRD, 378, 391-393
dimenso demogrfica, 282
para sistemas baseados em UNIX, 39
Sexo etapa rtulo, a demografia
para relatrios WAQR, 373-374, 375
dimenso, 282
convidado usurio, PDI repositrio, 324, 326-327
Categoria Geral, Database Connection
ferramentas grficas, MySQL, 31
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
H
dimenso, 267-268
TENDO declarao, SQL, 151, 157
gerao de idade e os grupos de renda,
dimenso demogrfica, 284-285
cabealhos, os relatrios do PRD, 378
genricas conexes de banco de dados, 257-258, 316
''Ol Mundo!''. Veja Spoon,''Ol
tabela de dimenso, geografia
Mundial!''
MapComponent, 558-559
tabelas auxiliares, 184
dimenses heterogneas, 181
banco de dados Hibernate
configurar a segurana JDBC, 50-51
ndice
H-I
583
definida, 45
I
Resumo dos, 47-50
varivel, cone 311
hierarquias
identificao, para contas de usurio, 327-328
acrescentando, 471
Identificaes personalizadas, definindo, 387
nveis de adio, 474-476
imagens
atributos, 472-473
adicionando aos relatrios PRD, 401-404
agregao do cubo e, 448-449
criar CDs de boot do download
cubo de relaes familiares, 451-452
arquivos, 22
nveis, e membros, 449-451
software de virtualizao e, 23-24
mltipla, 451
importao
navegar pelos dados utilizando, 184-186
valores de parmetros para sub-relatrios, 405-406
histria
arquivos XMI, 366
captura em data warehouse. Veja
EM operador, 151
modelo dimensional, capturando
Renda e Renda etapa seqncia,
histria
dimenso demogrfica, 282
criar tabela separada para, 176-178
Renda etapa Group, demografia
vantagens do armazm de dados, 113
dimenso, 282, 284-285
armazm de dados de reteno, 128
Declarao de Renda de relatrio de exemplo, 12
armazenar comandos, 25
dados incompletos, armazns de dados, 124
HOLAP (OLAP Hbrido), 122
dados incorretos, armazns de dados, 124
diretrio home, CDF, 534-535
independente de data marts, 119-120
Home Theater site Info, 100-101
ndices
sistemas de home-grown, para anlise de dados,
bases de dados analticas no necessitando, 142
195
criando em SQL, 212-213
lpulo
melhorar desempenho do data warehouse,
conectando as transformaes e empregos,
129
233-234, 287
Infobright, 23, 143, 502
criao de''''Ol Mundo, 242-243
herana
etapas de filtro de linha no estadiamento valores de Pentaho camada de metadados e, 356-357
pesquisa,
PRD relatrios usando estilo, 389-390
295
script de inicializao (rc arquivo), 40-42
diviso existente, 254
fase de inicializao, transformaes
compartimentao horizontal, 180
266-267
Seqncia passo horas, dimenso de tempo, 277 estilos inline, HTML e-mail, 436
HSQLDB servidor de banco de dados
Inmon, Bill, 113-116
gerenciar bancos de dados do sistema por padro, INNER JOIN, 153-154
45
formatos de entrada, minerao de dados Weka, 511migrao de dados do sistema de,
512
46-52
fluxos de entrada, conjuntos de transformao PDI,
start-pentaho explorao script, 6
285-286
HTML (HyperText Markup Language)
insumos, seqncia de ao, 83-85
construo de painis CDF, 531
instalao, Pentaho BI Server
Especificao DOM, 532
Diretrio, 38
formatao no corpo da mensagem, 292
Resumo dos, 4
para o layout, 566-567
criao de conta de usurio, 38-39
Arquivo. Html, 545
subdiretrios, 38
hub and spoke arquitetura, 119-121
diviso inteira, dimenses data, 272
hubs, para modelos de dados abbada, 125
Endereo de interface parmetro, Carte, 340
Hybrid OLAP (HOLAP), 122
Organizao Internacional para
estratgias hbridas, 178-179
Padronizao. Veja ISO (International
Organization for Standardization)
584
ndice
I-J
ndice
J L-
585
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
K
modo Live, a correr o Ubuntu em, 23
K.E.T.T.L.E. Veja Pentaho Data Integration
etapa Load dim_demography, 283
empregos Chaleira, 73, 210
etapa Load dim_time, 277
Kettle.exe script, 236
Comando LOAD FILE, MySQL, 402
kettle.properties arquivo, 312-313, 324-325
etapa Load stage_demography, 283
gerenciamento de chaves, e integrao de dados, 229
load_dim_promotion trabalho, 302-303,
Kickfire aparelho, 144
306-307
Kimball, Ralph
processo de carregamento, ETL. Veja tambm ETL
volta e em definies de escritrio, 117-118
(Extrao, transformao e
arquitetura de barramento de dados do armazm, 158 Carregando)
dados Inmon vs modelo de armazm,
definido, 224
114-116
manuteno de tabela de dimenso, 229
estratgias de SCD, 170
carregamento de tabelas de verdade, 230
snowflaking e, 186-187
atividades de apoio de, 225
ferramenta da cozinha
hora local, UTC versus tempo (Zulu), 165-166
genrico parmetros de linha de comando,
apoio local, data dimenses, 277
330-332
localizao, na camada de metadados, 349, 357
PDI como ferramenta, 230-231
locais, o cliente. Veja cliente
executar trabalhos / transformaes de
locais; MapComponent
linha de comando, 330-334
CDC baseado em log, 136-137
utilizando repositrio com PDI. Veja repositrio,
login, comeando, 6-7
PDI
consistncia lgica, 247
Klose, Ingo, 530
camada lgica, o modelo de metadados
KnowledgeFlow, Weka, 510, 518-519
Modelos de Negcios, 362
valores conhecidos, os resultados de minerao de Tabelas de negcios e colunas de negcios,
dados, 506
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
L
valores de pesquisa estadiamento, 286-300
Verifique se existe Staging Tabela etapa, 294
ltimo dia do ms, as dimenses da data, 273
Criar Staging etapa de mesa, 295-296
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
586
ndice
L-M
ndice
587
588
ndice
M-O
ndice
O P-
589
590
ndice
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
591
aspecto front-end/back-end, 66
Pentaho Designer Aggregate. Veja PAD
funcionalidade, de 65 anos
(Designer de agregao Pentaho)
Resumo dos, 63-65
Pentaho Analysis Server. Veja Mondrian
Pentaho Analysis Services. Veja OLAP
Pentaho BI Server. Veja Pentaho BI Server
EE e Pentaho Community Edition,
(Online Analytical Processing), PAS
76-77
(Pentaho Analysis Services)
cliente-servidor, desktop e programas, 65
Pentaho BI Server, 66-74
vista de anlise, 484-485
tecnologia subjacente, 66-67
Weka minerao de dados. Veja Minerao de dados
construo de painis, 529
Weka
exemplos de grficos, 14-16
Pentaho comunidade, mantendo a CDF
configurar e-mail, 70
solues de exemplo includo, 8-9
painis, 529-530
incorporao de empregos em seqncias de ao, Pentaho Corporation, CDF e, 530
Pentaho Data Integration. Veja PDI
336
(Pentaho Data Integration)
incorporao de transformaes em ao
seqncias, 334-336
Pentaho Data Mining (PDM). Veja Weka
minerao de dados
instalao, 4, 38-43
Pentaho Design Studio. Veja PDS (Pentaho
login, 6-7
Design Studio)
Resumo dos, 67
e PDI repositrio, 336-337
Pentaho diretrio home, 38
Pentaho Editor de Metadados. Veja PME
usurio Pentaho console, 7-8
(Pentaho Metadata Editor)
plataforma, 67-70
Pentaho camada de metadados, 347-369
camada de apresentao, 73-74
vantagens de, 348-350
publicao cubos, 482-483
conceitos, 356
metadados para publicao, 367
criao de consultas de metadados, 385-386
publicao de relatrios para, 406-407
criao de conjuntos de dados PRD, 381-382
exemplos de relatrios, 11-14
banco de dados e abstrao da consulta,
resposta aos pedidos de painel, 533
352-355
partida, 5-6
definido, 347-348
A tecnologia subjacente servlet Java, 74
camada de entrega, 365-366
Pentaho BI Server, os componentes
implementao e utilizao de metadados, 366-368
dados do motor de minerao, 72-73
herana, 356-357
ETL motor, 72
localizao dos imveis, 357
OLAP motor, 72
camada lgica, 362-365
PML (Pentaho camada de metadados), 70-72
domnios de metadados, 359
mecanismos de informao, 72
Web consulta ad hoc e relatrios
repositrio de metadados, 358-359
Resumo dos, 70-72
Servio (WAQR), 72
Pentaho editor de metadados, 357-358
Pentaho BI Server, configurando
camada fsica, 359-362
tarefas administrativas. Veja administrativa
tarefas
PRD usando como fonte de dados, 373
propriedades, 355-356
e-mail, 52-54
alcance e uso de, 350-352
instalao, 38-43
gerenciamento de drivers de banco de dados, 44-45Pentaho Metadata Layer (PML), 70-72
Resumo dos, 37-38
Pentaho Report Designer. Veja PRD
(Pentaho Report Designer)
senha editora, 54-55
bases de dados do sistema. Veja dados do sistema Esquema Pentaho Workbench. Veja PSW
(Esquema Pentaho Workbench)
Pentaho BI pilha, 63-90
criao de seqncias de ao com PDS. Veja
usurio Pentaho console (manto)
comeando, 7-8
PDS (Pentaho Design Studio)
programas de desktop, 74-76
camada de apresentao, 73
metadados refrescante, com, 367-368
592
ndice
ndice
P-Q
593
594
ndice
Q-R
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
R-S
595
596
ndice
esquema. (Continuao)
servlet container, 74
Pentaho Analysis Services e, 444
servlets, Java, 67, 74
criao MySQL, 46
fonte de entrada da sesso, seqncias de ao, 84
usando o editor de esquema, 463-466
SET comando, 29
esquema editor, 463-466
Definir Ambiente de dilogo Variveis, 312
alterao dos modos de edio, 465-466
configurado, o cliente eo painel websites,
criao de novo esquema com, 463-464
544
objeto com atributos de edio, 465
Definir etapa Variveis
Resumo dos, 463
escolher uma varivel do escopo, 313-314
esquema de poupana no disco, 464-465
dinmica exemplo de conexo do banco de dados,
escopo
314-318
escolha de variveis, 313-314
limitaes, 319
da camada de metadados, 350-351
variveis definidas pelo usurio para, 312
pontuao plugin, Weka, 519, 525-526
trabalhar com, 318-319
SEES, Machados, 453
conjuntos
Secure Sockets Layer (SSL), 290-291
em consultas MDX, 458-459
segurana
especificando membros, 492
automaticamente se conectar ao PDI
settings.xml arquivo, 336-337
repositrio e, 325
dimenses compartilhadas, 471, 476-477
JDBC configurao, 50-51
arquivos compartilhados objetos, 256-257
Mondrian papis coadjuvantes, 72
shared.xml arquivo, 256-257
PAC configurao, 57-58
shell scripts, comeando PSW, 461
configurao do servidor escravo, 340
Show de dilogo repositrio, Spoon, 322-323
Configurao de SMTP, de 54 anos
irmos, cube relaes familiares, 452
configurao de usurio, 58-60
Simple Mail Transfer Protocol. Veja SMTP
o uso de senhas de banco de dados ofuscado
(Simple Mail Transfer Protocol)
para, 314
single sign-on, Enterprise Edition, 77
fonte de segurana de entrada, sequncias de ao, nica verso da verdade, 126
84-85
dimensionamento
Selecione um dilogo repositrio, Spoon,
vantagens do armazm de dados, 112-113
322-323
objetos de relatrio, 398
SELECT declarao, SQL, 151, 156-157
servidores escravos, e Carte, 337, 340-341
auto-associao, 184
Slice and Dice exemplo de anlise, 17-18
medidas semi-aditivas, 150
fatias, pizza, 400-401
nmero de seqncia, tempo relativo, 167
corte / slicers
seqncia com ndice 0, o tempo relativo, 167
definido, 441
Instncias serializada binrio (SBI), 512
olhando na parte de dados com, 454
servidor
com o OLAP Navigator, 490-491
espao de trabalho do administrador, 428
Slowly Changing Dimensions. Veja SCDs
Business Intelligence. Veja Pentaho BI
(Slowly Changing Dimensions)
Servidor
teclas inteligentes data, 166
Carte. Veja servidor Carte
SMTP (Simple Mail Transfer Protocol)
cliente e programas de desktop, Pentaho BI
autenticar pedido, 53-54
pilha, 65
configurao bsica, 52-53
definidos, de 65 anos
e-mails usando, 52, 70
Banco de dados HSQLDB, 6, 45-52
A configurao de correio de entrada de emprego,
escravo, 337, 340-341
289-291
Tomcat. Veja servidor Tomcat
configurao segura, 54
Administration Server Console, 368
CDC instantneo baseado, 135-136
Service Manager, Windows, 43
tcnica de floco de neve
service.bat script, 43
criao de ordens de data mart, 212
retranca, 188
ndice
597
598
ndice
etapas, a transformao
esquemas estrela (Continuao)
retranca, 188
construo de transformao em''Ol
Resumo dos, 147-148, 179
Mundo!'', 238-244
role-playing dimenses, 181-182
criar, mover e remover, 239
lpulo ligao, 287
flocos de neve e dimenses de agrupamento,
186-187
horizontalmente ou verticalmente alinhando, 243
esquemas estrela, registrando a histria, 170-179
Emprego versus entradas, 287
Resumo dos, 169-170
Resumo dos, 233-235
tipos de, 239-240
SCD tipo 1: substituir, 171
SCD tipo 2: adicionar linha, 171-173
utilizando variveis. Veja variveis
SCD tipo 3: adicionar a coluna, 174
stop.bat, 56
Tipo de SCD 4: mini-dimenses, 174-176
parar pentaho.bat script, 51
parar pentaho.sh script, 52
SCD tipo 5: tabela de histria independente,
stop.sh, 56
176-178
estratgias hbridas, 178-179: tipo SCD 6
Loja de preparo passo de mesa, 294
esquemas estrela, princpios de design, 160-169
procedimentos armazenados, dimenses, data
262-263
colunas de auditoria, 164
soluo stovepipe, 119-120
granularidade e agregao, 163-164
data e hora de modelagem, 165-168
estratificada de validao cruzada, minerao de dados,
nomeao e tipo de convenes,
509-510
Stream etapa de Pesquisa, 293, 297-299
162-163
String anlise de perfil, DataCleaner,
desconhecido chaves de dimenso, 169
usando chaves substitutas, 160-162
200, 202
esquemas estrela, consultando, 150-158
estrutura, o relatrio do PRD, 378-380
estruturado de dados externos, anlise de dados, 196
restries aplicveis, 156-157
Linguagem de Consulta Estruturada. Veja SQL
combinando mltiplas restries, 157
tipos de juno, 153-156
(Structured Query Language)
ordenao dos dados, 158
herana de estilo, os relatrios do PRD, 389
<style> marca, . Xcdf arquivo, 538
Resumo dos, 150-153
estilo, forando para HTML e-mail, 436
restringir resultados agregados, 157
starflake, 186
estilo, painis, 565-568
START entrada de trabalho, 287, 288
subcamadas, Pentaho camada de metadados,
359-366
start-pentaho.bat script, 5-6, 51
sub-relatrios, 404-406
start-pentaho.sh script, 5-6, 52
start.sh, 56
subscries, 423-430
inicializao
criar, 425-426
automtico, 40-43
concesso de Execuo e Programao
privilgios, 424
programa de mesa, 76
modificar scripts quando descartando
gesto, 61
Banco de dados HSQLDB, 51-52
Resumo dos, 423
Resumo dos, 5-6
para os usurios, 423-424
exibio em pblico painel de listas de
startup.bat, 56
exemplos Steel Wheels
Workspace, 427-428
anlise, 18-19
aprendizado supervisionado. Veja classificao
Grfico Lista de Escolha, 15
suporte, CDF, 531
chaves substitutas
Lista Flash Chart, 15-16
integrao de dados e, 229
Declarao de Renda relatrio, 12-13
Resumo dos, 8-9
modelagem de estrelas esquema com, 160-162
Top 10 relatrio clientes, 13
Suspender Trabalho ao, processo Scheduler,
grade Passo Metrics, Execuo painel de resultados, 420
245-246
ndice
Suspender Scheduler processo de ao,
S-T
599
600
ndice
T U-
U
Ubuntu
inicializao automtica, de 42 anos
criar links simblicos em, 26-27
descarga de 22
instalar o Java em, 27-28
ndice
U-V
601
602
ndice
V-W
ndice
W-X
603
604
ndice
X-Z
ytd_ly, 217
ytd_lyvalue, 217
Z
Zip. arquivo
Y
ano () relatrios de funo, PRD, 397
ytd_cy, 217
ytd_cyvalue, 217
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.
ISBN: 978-0-470-48432-6