Fala pessoal, beleza!??

Querem programar o Pentaho para deletar arquivos que estão contidos em pastas de forma automática?!

Neste post que vos escrevo, irei mostrar como criei um job que fosse capaz de ir em uma determinada pasta e deletar os arquivos que estão nela.

Aqui, vamos ver como deletar um simples arquivo ou uma série deles, deixando a critério dos usuários e como melhor se aplica em cada ambiente.

CRIANDO A TRANSFORMAÇÃO

Essa é a transformação básica que utilizei para deletar um csv dos Metadados das dimensões que criei para o meu portfólio.

Deixo claro que aqui não iremos trabalhar com as transformações normais, e sim com job. Então, quando abrir o Pentaho para reproduzir em casa, crie um job no seu canva e utilize as transformações.

NOTA: quando for executar um job no Pentaho, o step de star é obrigatório.

Dito isso, adicione o step, check if file exists, para averiguar se tal arquivo existe, como no exemplo abaixo:

Agora, basta configurar o step delete file com o arquivo que deseja deletar, como feito abaixo.

Edite a condição para execução do delete na flecha que liga o step de check com o delete.

Também é valido adicionar um step para o caminho false, nesse caso, basta adicionar um dummy e um step de success, evitando possíveis erros no job.

MULTIPLOS ARQUIVOS

É possível deletar múltiplos arquivos de uma pasta da mesma forma que deletamos um arquivo único, para isso, basta mudar o step e configurar corretamente o RegEx com os formatos que desejamos apagar de uma determinada pasta.

Assumindo que desejo apagar os arquivos que estão dentro desta pasta chamada arquivo.

Desta vez, ao invés de checar um único arquivo, como no primeiro exemplo, vamos checar se uma pasta possui arquivos.

Utilize essa configuração do RegEx para ‘rastrear’ todos os arquivos que estão na pasta, caso queira deletar todos.

O próximo passo envolve a configuração do delete files que é o step que apaga todos os arquivos de uma única vez.

Esse é o RegEx mais difícil de se criar e esse eu não fiz, estudando e pesquisando em livros, encontrei essa fórmula. Ali está configurando o step para deletar todos os arquivos com exceção dos formatos: txt e xls.

Aqui está a fórmula para copiarem e colarem na sua transformação: “” .+(?<!(txt|xls))$ “”

Ao final, configure novamente a avaliação lógica entre o chek e o delete e execute a transformação.

Como não havia arquivo XLS, ficou somente o arquivo TXT na pasta e todos os outros deletados. Se quiser adicionar ou remover algum arquivo, basta editar o RegExp do step colocando ou removendo conforme desejado.

Cuidado quando for deletar, pois ele não deleta para a lixeira, é exclusão permanente.

Este foi um post mais no formato gerenciamento mesmo, onde quis mostrar como podemos apagar arquivos indesejáveis ou evitar duplicatas.

Existem outros steps que seguem a mesma lógica e que podem ser utilizados com a mesma finalidade, oferecendo uma gama maior de opções. Neste, eu quis apenas mostrar o básico e as possibilidades que o Pentaho oferece.

Além disso, foi interessante para termos uma ideia básica de como os jobs funcionam dentro da ferramenta de ETL.

Espero que tenham gostado, saúde!