Como já foi falado no artigo anterior (Extraindo dados do e-mail com Pentaho - Spoon) o PDI do Pentaho facilita muito a vida de quem precisa executar engenharia de dados. Além das transformações, podemos contar também com os Jobs.
Jobs são usados para disparar execuções de forma sequencial, diferente da Transformation que trabalha de forma paralela, executando os passos simultaneamente.
Neste artigos usaremos o Job para iniciar uma transformação de forma automática dias/horários pré estabelecidos, além de enviar um e-mail avisando se a transformação foi executada com sucesso ou se ocorreu algum erro na transformação.
Briefing
Temos o seguinte caso: Conseguimos executar nossa transformação extraindo os dados da caixa postal. Agora precisamos deixar este processo autônomo, sendo executado em dias e horários pré determinados e com envio de aviso se sucesso ou falha.
Executando
1.º Criando o Job
Abra o Job e salve com o nome que quiser:
2º Adicionando o Start
É através do Start que o Job deve começar sempre
2.1º Configurando Start
No Start você pode configurar quando o Job será executado. No nosso caso vamos configurar de outra forma, criando um .bat e um agendador com mais recursos.
3º Executando transformação
Adicionando o step Transformation onde iremos apontar para o Job qual transformação deve ser iniciada. Após adicionar a Transformation vamos ligar o Hop (Figura 5.1).
3.1º Configurando o Transformation
Vamos apontar a transformação onde você pode ver em SolicitacoesEmail.ktr que é a transformação que criamos no artigo anterior. Quando vamos apontar a transformação, o ideal é deixar o caminho relativo, conforme fiz nessa demonstração, clicando em CTRL+Espaço você consegue alterar isso. Então se o nome do diretório mudar o nosso ETL não vai parar de funcionar. Siga as outras configurações conforme imagem abaixo.
Na aba Logging aponte o local para salvar os logs de execução dessa etapa, entre outras configurações relacionadas ao log. Você vai querer olhar as outras abas, mas pra esse trabalho não iremos alterar em nada mais.
4º E-mail de sucesso
Adicionando o step Mail e ligar o hop entre as etapas. Após executar executar a Transformation vamos configurar o Step Mail para enviar um e-mail informando que foi executado com sucesso anexando o log da execução zipado.
4.1º Configurando step Mail
4.1.1º Aba Addresses
Olhando a imagem você já deve notar como deve configurar essa etapa.
4.1.2º Aba Server
Veja sua configuração SMTP e configure.
4.1.3º Aba EMail Message
Além das configurações, você poderá incluir um assunto e mensagem para o e-mail.
4.1.4º Aba Attached Files
Vamos anexar o log.txt no e-mail.
5º E-mail de erro
Incluindo outro step Mail, agora para sermos avisados quando algo der errado na transformação.
Ao ligar o hop entre os steps SolicitacoesEmail e email ERRO o hop de erro (vermelho com x) já deve ser mostrado, caso isso não ocorra, clique no hop até aparecer essa ligação.
A configuração é igual ao step de sucesso, com a deferença que agora você estará avisando que algo deu errado na transformação, então tenha atenção no assunto e na mensagem que será disparada.
6º Automatizando o ETL
É possível executar diretamente a transformação através do Pan sem a necessidade de se usar o Job, você precisa analisar o que atende sua necessidade. Eu gosto de imaginar que o ETL pode crescer e ter a necessidade de conectar a outras transformações, então gosto de sempre criar o Job. Artigo oficial sobre Pan e Kitchen pode ser acessado aqui.
Com a nossa transformação e Job completos, agora precisamos deixar esse ETL pra ser executado de forma automática, pra isso criaremos o SolicitacoesEmail.bat que irá acionar outro recurso do Spoon chamado Kitchen para executar nosso Job (SolicitacoesEmail.kjb).
Você pode clicar 2x nesse .bat pra testar se ele está executando o ETL. Antes de configurar o agendador.
7º Agendar execução do ETL
Estamos em ambiente Windows, então vamos usar o agendador nativo, mas recomendo usar o System Scheduler.
7.1º Na pesquisa do Windows digite taskschd.msc
7.2º Vá em Ação > Criar Tarefa...
7.3º Na aba Disparadores > Novo...
Aqui você determina os dias e horários que deseja executar o ETL.
7.4º Mude para a aba Ações
Em Programa/script coloque o caminho até SolicitacoesEmail.bat
Debriefing
Desenvolvemos o Job, criamos o arquivo batch e adicionamos os comandos necessários para executar nosso ETL, por último, configuramos o agendador do Windows pra executar o batch.
Você vai sentir necessidade de um agendador, com mais opções dependendo do projeto que está trabalhando, por isso recomendei o agendador acima.