Escolar Documentos
Profissional Documentos
Cultura Documentos
Integration – Kettle
Avançado II
Indíce
1Hacks..................................................................................................................................................2
Hack 770 - Call DB procedure, Check if a column exists...............................................................3
Hack 772 - Check if file is locked, File Exists, Database Join, JavaScript, Set Variables,
Transformation Executor.................................................................................................................7
Hack 773 - Database Join.............................................................................................................14
2Sobre o Documento..........................................................................................................................17
Créditos..........................................................................................................................................17
Referências Bibliográficas.............................................................................................................17
Histórico do Documento................................................................................................................17
1 Hacks
Cria uma pasta no diretório /opt/pentaho/hacks/ para armazenamento dos hacks que
realizaremos no PDI.
DELIMITER $$
SELECT
fk_cliente
, fk_produto
, fk_regiao
, fk_tempo
, fk_vendedor
, qtd_venda
, vlr_venda
FROM fato_pedidos
15. Insira um novo step Stream lookup, selecionando um hop de entrada a partir do
step Call DB Procedure e um hop de entrada a partir do step Microsoft Excel Input
16. Na propriedade Lookup step selecione o step anterior Microsoft Excel Input
17. Na área The key(s) to look up the value (s), na coluna Field selecione o campo
fk_cliente e na coluna LookUpField selecione o campo fk_cliente
18. Na área Specify the fields to retrieve, na coluna Field, selecione o campo Idade e
defina o Type como String
19. Clique em OK
20. Adicione um step Check if a column exists, selecione a conexão
datawarehouse_olap, na propriedade Table name selecione a tabela dim_cliente
21. Na propriedade Columnname field selecione o campo Idade.
22. Com esse step vamos verificar se a coluna Idade existe na tabela dim_cliente.
23. Adicione um step Insert Update, selecione a conexão datawarehouse_olap,
24. Configure as seguintes propriedades:
25. No botao sql, execute a query
ALTER TABLE dim_cliente ADD Idade DOUBLE;
26. Clique em Ok.
Hack 772 - Check if file is locked, File Exists, Database Join, JavaScript,
Set Variables, Transformation Executor
8. Caso nossa condição seja FALSE nosso fluxo sera interrompido utilizando o step
Dummy, caso TRUE será realizada a chamada de outra tranformação através do
step Set Variables e Transformation Executor
9. Adicione o step Set variables e configure conforme figura abaixo:
10. Adicione o step Transformation Executor, vamos informar o arquivo .ktr da nova
transforção e informar que vamos utilizar a variável criada anteriormente:
11. Abra a nova Transformação criada anteriormente
12. Selecione step Microsoft Excel Input, configure conformer imagem, na aba fiels
selecione a opção Obter Campos
13. Adicione o step database lookup, configure conforme imagem abaixo:
14. Adicione o Step Modified Java Script Value, com esse step iremos realizar a
validação do CPF do nosso cliente;
15. Adicione o seguinte script:
//Script here
function valida_cpf(CPF)
{
CPF = CPF.replace('.', '');
CPF = CPF.replace('.', '');
CPF = CPF.replace('-', '');
if (DIGITO[9] < 2) {
DIGITO[9] = 0;
}
else{
DIGITO[9] = 11 - DIGITO[9];
}
if (valida_cpf(CPF))
varstatus = "Verdadeiro";
else
varstatus = "Falso";
3. Adicione o step Table Input e insira a seguinte query de consulta na base ERP_OLTP
SELECT
codigo_produto,
codigo_fornecedores,
quantidade_estoque,
descricao,
PRECO,
linha_produto
FROM produtos
2 Sobre o Documento.
Parte deste documento e baseado em artigos técnicos, tutoriais, posts de blogs e outras
referências que encontramos livremente na Internet, os mesmo são compilados de uma forma mais
organizada e complementados com nossa contribuições. Todas as marcas citadas neste documentos
são de responsabilidade de seus devidos criadores. A Ambiente Livre é uma marca própria e não
tem nenhum vinculo com nenhuma das marcas citadas.
Créditos
Todos os direitos reservados – Ambiente Livre Tecnologia.
Referências Bibliográficas
RSS - http://pt.wikipedia.org/wiki/RSS
Histórico do Documento.
Versão 2.0 – Versão 4.3 do Pentaho Data Integration – Fevereiro de 2012 – Marcio Junior Vieira
<marcio em ambientelivre.com.br>