Novo Livro: Pentaho Data Integration Cookbook – Segunda Edição

Um cookbook é um livro de receitas (recipes), e normalmente se vale de o leitor possuir algum conhecimento sobre o assunto (culinária via de regta) para ensinar algumas receitas. Por exemplo, para aprender a fazer um bolo você precisa saber quebrar ovos, que é algo que ninguém te ensina – um dia você viu alguém quebrar ovos para cozinhar e pronto, hora da receita (Recipe Time!)

Eu ganhei da Packet mais um livro sobre Pentaho para resenhar, o Pentaho Data Integration Cookbook (Segunda Edição), lançado há algumas semanas. Ele não ensina como instalar o PDI, ou rodá-lo, nem explica o que é uma transformação, um job e como criar um novo de cada. Isso é tarefa para outros livros, como o também excelente Pentaho 3.2 Data Integration: Beginner’s Guide.

O PDI Cookbook te ensina receitas, pequenos how-to, para mais de 100 objetivos. Ele tem receitas para ensinar a conectar uma transformação a um banco de dados, e como parametrizá-la (e porquê), uma para ler dados de tabelas em bancos relacionais, outra para construir e usar sub-transformações e ainda outras sobre como gravar os dados em clusters Hadoop, manusear o fluxo e os metadados de transformações, executar análises de dados, gerar relatórios, executar dentro do BI Server e assim por diante. Ele não esgota as possibilidades, mas chega bem perto de. Você pode consultar a página do livro na Packt, aba Table of Contents, para ver a lista completa.

Estou com o livro há duas semanas e ainda não li o livro todo, mas olhei uma boa parte delas e fiz questão de ler com cuidado algumas receitas sobre coisas que eu conheço (como conexões parametrizadas, leitura de dados, lookups e fluxos) e algumas sobre coisas que eu nem imagino como sejam (como ler e gravar dados do Salesforce.com e do Hadoop.)

Cada receita demanda algum conhecimento prévio do leitor, mas tem informação o bastante para não deixar dúvidas para os iniciantes, sem aborrecer o leitor mais experiente. As figuras são usadas com parcimônia, notadamente quando os autores sentem necessidade delas para explicar melhor algum detalhe ou comunicar uma configuração com mais precisão. Se por um lado isso torna o livro menor (e ele já um bom catatau, com mais de 400 páginas), por outro força o leitor a prestar mais atenção e requer mais familiariedade com os termos envolvidos. Ele não dá tudo mastigadinho, mas tem boa didática e os textos são bem escritos (mais sobre isso daqui a um parágrafo.)

Muitas (se não todas) receitas trazem dicas sobre eventuais opções ou formas alternativas de se obter o mesmo resultado, ou ainda alguma variação sobre o tema. Em várias das receitas que eu li há comparações entre métodos (como o lookoup de dados, que explicita a diferença entre Database Lookup e Database Join, por exemplo) e em geral há comentários sobre impactos de performance quando são significativos. A location 400 traz um dos meus favoritos, pela engenhosidade: usar bancos de dados em memória (como HSQDB ou H2) para montar lookups transitórios de alta performance.

Claro que, como a maioria dos livros da Packt é escrita em inglês por não-nativos, a linguagem do livro é por vezes menos fluída que o inglês de um norte-americano ou britânico (ou mesmo um aussie.) Acho que essa é única coisa do livro que é mais… desconfortável, mas decididamente não afeta o resultado final.

Enfim, o livro é um verdadeiro baú do tesouro, com grande valor para desenvolvedores novatos ou experientes. Se você já sabe mexer com o PDI, e quer se aprofundar nele, esse livro é uma boa escolha. Se você quer aprender a mexer no PDI, procure antes algo como o PDI Begginer’s Guide, e depois não deixe de investir no PDI Cookbook (mas a segunda edição; a primeira ainda tinha espaço para melhorar, tanto que foi o que fizeram.)

É isso, grande leitura! ;-)

Data Vault Hierarchycal Hubs

This post is going to be in english because its primary intent is to serve the image Martijn Evers, DW and DV practioner, BI blogger and generous pal on LinkedIn DV forum.

On that forum I have placed a post about a classic hierarchy situation:

(…)People asked me if my department is a business key.

It wotks this way: When I have signed up with my employer I’ve got a number – “matrícula”. I am also refered to by my CPF (kind of social security code, only it is for taxes.) Then I was asigned to a team, inside a department, which in turn is part of a superintendence that seats under a director (like development director, services director, financial director etc. – pretty much like a VP.)

So, my employee record in the source operational system (HR) reads more or less like:

Name (Fabio) – Matricula (00.000) – CPF (00.000) – Director (Development) – Superintendence (Tech Support) – Department (Tools) – Team (Databases)

Business keys are “components used by business users, business processes, or operacional code to access, identify, and associate information within a business operational life-cycle” (Super Charge book.)

All columns I have described fit the business key definition, so are all of them business keys (the question sounded better on my head.) I mean, where it a dimensional model, the natural key would be my CPF, and all else would be part of a hierarchy (departament hierarchy), down to my Name (CPF would not be shown on reports). Matricula would not be shown although it should be captured.

So is this it? Do employees, departments, divisions, vice-presidencies and so on give hub tables? Each one of them? Or should I have a, say, CPF hub, whith name, matricula, department etc. as a satellite? People wants to group reports by superintendence, departments, teams etc.

Martijn has answered it detailed and has post a SQL script that gave the relationship on the hubs and links involved in lieu of the image. I have entered the script into a PostgreSQL and with the help of Power*Architect (I am on Ubuntu) I have rendered this figure:

Self-referencing hub.
Self-referencing hub.

So this is the answer to my question. Now, onto to studying it! Thanks again, Martijn!

Agile DW com DV a Caminho

Comprei!! :-)

Pedido do "Modeling the Agile Data Warehouse with Data Vault".
Pedido do “Modeling the Agile Data Warehouse with Data Vault”.

Chega em 30/01/14, se tudo der certo. Quse R$200,00, entre livro e frete. Eu enrolei o quanto deu para ver se saía a versão eletrônica. Não deu, eu preciso dele para ontem e comprei. Só mesmo isso para me fazer comprar livro de papel…

Atualização: está a caminho!! :-D

AgileDVOnItsWay

28/1/14 Atualização: EU AMO A AMAZON!!! Chegou no dia 17/1!!!!!!!!!!!!

Estou lendo e gostando. O conteúdo é bom e já aprendi algumas coisas novas. Estou na parte dos links e tá difícil! (O pior é o inglês dele: dá para entender tranquilamente mas é construído de uma forma estranha, e a leitura não flui…)