Partager via


Configurer Snowflake dans une activité de copie

Cet article explique comment utiliser l'activité de copie dans le pipeline de données pour copier des données depuis et vers Snowflake.

Configuration prise en charge

Pour la configuration de chaque onglet sous l’activité de copie, accédez respectivement aux sections suivantes.

Général

Reportez-vous aux instructions relatives aux paramètres Général pour configurer l’onglet Paramètres Général .

Source

Les propriétés suivantes sont prises en charge pour Snowflake sous l’onglet Source d’une activité de copie.

Capture d'écran montrant l’onglet source et la liste des propriétés.

Les propriétés suivantes sont requises :

  • Type de magasin de données : sélectionnez Externe.
  • Connexion : sélectionnez une connexion Snowflake dans la liste des connexions. Si la connexion n’existe pas, créez une connexion Snowflake en sélectionnant Nouveau.
  • Base de données : base de données par défaut à utiliser une fois connecté. Il doit s’agir d’une base de données existante pour laquelle le rôle spécifié dispose de privilèges.
  • Utiliser une requête : vous pouvez choisir Table ou Requête comme requête d’utilisation. La liste suivante décrit la configuration de chaque paramètre.
    • Table : sélectionnez la table dans votre base de données dans la liste déroulante. Ou cochez Modifier pour entrer manuellement le nom de votre table.
    • Requête : spécifiez la requête SQL pour lire les données de Snowflake. Si les noms du schéma, de la table et des colonnes contiennent des minuscules, citez l’identificateur d’objet dans la requête, par exemple select * from "schema"."myTable".

Sous Avancé, vous pouvez spécifier les champs suivants :

  • Intégration du stockage : Spécifiez le nom de l’intégration de stockage que vous avez créée dans Snowflake. Pour connaître les étapes préalables à l’utilisation de l’intégration du stockage, consultez Configuration d’une intégration de stockage Snowflake.

  • Options de copie Snowflake supplémentaires : spécifiez des options de copie Snowflake supplémentaires à utiliser dans une instruction Snowflake COPY pour charger des données. Des options de copie supplémentaires sont fournies sous la forme d’un dictionnaire de paires clé-valeur. Exemples : MAX_FILE_SIZE, OVERWRITE. Pour plus d'informations, consultez Options de copie de Snowflake.

    Capture d’écran montrant les options de copie Snowflake supplémentaires.

  • Options de format Snowflake supplémentaires : spécifiez des options de format Snowflake supplémentaires à utiliser dans une instruction Snowflake COPY pour charger des données. Des options de format de fichier supplémentaires sont fournies à la commande COPY sous la forme d’un dictionnaire de paires clé-valeur. Exemples : DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Pour plus d’informations, consultez Options de type de format de Snowflake.

    Capture d’écran montrant les options de format Snowflake supplémentaires.

Copie directe à partir de Snowflake

Si votre magasin de données de destination et le format remplissent les critères décrits dans cette section, vous pouvez utiliser l’activité de copie pour effectuer une copie directe de Snowflake vers la destination. Le service vérifie les paramètres et fait échouer l’exécution de l’activité Copy si les critères suivants ne sont pas satisfaits :

  • Lorsque vous spécifiez Intégration du stockage dans la source : le magasin de données de destination est le Stockage Blob Azure que vous avez référencé dans la phase externe dans Snowflake. Vous devez effectuer les étapes suivantes avant de copier des données :

    1. Créez une connexion Stockage Blob Azure pour le Stockage Blob Azure de destination avec tous les types d’authentification pris en charge.

    2. Accordez au moins le rôle Contributeur aux données Blob du stockage au principal du service Snowflake dans le contrôle d’accès (IAM) au Stockage Blob Azure de destination.

  • Lorsque vous ne spécifiez pas Intégration du stockage dans la source :

    La connexion de destination est le Stockage Blob Azure avec l’authentification par signature d’accès partagé. Si vous souhaitez copier directement des données dans Azure Data Lake Storage Gen2 dans le format pris en charge suivant, vous pouvez créer une connexion Stockage Blob Azure avec une authentification par SAP sur votre compte Azure Data Lake Storage Gen2, afin d’éviter d’utiliser la copie intermédiaire à partir de Snowflake.

  • Le format de données de destination est Parquet, Texte délimité ou JSON avec les configurations suivantes :

    • Pour le format Parquet, le codec de compression est Aucun, Snappyou Lzo.
    • Pour le format Texte délimité :
      • Le délimiteur de ligne est \r\n, ou n’importe quel caractère unique.
      • Le type de compression peut être Aucun, gzip, bzip2 ou deflate.
      • L’encodage conserve sa valeur par défaut ou est défini sur UTF-8.
      • Le caractère de guillemet est Guillemet double, Guillemet unique ou Aucun caractère de guillemet.
    • Pour le format JSON, la copie directe ne prend en charge que le cas où la table Snowflake de la source ou le résultat de la requête ne possède qu’une seule colonne, dont les données sont de type VARIANT, OBJET ou TABLEAU.
      • Le type de compression peut être Aucun, gzip, bzip2 ou deflate.
      • L’encodage conserve sa valeur par défaut ou est défini sur UTF-8.
      • Le modèle de fichier dans la destination de l’activité de copie conserve sa valeur par défaut ou est défini sur Ensemble d’objets.
  • Dans la source de l’activité de copie, Colonnes supplémentaires n’est pas spécifié.

  • Le mappage de colonnes n’est pas spécifié.

Copie intermédiaire à partir de Snowflake

Lorsque le format ou le magasin de données de destination ne sont pas compatibles en mode natif avec la commande COPY de Snowflake, comme indiqué dans la dernière section, activez la copie intermédiaire intégrée à l’aide d’une instance de Stockage Blob Azure temporaire. La fonctionnalité de copie intermédiaire vous offre également un meilleur débit. Le service exporte des données à partir de Snowflake dans le stockage intermédiaire, puis copie les données sur la destination et nettoie vos données temporaires sur le stockage intermédiaire.

Pour utiliser cette fonctionnalité, créez une connexion Stockage Blob Azure qui fait référence au compte de stockage Azure en tant qu’intermédiaire. Ensuitez, accédez à l’onglet Paramètres pour configurer vos paramètres intermédiaires. Vous devez sélectionner Externe pour configurer la connexion Stockage Blob Azure intermédiaire.

  • Lorsque vous spécifiez Intégration du stockage dans la source, le Stockage Blob Azure intermédiaire doit être celui que vous avez référencé dans la phase externe dans Snowflake. Veillez à créer une connexion Stockage Blob Azure pour celui-ci avec n’importe quelle authentification prise en charge, et accordez au moins le rôle Contributeur aux données Blob du stockage au principal du service Snowflake dans le contrôle d’accès (IAM) de Stockage Blob Azure intermédiaire. Le Chemin d’accès de stockage sous Paramètres de préproduction dans l’onglet Paramètres est requis.

  • Lorsque vous ne spécifiez pas Intégration du stockage dans la source, la connexion Stockage Blob Azure intermédiaire doit utiliser l’authentification par signature d’accès partagé, comme exigé par la commande COPY de Snowflake. Veillez à accorder une autorisation d’accès appropriée à Snowflake dans le Stockage Blob Azure intermédiaire. Pour en savoir plus sur ce sujet, consultez cet article.

Destination

Les propriétés suivantes sont prises en charge pour Snowflake sous l’onglet Destination d’une activité de copie.

Capture d'écran montrant l’onglet Destination.

Les propriétés suivantes sont requises :

  • Type de magasin de données : sélectionnez Externe.
  • Connexion : sélectionnez une connexion Snowflake dans la liste des connexions. Si la connexion n’existe pas, créez une connexion Snowflake en sélectionnant Nouveau.
  • Base de données : base de données par défaut à utiliser une fois connecté. Il doit s’agir d’une base de données existante pour laquelle le rôle spécifié dispose de privilèges.
  • Table : sélectionnez la table dans votre base de données dans la liste déroulante. Ou cochez Modifier pour entrer manuellement le nom de votre table.

Sous Avancé, vous pouvez spécifier les champs suivants :

  • Script de pré-copie : spécifiez un script pour l’activité de copie, à exécuter avant d’écrire des données dans une table de destination à chaque exécution. Vous pouvez utiliser cette propriété pour nettoyer des données préchargées.

  • Intégration du stockage : Spécifiez le nom de l’intégration de stockage que vous avez créée dans Snowflake. Pour connaître les étapes préalables à l’utilisation de l’intégration du stockage, consultez Configuration d’une intégration de stockage Snowflake.

  • Options de copie Snowflake supplémentaires : spécifiez des options de copie Snowflake supplémentaires à utiliser dans une instruction Snowflake COPY pour charger des données. Des options de copie supplémentaires sont fournies sous la forme d’un dictionnaire de paires clé-valeur. Exemples : ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Pour plus d'informations, consultez Options de copie de Snowflake.

    Capture d’écran montrant les options de copie Snowflake pour la destination.

  • Options de format Snowflake supplémentaires : spécifiez des options de format Snowflake supplémentaires à utiliser dans une instruction Snowflake COPY pour charger des données. Des options de format de fichier supplémentaires sont fournies à la commande COPY sous la forme d’un dictionnaire de paires clé-valeur. Exemples : DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Pour plus d’informations, consultez Options de type de format de Snowflake.

    Capture d’écran montrant les options de format Snowflake supplémentaires pour la destination.

Copie directe vers Snowflake

Si le magasin de données source et le format remplissent les critères décrits dans cette section, vous pouvez utiliser l’activité de copie pour effectuer une copie directe depuis une source vers Snowflake. Le service vérifie les paramètres et fait échouer l’exécution de l’activité Copy si les critères suivants ne sont pas satisfaits :

  • Lorsque vous spécifiez Intégration du stockage dans la destination :

    Le magasin de données source est le Stockage Blob Azure que vous avez référencé dans la phase externe dans Snowflake. Vous devez effectuer les étapes suivantes avant de copier des données :

    1. Créez une connexion Stockage Blob Azure pour le Stockage Blob Azure source avec tous les types d’authentification pris en charge.

    2. Accordez au moins le rôle Lecteur des données blob du stockage au principal du service Snowflake dans le contrôle d’accès (IAM) au Stockage Blob Azure source.

  • Lorsque vous ne spécifiez pas Intégration du stockage dans la destination :

    La connexion de source est le Stockage Blob Azure avec l’authentification par signature d’accès partagé. Si vous souhaitez copier directement des données à partir d’Azure Data Lake Storage Gen2 dans le format pris en charge suivant, vous pouvez créer une connexion Stockage Blob Azure avec une authentification par SAP sur votre compte Azure Data Lake Storage Gen2, afin d’éviter d’utiliser la copie intermédiaire vers Snowflake.

  • Le format de données de la source est Parquet, Texte délimité ou JSON avec les configurations suivantes :

    • Pour le format Parquet, le codec de compression est Aucun ou Snappy.

    • Pour le format Texte délimité :

      • Le délimiteur de ligne est \r\n, ou n’importe quel caractère unique. Si le délimiteur de lignes n’est pas « \r\n », Première ligne en tant qu’en-tête n’est pas sélectionnée et Nombre de lignes ignorées n’est pas spécifié.
      • Le type de compression peut être Aucun, gzip, bzip2 ou deflate.
      • L’encodage conserve sa valeur par défaut ou est défini sur « UTF-8 », « UTF-16 », « UTF-16BE », « UTF-32 », « UTF-32BE », « BIG5 », « EUC-JP », « EUC-KR », « GB18030 », « ISO-2022-JP », « ISO-2022-KR », « ISO-8859-1 », « ISO-8859-2 », « ISO-8859-5 », « ISO-8859-6 », « ISO-8859-7 », « ISO-8859-8 », « ISO-8859-9 », « WINDOWS-1250 », « WINDOWS-1251 », « WINDOWS-1252 », « WINDOWS-1253 », « WINDOWS-1254 », « WINDOWS-1255 ».
      • Le caractère de guillemet est Guillemet double, Guillemet unique ou Aucun caractère de guillemet.
    • Pour le format JSON, la copie directe ne prend en charge que le cas où la table Snowflake de destination ne possède qu’une seule colonne, dont les données sont de type VARIANT, OBJET ou TABLEAU.

      • Le type de compression peut être Aucun, gzip, bzip2 ou deflate.
      • L’encodage conserve sa valeur par défaut ou est défini sur UTF-8.
      • Le mappage de colonnes n’est pas spécifié.
  • Dans la source de l’activité de copie :

    • Colonnes supplémentaires n’est pas spécifié.
    • Si votre source est un dossier, Récursivement est sélectionné.
    • Préfixe, Heure de début (UTC) et Heure de fin (UTC) dans Filtrer par dernière modification et Activer la découverte de partition ne sont pas spécifiés.

Copie intermédiaire vers Snowflake

Lorsque le format ou le magasin de données source ne sont pas compatibles en mode natif avec la commande COPY de Snowflake, comme indiqué dans la dernière section, activez la copie intermédiaire intégrée à l’aide d’une instance de Stockage Blob Azure temporaire. La fonctionnalité de copie intermédiaire vous offre également un meilleur débit. Le service convertit automatiquement les données pour répondre aux exigences de format de données de Snowflake. Il appelle ensuite la commande COPY pour charger les données dans Snowflake. Pour finir, il nettoie vos données temporaires du stockage Blob.

Pour utiliser cette fonctionnalité, créez une connexion Stockage Blob Azure qui fait référence au compte de stockage Azure en tant qu’intermédiaire. Ensuitez, accédez à l’onglet Paramètres pour configurer vos paramètres intermédiaires. Vous devez sélectionner Externe pour configurer la connexion Stockage Blob Azure intermédiaire.

  • Lorsque vous spécifiez Intégration du stockage dans la destination, le Stockage Blob Azure intermédiaire doit être celui que vous avez référencé dans la phase externe dans Snowflake. Veillez à créer une connexion Stockage Blob Azure pour celui-ci avec n’importe quelle authentification prise en charge, et accordez au moins le rôle Lecteur des données blob du stockage au principal du service Snowflake dans le contrôle d’accès (IAM) de Stockage Blob Azure intermédiaire. Le Chemin d’accès de stockage sous Paramètres de préproduction dans l’onglet Paramètres est requis.

  • Lorsque vous ne spécifiez pas Intégration du stockage dans la destination, la connexion Stockage Blob Azure intermédiaire doit utiliser l’authentification par signature d’accès partagé, comme exigé par la commande COPY de Snowflake.

Mappage

Pour la configuration de l’onglet Mappage, accédez à Configurer vos mappages sous l’onglet Mappage.

Paramètres

Pour la configuration de l’onglet Paramètres, accédez à Configurer vos autres paramètres sous l’onglet Paramètres.

Résumé sous forme de tableaux

Les tableaux suivants contiennent plus d’informations sur l’activité de copie dans Snowflake.

Source

Nom Description Valeur Obligatoire Propriété de script JSON
Type de banque de données Votre type de magasin de données. Externe Oui /
Connection Votre connexion au magasin de données source. < votre connexion > Oui connection
Sauvegarde de la base de données Votre base de données que vous utilisez comme source. < votre base de données > Oui database
Utiliser la requête La façon de lire les données de Snowflake. • Table
• Requête
Non • table
• requête
Table Nom de la table à lire. < nom de votre table source> Oui schéma
table
Requête La requête SQL pour lire les données de Snowflake. < nom de votre requête source> Oui query
Intégration du stockage Spécifiez le nom de l’intégration de stockage que vous avez créée dans Snowflake. Pour connaître les étapes préalables à l’utilisation de l’intégration du stockage, consultez Configuration d’une intégration de stockage Snowflake. < votre intégration du stockage > Non storageIntegration
Options de copie Snowflake supplémentaires Options de copie supplémentaires, fournies sous la forme d’un dictionnaire de paires clé-valeur. Exemples : MAX_FILE_SIZE, OVERWRITE. Pour plus d'informations, consultez Options de copie de Snowflake. • Nom
• Valeur
Non additionalCopyOptions
Options de format Snowflake supplémentaires Options de format de fichier supplémentaires, fournies à la commande COPY sous la forme d’un dictionnaire de paires clé-valeur. Exemples : DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Pour plus d’informations, consultez Options de type de format de Snowflake. • Nom
• Valeur
Non additionalFormatOptions

Destination

Remarque

Bien que les instances non-Azure Snowflake soient prises en charge pour la source, seules les instances Azure Snowflake sont actuellement prises en charge pour les destinations Snowflake (également appelées récepteurs dans Azure Data Factory).

Nom Description Valeur Obligatoire Propriété de script JSON
Type de banque de données Votre type de magasin de données. Externe Oui /
Connection Votre connexion au magasin de données de destination. < votre connexion > Oui connection
Sauvegarde de la base de données Votre base de données que vous utilisez comme destination. < votre base de données> Oui /
Table Votre table de données de destination. < nom de votre table de destination> Oui • schéma
• table
Script de pré-copie Une requête SQL pour l’activité de copie, à exécuter avant l’écriture de données dans Snowflake à chaque exécution. Utilisez cette propriété pour nettoyer les données préchargées. < votre script de pré-copie> NO preCopyScript
Intégration du stockage Spécifiez le nom de l’intégration de stockage que vous avez créée dans Snowflake. Pour connaître les étapes préalables à l’utilisation de l’intégration du stockage, consultez Configuration d’une intégration de stockage Snowflake. < votre intégration du stockage > Non storageIntegration
Options de copie Snowflake supplémentaires Options de copie supplémentaires, fournies sous la forme d’un dictionnaire de paires clé-valeur. Exemples : ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Pour plus d'informations, consultez Options de copie de Snowflake. • Nom
• Valeur
Non additionalCopyOptions
Options de format Snowflake supplémentaires Options de format de fichier supplémentaires, fournies à la commande COPY sous la forme d’un dictionnaire de paires clé-valeur. Exemples : DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Pour plus d’informations, consultez Options de type de format de Snowflake. • Nom
• Valeur
Non additionalFormatOptions