HOP_EMPTY_STRING_DIFFERS_FROM_NULL: Como o Apache Hop Lida com Strings Vazias e Nulos
- Escrito por Miguel Domiciano Vieira
- Publicado em Tutoriais Apache Hop
- Hits: 239

O que são variáveis de sistema o Apache Hop
As variáveis de sistema são valores predefinidos nas configurações do Apache Hop que podem ser utilizados nos pipelines e workflows. Elas são utilizadas para predefinir caminhos de diretórios, nomes de arquivos, configurações de execução e assim por diante.
Diferença entre null e empty
As diferenças de null e empty na string são mínimas dentro do pipeline ou workflow, mas para uma integração externa como em alguma coluna NOT NULL no banco de dados pode acabar ocorrendo erros.
Configuração padrão do Apache Hop
O Apache Hop por padrão transforma toda string vazia em null para melhorar o desempenho do pipeline ou workflow.
Como editar as variáveis de sistema do Apache Hop
Abra o Apache Hop e vá em "Perspectiva de configuração (Ctrl+Shift+C)"
Depois defina o valor "Y" na variável "HOP_EMPTY_STRING_DIFFERS_FROM_NULL"
Apos isto o Apache Hop Tratara os valores null e empty nas strings de forma diferente, parando de alterar os valores vazios para null de forma automática.
Exemplos
um pipeline de exemplo está disponível no github da Ambiente Livre pelo link abaixo:
https://github.com/ambientelivre/samples_hop/blob/main/pipelines/HOP_EMPTY_STRING_DIFFERS_FROM_NULL/sample_HOP_EMPTY_STRING_DIFFERS_FROM_NULL.hpl
Para este exemplo estou utilizando o transform Data grid como a entrada dos dados.
O Data grid possui 3 campos > id (integer) - name (string) - not_null (sring)
Ele esta enviando duas linha, uma com o not_null: "tem coisa" e outro com o not_null vazio
Para este exemplo os dados estão sendo enviados para o transform "SQL file output"
Resultado sem diferenciação (padrão)
INSERT INTO `not_null`.`not_null`(`id`, `name`, `not_null`) VALUES (1,'Miguel','tem coisa');
INSERT INTO `not_null`.`not_null`(`id`, `name`, `not_null`) VALUES (2,'Marcio',null);
Resultado com diferenciação.
INSERT INTO `not_null`.`not_null`(`id`, `name`, `not_null`) VALUES (1,'Miguel','tem coisa');
INSERT INTO `not_null`.`not_null`(`id`, `name`, `not_null`) VALUES (2,'Marcio','');
Versões do Apache Hop.
Este tutorial foi escrito na versão 2.9 do Apache Hop
Sobre a Ambiente Livre
A Ambiente Livre é especialista em Open Source e Free Software e tem uma divisão especialista em Business Intelligence e Business Analytics. Fornece implantação, integração, suporte, consultoria e treinamento Business Intelligence com a plataforma Pentaho Business Intelligence e Analytics a mais de 10 anos.
Já capacitou centenas de empresas para trabalhar com Business Intelligence, ECM, BPM, CRM e Big Data e usa uma metodologia própria de ensino.
Conheça também as divisões de ECM e BPM, CRM e CMS e Big Data e Data Science.