Postagens

Mostrando postagens com o rótulo ETL

[Kettle] - Ajuste de problema com horário de verão

Imagem
Me deparei hoje com um problema de divergência de horário nos campos de data no Kettle , para datas que se encaixam no período do horário de verão, principalmente no dia 20/10/2013.  Olha só abaixo... Tentei resolver forçando com a função trunc() do Oracle o campo de data, porém mesmo assim, o driver jdbc insiste em trazer o campo com o horário 01:00:00 ao invés de 00:00:00. Pesquisando um pouco na internet encontrei no fórum pentahobr alguém que teve o mesmo problema, aqui neste link ... A solução proposta ali, após muita discussão, foi acrescentar nos parâmetros de incialização do Kettle a seguinte instrução:  "-Duser.timezone=GMT-3" Fiz isso, um tanto descrente, mas realmente funcionou. Acrescentei esta instrução nos arquivos spoon.bat, kitchen.bat, pan.bat e carte.bat. Imediatamente abaixo da declaração da variável OPT redeclarei acrescentando esta instrução. Ficou assim: set OPT="%PENTAHO_DI_JAVA_OPTIONS% "-Djava.library.path=%LIBSPATH%...

[Kettle] - Ajuste de Memória de Utilização

Quando baixamos o Pentaho Data Integration (Kettle) do site da Comunidade, este vem predefinido com um valor modesto de utilização de memória. Isso ocorre para que seja o mais portável possível em diferentes equipamentos. Mas para que possamos tirar o máximo de proveito do mesmo, podemos customizar o valor de alocação de memória, para melhor se adequar à realidade do nosso projeto. Para isso basta que ajustemos este valor de memória em 4 arquivos de execução do Pentaho Data Integration: pan.sh (pan.bat no Windows) Este arquivo pode ser utilizado para rodar em background transformações que tenham sido previamente criadas através do modo gráfico (spoon) do PDI. kitchen.sh (kitchen.bat no Windows) Este arquivo pode ser utilizado para rodar em background Jobs previamente criados também através do modo gráfico (spoon) do PDI. spoon.sh (spoon.bat no Windows)  Este é o arquivo (script batch de execução) do PDI em modo gráfico, que nos permite desenhar as transformações ...

[Kettle] - Enviando email em formato html

Imagem
Como apoio para uma dúvida em outra postagem deste blog, resolvi detalhar aqui como realizar, de forma simples, o envio de email no formato html pelo Kettle. Em ocasião anterior utilizei um componente XML para encapsular o html dentro de uma tag do tipo CDATA, porém neste exemplo não será necessário, visto que podemos colocar o conteúdo diretamente dentro de um campo no componente "Data Grid". Este componente existe a partir da versão 4 do Kettle. A transformação se resume em apenas 2 componentes, o já mencionado "Data Grid", que conterá todos os campos e conteúdo necessários para o preenchimento do componente "Mail", que será usado para executar o envio do email para o destinatário. Ficará assim: O componente "Data Grid" que chamei de "Dados Email" possui em suas propriedades 2 guias. A primeira onde definimos os campos que o grid possuirá, e a segunda, com os dados preenchidos. Segue abaixo a primeira guia com os campos n...

Pentaho Data Integration 4.2rc1 no Ubuntu 11.04 32bits

Para quem tiver problemas para executar o Pentaho Data Integration (Kettle) no Ubuntu 11.04 32bits (talvez também no 64bits) segue abaixo dica de ajustes que devem ser feitos no script de inicialização "spoon.sh": Ajustar o LIBPATH, removendo o $BASEDIR dali, que só está atrapalhando; Acrescentar o "cd $BASEDIR" antes da chamada de execução do Kettle (no final do arquivo, antes da chamada da aplicação); Usar o pacote java da Oracle, ao invés do OpenJDK (mais detalhes aqui ); Com os passos acima o PDI já vai abrir, porém, possivelmente haverá problemas com o "drag and drop" ao arrastar componentes para compor uma transformação. Para ajustar isso será necessário desativar a nova barra de rolagem do Ubuntu, pois ela que causa este conflito com o Java. Para isso basta rodar este comando no terminal (como root): echo "export LIBOVERLAY_SCROLLBAR=0" > /etc/X11/Xsession.d/80overlayscrollbars Para essa configuração ser ativada...

[Kettle] - Localizar log após erro fatal e encerramento

Imagem
Existem algumas situações em que rodamos algum job ou transformação do Kettle via Spoon (Ferramenta de Design), então depois de algumas horas de execução vamos verificar e, para nossa surpresa, o Kettle fechou totalmente e não temos a mínima idéia do ponto em que ele parou. Uma forma fácil de encontrarmos alguma informação sobre isso é verificando a pasta %TEMP% do Windows, ou java.io.tmpdir do Kettle. Ali encontraremos o arquivo de log que estava sendo exibido em tempo de execução dentro da sua interface, podendo abri-lo com qualquer programa de texto, como o notepad, wordpad ou notepad++. Ali podemos achar a razão do problema.  Então fica a dica: Nome padrão do arquivo de log do Spoon: spoon*.log (se houver mais de um pegue o mais recente) Caminho: %TEMP% (java.io.tmpdir). Obs.: No Linux não cheguei a me certificar, mas partindo da lógica possivelmente a pasta padrão para os logs será a /tmp . Para acessar rapidamente a pasta %TEMP% geralmente faço c...

[Kettle] - Troca do step "Modified JavaScript Value" por "User Defined Java Expression"

Imagem
Estou revisando algumas rotinas feitas em Kettle com o intuito de melhorar a velocidade com que são executadas. Uma das tarefas hoje foi averiguar a necessidade de uso de alguns steps de Javascript (conhecidamente custosos) buscando possíveis substituições que fossem mais performáticas. Desta forma resolvi trocar um dos steps que se chama "Define deMes e Semestre" construído sobre o step "Modified Javascript Value" pelo  "User Defined Java Expression". Em resumo ficou assim: - Troca do componente “Modified JavaScript Value” ( Interpretado )... - Pelo “User Defined Java Expression” ( Compilado )... - Detalhes do step JavaScript: - Detalhes do Step Java Expression: Abaixo descrevo melhor as "Java Expressions que criei, em substituição às feitas em Javascript: Expressão para variável “deMesAno”: nuMes+"/"+ nuAno Expressão para variável “semestre”: nuMes<=6 ?"1º Semestre" :...

Atualizando o PDI, da versão 3.2 para a 4.0

Imagem
 Vou descrever abaixo os passos necessários para atualizar a versão do Pentaho Data Integration, da 3.2 para a 4.0, bem como a atualização do repositório de arquivos (transformações e tarefas): Atualizando a aplicação: O primeiro passo é fazer uma cópia da pasta "Data-Integration" para "Data-Integration_old"; Feito isso apenas descompacto o download da versão 4.0 e coloco a pasta "Data-Integration" onde se encontrava a anterior; Precisei também atualizar o atalho, pois na versão 3.2 existia um binário chamado "kettle.exe", mas na versão 4.0 só encontrei o script "spoon.bat"; Aproveitei e troquei também o ícone para o da nova versão;  Fig.1 - Atalho com o novo ícone da versão 4.0 Após estes simples procedimentos estou com a aplicação atualizada e preciso agora atualizar o meu repositório de arquivos, que descrevo a seguir... Fig.2 - Tela de Abertura do PDI 4.0 Atualizando o Repositório: Ao abrir o novo atalho do PDI 4.0 ...

Criando um Projeto de Mailling com Pentaho Data Integration

Imagem
Dias atrás precisei atender rapidamente uma demanda que surgiu sobre o envio de um aviso aos clientes e parceiros de algumas mudanças de procedimentos de cobrança do setor financeiro. Como no sistema atualmente utilizado pelo cliente não havia uma rotina de Mala-direta pronta acabei optando pelo Pentaho Data Integration como ferramenta para realizar este trabalho. Para isso então fiz uso dos seguinte componentes: Table Input - Buscando os e-mails dos contatos da base de dados do cliente;  Mail Validator - Para validar os e-mails vindos da base, marcando como válidos ou não; Filter Rows - Para filtrar somente os e-mails filtrados como válidos, registrando os inválidos num arquivo texto (4o componente); Text File Output - Para gravar em um arquivo texto de log os e-mails inválidos da base; Add Constant Values - Para adicionar campos com valores constantes para uso, principalmente, no componente de envio do e-mail (9o componente); Get XML Data - Usei para carregar o modelo HTML ...

Atualizando o PDI, da versão 3.1 rc-1 para 3.2

Imagem
O procedimento para atualização de versão do Pentaho Data Integration é bastante simples. Abaixo descrevo os procedimentos que utilizei... - Ao tentar conectar no repositório do PDI com a nova versão recém baixada recebo a mensagem abaixo, informando que a versão do repositório é 3.0 e precisa ser 3.2. Ainda na mensagem recebo a sugestão de exportar o repositório de projetos para XML, de modo a ter um backup e posteriormente seguir os passos para upgrade. - Como gero um backup diário automático do meu repositório, que descrevi aqui no blog , pulei esta parte e fui diretamente para o processo de upgrade. - Este processo consiste basicamente em clicar no botão "Editar", ao lado do nome do Repositório, entre os botões "Novo" e "Apaga"; - Vai abrir uma nova janela onde é possível visualizar o botão "Create or Upgrade", basta clicar nele para iniciar o processo de upgrade. - Deve pedir para confirmar a senha do usuário Admin para conectar ao repositó...