Algumas regras de processamento para o mecanismo Spark são diferentes das regras de processamento do Serviço de Integração de Dados.
Restrições gerais
A transformação Java é suportada com as seguintes restrições no mecanismo Spark:
O código Java na transformação não pode gravar a saída na saída padrão quando você envia a lógica de transformação para o Hadoop. O código Java pode gravar a saída no erro padrão que aparece nos arquivos de log.
Para valores de data/hora, o mecanismo Spark suporta a precisão de até microssegundos. Se um valor de data/hora contiver nanossegundos, os dígitos à direita serão truncados.
Particionamento
A transformação Java possui as seguintes restrições quando usada com particionamento:
A propriedade Particionável deve estar ativada na transformação Java. A transformação não pode ser executada em uma partição.
As seguintes restrições se aplicam à propriedade Escopo da Transformação:
O valor de Transação para o escopo da transformação não é válido.
Se você ativar uma porta de entrada para a chave de partição, o escopo da transformação deverá ser definido como Todas as Entradas.
Sem Estado deve ser ativado se o escopo da transformação for linha.
Validação de Mapeamento
A validação do mapeamento falha nas seguintes situações:
Você faz referência a uma transformação de Pesquisa não conectada de uma expressão dentro de uma transformação Java.
Você seleciona uma porta de um tipo de dados complex como a partição ou a chave de classificação.
Você ativa o processamento de nanossegundos em data/hora e a transformação Java contém uma porta de tipo de dados complex com um elemento de um tipo de data/hora. Por exemplo, uma porta de tipo
array<data/time>
não é válida se você ativar o processamento de nanossegundos em data/hora.
O mapeamento falha na seguinte situação:
A transformação Java e o mapeamento usam diferentes modos de precisão quando a transformação Java contém uma porta decimal ou uma porta complexa com um elemento de um tipo de dados decimal.
Mesmo que a alta precisão esteja ativada no mapeamento, o mapeamento processa os dados no modo de baixa precisão em algumas situações, como quando o mapeamento contém uma porta complexa com um elemento de um tipo de dados decimal ou o mapeamento é um mapeamento de fluxo. Se a alta precisão estiver ativada na transformação Java e no mapeamento, mas o mapeamento processar dados no modo de baixa precisão, o mapeamento falhará.
Usando arquivos .jar externos
Para usar arquivos .jar externos em uma transformação Java, execute as seguintes etapas:
Copie os arquivos .jar externos para o diretório de instalação do Informatica na máquina do Serviço de Integração de Dados no seguinte local:
<Diretório de instalação do Informatica>/services/shared/jars
Recicle o Serviço de Integração de Dados.
Na máquina que hospeda a Developer tool, onde você desenvolve e executa o mapeamento que contém a transformação Java:
Copie os arquivos .jar externos para um diretório na máquina local.
Edite a transformação Java para incluir uma instrução de importação apontando para os arquivos .jar locais.