Obsolète — Snowflake Connector 1.x pour Informatica Cloud

Cette rubrique contient des informations sur la configuration et l’utilisation de la version 1.x du Snowflake Connector. Elle explique comment les administrateurs d’organisations et les utilisateurs professionnels Informatica Cloud peuvent utiliser le Snowflake Connector pour publier des données dans Snowflake.

Le connecteur met en œuvre le SDK du connecteur Informatica Cloud. Il peut être déployé à la fois sur Informatica Cloud et Informatica PowerCenter 9.6.1. Pour obtenir de l’aide pour le déploiement du connecteur sur PowerCenter, veuillez contacter l”Assistance Snowflake.

Note

Snowflake fournit également une bibliothèque ODBC pouvant être utilisée pour l’intégration de données avec les produits Informatica ; actuellement, cette bibliothèque ne prend en charge que la fonctionnalité en lecture.

Dans ce chapitre :

Présentation du Snowflake Connector

Vue d’ensemble du Snowflake Connector

Snowflake fournit des APIs programmatiques pour l’interrogation et la modification de données sous forme de bibliothèques ODBC et JDBC conformes aux normes du secteur. La bibliothèque ODBC peut être utilisée avec des produits Informatica utilisant des connecteurs ODBC standard. Voir la documentation Informatica pour la configuration du connecteur ODBC. La bibliothèque ODBC peut être téléchargée depuis votre compte Snowflake. Cependant, l’écriture ou la mise à jour de grands volumes de données dans Snowflake en utilisant ODBC n’est souvent pas le moyen le plus efficace d’effectuer ces opérations.

Le Snowflake Connector est conçu pour améliorer le débit d’insertion, de modification et de suppression en masse d’un grand nombre de lignes dans Snowflake. Il fonctionne en mettant en cache les données ligne par ligne qu’il reçoit via Informatica, en les téléchargeant de manière asynchrone vers un stockage Cloud sous forme de fichiers compressés et délimités par des caractères, et en important les données des fichiers en utilisant la commande COPY de Snowflake.

Mise en œuvre du Snowflake Connector

Les données envoyées pour traitement sont mises en zone de préparation interne pour l’utilisateur de connexion configuré (identifié par le caractère ~).

Des sous-répertoires sont créés dans la zone de préparation pour chaque tâche. Plusieurs lots peuvent être traités, avec un sous-répertoire correspondant dans la zone de préparation utilisateur pour chaque lot. Chaque sous-répertoire comprend les informations suivantes :

  • Nom de la table cible.

  • Nom de l’opération (INSERT, DELETE, UPSERT, MODIFY).

  • Horodatage et identificateur unique (numéro consécutif).

Dans la page History Onglet Historique de la Classic Console, les commandes suivantes sont affichées pour l’utilisateur configuré pour exécuter le processus :

  • Instructions SQL configurées pour être exécutées avant une tâche.

  • Séquence de commandes PUT pour charger les fichiers de données vers la zone de préparation.

  • Création d’une table temporaire pour les données de zone de préparation.

  • Commande COPY pour importer des données dans la table de mise en lots, éventuellement en mode validation pour identifier/extraire d’abord les erreurs de conversion de données.

  • Commande DELETE, MERGE ou INSERT pour traiter les données.

  • Commande RM pour effacer les fichiers en zone de préparation de la zone de préparation.

Cette séquence peut être modifiée par le connecteur pour optimiser les performances.

Les erreurs de données sont signalées à Informatica pour être écrites dans le journal de session du fichier d’erreurs, et peuvent mettre fin à la tâche si elle est configurée ainsi. À lui seul, le processus de chargement Snowflake ignore toutes les erreurs de conversion des données.

Gérer les connexions Snowflake

Aperçu de la connexion à Snowflake

Le Snowflake Connector utilise le pilote Snowflake JDBC pour se connecter. La bibliothèque de pilotes est incluse dans la distribution du connecteur.

Propriétés de la connexion Snowflake

Le Snowflake Connector utilise les propriétés suivantes pour se connecter à Snowflake :

USER et PASSWORD

Le nom d’utilisateur et le mot de passe du compte qui sera utilisé pour le processus de chargement. Snowflake recommande d’utiliser un utilisateur dédié avec les privilèges d’écriture appropriés pour la table dans laquelle les données seront chargées.

Snowflake URL

L’URL JDBC pour se connecter à la base de données et au schéma Snowflake dans votre compte. Par exemple :

jdbc:snowflake://xy12345.snowflakecomputing.com/?db=load&schema=etl

Où :

  • xy12345 est le nom de votre compte (fourni par Snowflake).

  • Si votre compte est situé dans une région autre que US Ouest, la chaîne de connexion JDBC doit également comporter l”ID de région après votre nom de compte sous la forme <account_id>.<region_id>.snowflakecomputing.com.

  • load est le nom de la base de données par défaut à utiliser pour le chargement des données.

  • etl est le nom du schéma (dans la base de données load) contenant les tables à charger.

Note

Pendant la phase de conception, la navigation des métadonnées est limitée au schéma et à la base de données Snowflake spécifiés dans la connexion ou dans le chemin de recherche de l’utilisateur.

Astuce

Si vous exécutez une tâche qui comprend un grand ensemble de données et des transformations très complexes, son exécution peut prendre beaucoup de temps. Si la tâche prend plus de 4 heures, le jeton de connexion Snowflake peut expirer. Pour éviter cette situation, vous pouvez spécifier le paramètre client_session_keep_alive dans la chaîne de connexion JDBC, qui empêche le jeton de connexion d’expirer. Par exemple :

jdbc:snowflake://xy12345.snowflakecomputing.com/?...&client_session_keep_alive=true

Commencer des transactions pour les tâches

Si cette option est activée, le connecteur initie une transaction avant le début de chaque tâche, et sera validé ou annulé à l’issue ou à l’échec de la tâche.

Note

Informatica ne prend pas en charge l’annulation ou la déconnexion de l’opération dans l’API du connecteur. La fin d’une tâche peut entraîner des blocages de table suspendus et une transaction non validée qui peut être nécessaire pour être libérée manuellement à partir de la ligne de commande de Snowflake.

Annuler en cas d’erreurs de données

Lorsque cette propriété est sélectionnée, chaque tâche arrêtera le traitement si des erreurs de conversion de données surviennent lors de l’importation des données. Pour annuler des modifications partielles lorsque des erreurs surviennent, définissez également Commencer des transactions pour les tâches.

Note

Étant donné que les données sont chargées de manière asynchrone, certaines données peuvent déjà être validées si cette propriété est utilisée et que plus d’un lot de données a été généré.

Propager le flux de données

Le connecteur met en œuvre une interface d’écriture de flux intermédiaires qui permet de chaîner le traitement des données. Si cette propriété est sélectionnée, le connecteur transmettra des données pour un traitement ultérieur.

Pour de meilleures performances, ne sélectionnez pas cette propriété.

Tâches de synchronisation des données Snowflake

Le connecteur fournit des propriétés cibles avancées pour spécifier les actions et les propriétés spécifiques à Snowflake à utiliser lorsqu’une tâche de synchronisation des données est effectuée.

Propriétés de cible avancées de Snowflake

Le tableau suivant décrit les propriétés cibles avancées qui peuvent être spécifiées pour une tâche de synchronisation des données :

Propriété avancée cible

Description

Mettre à jour les colonnes clés

Liste des noms de colonnes de la table cible séparés par des points-virgules qui doivent être utilisés comme clés composites pour les opérations DELETE ou MODIFY.

Exécuter avant

Instruction SQL qui sera exécutée avant le démarrage d’une tâche.

Tronquer la table

Supprimez toutes les données de la table cible avant l’exécution de la tâche. Cette instruction est appliquée après l’exécution de l’instruction Exécuter avant.

Exécuter après

Instruction SQL qui sera exécutée après l’achèvement d’une tâche.

Traiter les données en un seul lot

Lorsque cette propriété est cochée, le connecteur téléchargera toutes les données de la tâche avant de les traiter.

Conserver le fichier de zone de préparation sur l’erreur

Préservez le fichier de données en zone de préparation lorsqu’une erreur se produit dans le chargement des données. Cette propriété n’est valable que si l’annulation en cas d’erreur de données est activée.

Utiliser le fuseau horaire local

Utilisez le fuseau horaire local de l’agent pour effectuer la conversion des donnéesTIMESTAMP/datetime. Par défaut, UTC est utilisé dans les conversions.

Répertoire des fichiers de réussite

Non utilisé actuellement.

Répertoire des fichiers d’erreur

Non utilisé actuellement.

Remplacement de la base de données

Nom de la base de données à mettre à jour ; remplace la base de données cible définie pour la tâche de synchronisation des données. Ne spécifiez pas de valeurs pour le remplacement de base de données, le remplacement de schéma ou le remplacement de table dans une tâche de synchronisation des données. Vous pouvez spécifier les valeurs dans une session PowerCenter.

Remplacer le schéma

Nom du schéma à mettre à jour ; remplace le schéma cible défini pour la tâche de synchronisation des données. Ne spécifiez pas de valeurs pour le remplacement de base de données, le remplacement de schéma ou le remplacement de table dans une tâche de synchronisation des données. Vous pouvez spécifier les valeurs dans une session PowerCenter.

Remplacement de table

Nom de la table à mettre à jour ; remplace la table cible définie pour la tâche de synchronisation des données. Ne spécifiez pas de valeurs pour le remplacement de base de données, le remplacement de schéma ou le remplacement de table dans une tâche de synchronisation des données. Vous pouvez spécifier les valeurs dans une session PowerCenter.

Notes sur l’utilisation :

  • Snowflake n’impose pas de contraintes de clés primaires ou étrangères et ne préserve pas les métadonnées des clés. Vous devez spécifier la propriété Mettre à jour les colonnes de clés même si les colonnes correspondantes sont marquées comme clés dans l’environnement Informatica.

  • La propriété Traiter les données d’un lot peut retarder l’achèvement de la tâche, mais garantit qu’aucune donnée ne sera conservée en cas d’échec, et sans la transaction globale. Le traitement d’une quantité maximale de données à la fois maximise également l’utilisation du parallélisme de l’entrepôt Snowflake.

  • Les attributs Remplacer la base de données, Remplacer le schéma, et Remplacer la table sont utilisés par PowerCenter pour fournir des valeurs au moment de l’exécution qui remplacent la base de données, le schéma et/ou la table cibles pour la tâche de synchronisation des données. Cela permet d’utiliser la même tâche de synchronisation des données pour mettre à jour des tables dans plusieurs bases de données et schémas. Les champs sont vides par défaut et doivent être laissés vides, car les valeurs des attributs sont fournies au moment de l’exécution.