Obsoleto — Conector Snowflake 1.x para Informatica Cloud¶
Este tópico contém informações sobre como configurar e usar a versão 1.x do conector Snowflake. Ele explica como administradores de organizações e usuários empresariais do Informatica Cloud podem usar o conector Snowflake para publicar dados no Snowflake.
Ele implementa o SDK do conector Informatica Cloud. Ela pode ser implementado tanto no Informatica Cloud quanto no Informatica PowerCenter 9.6.1. Para assistência na implantação do conector em PowerCenter, entre em contato com o suporte Snowflake.
Nota
O Snowflake também fornece uma biblioteca ODBC que pode ser usada para integração de dados com os produtos Informatica; atualmente, essa biblioteca oferece suporte apenas à funcionalidade de leitura.
Neste tópico:
Introdução ao conector Snowflake¶
Visão geral do conector Snowflake¶
O Snowflake fornece APIs programáticas para consulta e modificação de dados na forma de bibliotecas ODBC e JDBC padrões do setor. A biblioteca ODBC pode ser utilizada com produtos Informatica usando conectores ODBC. Consulte a documentação do Informatica para configurar o conector ODBC. A biblioteca ODBC pode ser baixada de sua conta Snowflake. Entretanto, escrever ou atualizar grandes volumes de dados no Snowflake usando ODBC muitas vezes não é a maneira mais eficiente de realizar essas operações.
O conector Snowflake foi projetado para melhorar o rendimento de inserção, modificação e exclusão em massa de um grande número de linhas no Snowflake. Ele funciona armazenando em cache cada linha dos dados recebidos pelo Informatica, carregando-as de forma assíncrona no armazenamento em nuvem no formato de arquivos delimitados por caracteres compactados e importando os dados dos arquivos usando o comando COPY do Snowflake.
Implementação do conector Snowflake¶
Os dados enviados para processamento são preparados na área de preparação interna do usuário de conexão configurado (identificado pelo caractere ~
).
Os subdiretórios são criados na área de preparação de cada trabalho. Vários lotes podem ser processados, com um subdiretório correspondente dentro da área de preparação do usuário para cada lote. Cada subdiretório inclui as seguintes informações:
Nome da tabela de destino.
Nome da operação (INSERT, DELETE, UPSERT, MODIFY).
Carimbo de data/hora e um identificador exclusivo (número consecutivo).
Na página History em Classic Console, os seguintes comandos são exibidos para o usuário configurado executar o processo:
Instruções SQL configuradas para serem executadas antes de um trabalho.
Sequência de comandos PUT para carregar os arquivos de dados na área de preparação.
Criação de uma tabela temporária para preparar os dados.
Comando COPY para importar dados para a tabela de preparação, opcionalmente, no modo de validação, para primeiro identificar/recuperar erros de conversão de dados.
Comando DELETE, MERGE ou INSERT para processar os dados.
Comando RM para limpar arquivos da área de preparação.
Esta sequência pode ser modificada pelo conector para otimizar o desempenho.
Os erros de dados são relatados ao Informatica para serem gravados no log de sessão do arquivo de erros. É possível configurar para que eles façam o trabalho ser encerrado. Por si só, o processo de carregamento do Snowflake ignora todos os erros de conversão de dados.
Conexões Snowflake¶
Visão geral da conexão Snowflake¶
O conector Snowflake usa o driver JDBC Snowflake para conectar. A biblioteca do driver está incluída na distribuição do conector.
Propriedades da conexão Snowflake¶
O conector Snowflake usa as seguintes propriedades para se conectar ao Snowflake:
USER e PASSWORD¶
Nome de usuário e senha para a conta que será usada para o processo de carregamento. O Snowflake recomenda que haja um usuário dedicado com os privilégios de gravação apropriados para a tabela em que os dados serão carregados.
Snowflake URL¶
JDBC URL para conexão ao banco de dados e esquema do Snowflake em sua conta. Por exemplo:
jdbc:snowflake://xy12345.snowflakecomputing.com/?db=load&schema=etl
Onde:
xy12345
especifica o nome de sua conta (fornecido pelo Snowflake).Se sua conta estiver localizada em uma região diferente de US West, a cadeia de conexão JDBC também deve incluir o :ref:` ID <label-region_ids>` da região após o nome da conta no formato
<account_id>.<region_id>.snowflakecomputing.com
.load
é o nome do banco de dados padrão a ser usado para carregar dados.etl
é o nome do esquema (no banco de dadosload
) contendo as tabelas a serem carregadas.
Nota
Durante o tempo de design, a navegação de metadados é limitada ao esquema Snowflake e ao banco de dados especificados na conexão ou no caminho de pesquisa do usuário.
Dica
Se você executar um trabalho que inclui um grande conjunto de dados e transformações muito complexas, poderá levar muito tempo para ser concluído. Se o trabalho demorar mais de 4 horas, o token da conexão Snowflake pode expirar. Para evitar essa situação, você pode especificar o parâmetro client_session_keep_alive
na cadeia de conexão JDBC, o que evita que o token de conexão expire. Por exemplo:
jdbc:snowflake://xy12345.snowflakecomputing.com/?...&client_session_keep_alive=true
Como iniciar a transação para trabalhos¶
Se definido, o conector iniciará uma transação antes do início de cada trabalho e confirmará ou reverterá se houver uma falha ou o trabalho for concluído.
Nota
O Informatica não oferece suporte para reversão de operações ou desconexão na API do conector. O encerramento de um trabalho pode deixar bloqueios de tabela pendentes e uma transação não confirmada que pode precisar ser liberada manualmente a partir da linha de comando do Snowflake.
Abortar em erros de dados¶
Quando essa propriedade for selecionada, todo trabalho em processamento será interrompido caso algum erro de conversão de dados seja encontrado durante a importação. Para reverter alterações parciais quando forem encontrados erros, defina também Como iniciar a transação para trabalhos.
Nota
Como os dados são carregados de forma assíncrona, alguns dados podem já estar confirmados se essa propriedade for utilizada e mais de um lote de dados for gerado.
Propagar fluxo de dados¶
O conector implementa uma interface de gravação intermediária que permite o encadeamento do processamento de dados. Se essa propriedade for selecionada, o conector passará dados para processamento posterior.
Para obter um melhor desempenho, não selecione essa propriedade.
Tarefas de sincronização de dados do Snowflake¶
O conector fornece propriedades de destino avançadas para especificar ações e propriedades específicas do Snowflake a serem usadas quando uma tarefa de sincronização de dados for executada.
Propriedades avançadas de destino do Snowflake¶
A tabela a seguir descreve as propriedades avançadas de destino que podem ser especificadas para uma tarefa de sincronização de dados:
Propriedade avançada de destino |
Descrição |
---|---|
Atualizar colunas de chaves |
Lista separada por ponto e vírgula de nomes de colunas na tabela de destino que deve ser usada como uma chave composta para as operações DELETE ou MODIFY. |
Executar antes |
Instrução SQL que será executada antes do início de um trabalho. |
Tabela de truncamento |
Exclua todos os dados da tabela de destino antes da execução do trabalho. Esta instrução é concluída após a execução da instrução Executar antes. |
Executar depois |
Instrução SQL que será executada após a conclusão de um trabalho. |
Processar dados em um lote |
Quando esta propriedade estiver marcada, o conector carregará todos os dados do trabalho antes de processá-lo. |
Preservar arquivo de preparação em caso de erro |
Preservar o arquivo de dados preparado quando ocorrer um erro no carregamento de dados. Esta propriedade é válida somente se a opção de abortar em caso de erro de dados estiver habilitada. |
Usar o fuso horário local |
Use o fuso horário local do agente para converter dados de data e hora/TIMESTAMP. Por padrão, UTC é usado em conversões. |
Diretório de arquivos de sucesso |
Não utilizada atualmente. |
Diretório de arquivo com erro |
Não utilizada atualmente. |
Substituição do banco de dados |
Nome do banco de dados a ser atualizado; substitui o banco de dados de destino definido para a tarefa de sincronização de dados. Não especifique valores para substituição de banco de dados, esquema ou tabela em uma tarefa de sincronização de dados. É possível especificar os valores em uma sessão PowerCenter. |
Substituição de esquema |
Nome do esquema a ser atualizado; substitui o esquema de destino definido para a tarefa de sincronização de dados. Não especifique valores para substituição de banco de dados, esquema ou tabela em uma tarefa de sincronização de dados. É possível especificar os valores em uma sessão PowerCenter. |
Substituição de tabela |
Nome da tabela a ser atualizada; substitui a tabela de destino definida para a tarefa de sincronização de dados. Não especifique valores para substituição de banco de dados, esquema ou tabela em uma tarefa de sincronização de dados. É possível especificar os valores em uma sessão PowerCenter. |
Notas de uso:
o Snowflake não impõe restrições primárias ou de chave estrangeira e não preserva metadados para chaves. Você deve especificar a propriedade Atualizar colunas de chaves mesmo que as colunas correspondentes sejam marcadas como chave no ambiente Informatica.
A propriedade Processar dados em um lote pode atrasar a conclusão do trabalho, mas garante que nenhum dado será persistente em caso de falha e sem a transação geral. O processamento da quantidade máxima de dados por vez também maximiza a utilização do paralelismo do warehouse Snowflake.
Os atributos Substituição de banco de dados, Substituição de esquema** e Substituição de tabela** são usados pelo PowerCenter para fornecer valores no tempo de execução que substituem o banco de dados, esquema e/ou tabela de destino para a tarefa de sincronização de dados. Isso permite utilizar a mesma tarefa de sincronização de dados para atualizar tabelas em vários bancos de dados e esquemas. Os campos estão em branco por padrão e devem ser deixados assim porque os valores dos atributos são fornecidos no tempo de execução.