Partager via


Configurer Azure Database pour PostgreSQL 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 Azure Database pour PostgreSQL.

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

Accédez à l’onglet Source pour configurer votre source d’activité de copie. Consultez le contenu suivant pour obtenir la configuration détaillée.

Screenshot showing source tab and the list of properties.

Les trois propriétés suivantes sont requises :

  • Type de magasin de données : sélectionnez Externe.
  • Connexion : sélectionnez une connexion Azure Database pour PostgreSQL dans la liste des connexions. Si aucune connexion n’existe, créez une connexion Azure Database pour PostgreSQL en sélectionnant Nouveau.
  • Type de connexion : sélectionnez Azure Database pour PostgreSQL.
  • Utiliser une requête : sélectionnez Table pour lire les données à partir de la table spécifiée ou sélectionnez Requête pour lire des données à l’aide de requêtes.
    • Si vous sélectionnez Table :

      • Table : sélectionnez la table dans la liste déroulante ou sélectionnez Modifier pour l’entrer manuellement afin de lire les données.

        Screenshot showing Use query - Table.

    • Si vous sélectionnez Requête :

      • Requête : spécifie la requête SQL personnalisée pour lire les données. Par exemple, SELECT * FROM mytable ou SELECT * FROM "MyTable".

        Remarque

        Dans PostgreSQL, le nom de l’entité est traité comme insensible à la casse s’il n’est pas placé entre guillemets.

        Screenshot showing Use query - Query.

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

  • Option de partition : spécifie les options de partitionnement de données utilisées pour charger les données à partir d’Azure Database pour PostgreSQL. Lorsqu’une option de partition est activée (autrement dit, pas Aucun), le degré de parallélisme pour charger simultanément les données à partir d’une instance Azure Database pour PostgreSQL est contrôlé par le Degré de parallélisme de copie sous l’onglet des paramètres de l’activité de copie.

    Si vous sélectionnez Aucun, vous choisissez de ne pas utiliser la partition.

    Si vous sélectionnez Partitions physiques de la table :

    Si vous sélectionnez Plage dynamique :

    • Nom de la colonne de partition : indiquez le nom de la colonne source au format entier ou date/heure (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone ou time without time zone) qui sera utilisée par le partitionnement par plages de valeurs pour la copie parallèle. S’il n’est pas spécifié, la clé primaire de la table sera automatiquement détectée et utilisée en tant que colonne de partition.

      Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfRangePartitionColumnName dans la clause WHERE. Pour obtenir un exemple, consultez la section Copier en parallèle à partir de la Base de données pour PostgreSQL.

    • Limite supérieure de la partition : spécifiez la valeur maximale de la colonne de partition pour la copie des données.

      Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfRangePartitionUpbound dans la clause WHERE. Pour obtenir un exemple, consultez la section Copier en parallèle à partir de la Base de données pour PostgreSQL. .

    • Limite inférieure de la partition : spécifiez la valeur minimale de la colonne de partition pour la copie des données.

      Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfRangePartitionLowbound dans la clause WHERE. Pour obtenir un exemple, consultez la section Copier en parallèle à partir de la Base de données pour PostgreSQL.

      Screenshot showing the configuration when you select Dynamic range.

  • Colonnes supplémentaires : ajoutez des colonnes de données supplémentaires au chemin d’accès relatif ou à la valeur statique des fichiers sources du magasin. L'expression est prise en charge pour ce dernier.

Destination

Accédez à l’onglet Destination pour configurer la destination de votre activité de copie. Consultez le contenu suivant pour obtenir la configuration détaillée.

Screenshot showing destination tab and the list of properties.

Les trois propriétés suivantes sont requises :

  • Type de magasin de données : sélectionnez Externe.
  • Connexion : sélectionnez une connexion Azure Database pour PostgreSQL dans la liste des connexions. Si aucune connexion n’existe, créez une connexion Azure Database pour PostgreSQL en sélectionnant Nouveau.
  • Type de connexion : sélectionnez Azure Database pour PostgreSQL.
  • Table : sélectionnez la table dans la liste déroulante ou sélectionnez Modifier pour l’entrer manuellement afin d’écrire des données.

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

  • Méthode d’écriture : sélectionnez la méthode utilisée pour écrire des données dans Azure Database pour PostgreSQL. Choisissez entre Copy command (valeur par défaut et la plus performante) et Bulk insert.

  • Script de pré-copie : spécifiez une requête SQL pour l’activité de copie à exécuter avant d’écrire des données dans Azure Database pour PostgreSQL à chaque exécution. Vous pouvez utiliser cette propriété pour nettoyer des données préchargées.

  • Délai d'attente du lot d'écriture  : Temps d’attente pour que l’opération d’insertion par lot soit terminée avant d’expirer. La valeur autorisée est timespan. La valeur par défaut est 00:30:00 (30 minutes).

  • Taille de lot d’écriture : spécifiez le nombre de lignes chargées dans Azure Database pour PostgreSQL par lot. La valeur autorisée est un entier qui représente le nombre de lignes. La valeur par défaut est 1 000 000.

Mappage

Pour la configuration de l’onglet Mappage, consultez 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.

Copie parallèle à partir de la Base de données Azure pour PostgreSQL

Le connecteur de la Base de données Azure dans l’activité de copie propose un partitionnement de données intégré pour copier des données en parallèle. Vous trouverez des options de partitionnement de données dans l’onglet Source de l’activité de copie.

Lorsque vous activez la copie partitionnée, l’activité de copie exécute des requêtes en parallèle sur la Base de données Azure pour la source PostgreSQL afin de charger des données par partitions. Le degré de parallélisme est contrôlé par le Degré de parallélisme de copie sous l’onglet des paramètres de l’activité de copie. Par exemple, si vous définissez le Degré de parallélisme de copie sur quatre, le service génère et exécute simultanément quatre requêtes en fonction de l’option de partition et des paramètres que vous avez spécifiés, et chaque requête récupère une partie des données à partir de votre instance Azure Database pour PostgreSQL.

Il vous est recommandé d’activer la copie en parallèle avec partitionnement des données, notamment lorsque vous chargez une grande quantité de données à partir de votre Base de données Azure pour PostgreSQL. Voici quelques suggestions de configurations pour différents scénarios. Lors de la copie de données dans un magasin de données basé sur un fichier, il est recommandé d’écrire les données dans un dossier sous la forme de plusieurs fichiers (spécifiez uniquement le nom du dossier). Les performances seront meilleures qu’avec l’écriture de données dans un seul fichier.

Scénario Paramètres suggérés
Chargement complet à partir d’une table volumineuse, avec des partitions physiques. Option de partition : Partitions physiques de la table.

Pendant l’exécution, le service détecte automatiquement les partitions physiques et copie les données par partition.
Chargement complet d’une table volumineuse, sans partitions physiques, avec une colonne entière pour le partitionnement des données. Options de partition : Plage dynamique.
Colonne de partition : Spécifiez la colonne utilisée pour partitionner les données. Si la valeur n’est pas spécifiée, la colonne de la clé primaire est utilisée.
Chargement d’une grande quantité de données à l’aide d’une requête personnalisée, avec des partitions physiques. Option de partition : Partitions physiques de la table.
Requête: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>.
Nom de la partition : Spécifiez le(s) nom(s) de partition à copier. Si ce n’est pas spécifié, le service détecte automatiquement les partitions physiques de la table que vous avez spécifiée dans le jeu de données PostgreSQL.

Pendant l’exécution, le service remplace ?AdfTabularPartitionName par le nom réel de la partition et l’envoie à Azure Database pour PostgreSQL.
Chargement d’une grande quantité de données à l’aide d’une requête personnalisée, sans partitions physiques, et avec une colonne entière pour le partitionnement des données. Options de partition : Plage dynamique.
Requête: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Colonne de partition : Spécifiez la colonne utilisée pour partitionner les données. Vous pouvez procéder au partitionnement par rapport à la colonne avec le type de données entier ou date/DateHeure.
Limite supérieure de la partition et Limite inférieure de la partition : indiquez si vous souhaitez filtrer le contenu par rapport à la colonne de partition pour récupérer uniquement les données entre les plages inférieure et supérieure.

Lors de l’exécution, le service remplace ?AdfRangePartitionColumnName?AdfRangePartitionUpbound, et ?AdfRangePartitionLowbound par le nom réel de la colonne et les plages de valeurs de chaque partition et les envoie à Azure Database pour PostgreSQL.
Par exemple, si votre colonne de partition « ID » est définie sur une limite inférieure de 1 et une limite supérieure de 80, avec une copie en parallèle définie sur 4, le service récupère les données via 4 partitions. Les ID sont inclus entre [1,20], [21, 40], [41, 60] et [61, 80], respectivement.

Meilleures pratiques pour charger des données avec l’option de partition :

  • Choisissez une colonne distinctive comme colonne de partition (p. ex. : clé primaire ou clé unique) pour éviter l’asymétrie des données.
  • Si la table possède une partition intégrée, utilisez l’option de partition « Partitions physiques de la table » pour obtenir de meilleures performances.

Résumé du tableau

Le tableau suivant contient plus d’informations sur l’activité de copie dans Azure Database pour PostgreSQL.

Informations sur la 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 Azure Database pour PostgreSQL > Oui connection
Type de connexion Votre type de connexion source. Base de données Azure pour PostgreSQL Oui /
Utiliser la requête La façon de lire des données. Appliquez Table pour lire les données à partir de la table spécifiée ou appliquez Requête pour lire les données à l’aide de requêtes. Table
Requête
Oui • typeProperties (sous typeProperties ->source)
  - schéma
  - table
• requête
Noms de partition La liste des partitions physiques qui doivent être copiées. Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfTabularPartitionName dans la clause WHERE. < vos noms de partition > Non partitionNames
Nom de la colonne de partition Nom de la colonne source en type entier ou date/DateHeure (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone ou time without time zone) qui sera utilisé par le partitionnement par plages de valeurs pour la copie en parallèle. S’il n’est pas spécifié, la clé primaire de la table sera automatiquement détectée et utilisée en tant que colonne de partition. < vos noms de colonne de partition > Non partitionColumnName
Limite supérieure de partition Valeur maximale de la colonne de partition à partir de laquelle copier des données. Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfRangePartitionUpbound dans la clause WHERE. < votre limite supérieure de partition > Non partitionUpperBound
Limite inférieure de partition Valeur minimale de la colonne de partition à partir de laquelle copier des données. Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfRangePartitionLowbound dans la clause WHERE. < votre limite inférieure de partition > Non partitionLowerBound
Colonnes supplémentaires Ajouter les colonnes de données supplémentaires pour stocker le chemin d’accès relatif ou la valeur statique des fichiers sources. L’expression est prise en charge pour ce dernier. • Name
• Valeur
Non additionalColumns :
• nom
• valeur

Informations de destination

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 Azure Database pour PostgreSQL > Oui connection
Type de connexion Votre type de connexion de destination. Base de données Azure pour PostgreSQL Oui /
Table Votre table de données de destination pour écrire des données. < nom de votre table de destination > Oui typeProperties (sous typeProperties ->sink) :
  - schéma
  - table
Méthode d’écriture Méthode utilisée pour écrire des données dans Azure Database pour PostgreSQL. Copy command (par défaut)
Bulk insert
Non writeMethod:
• CopyCommand
• BulkInsert
Script de pré-copie Requête SQL pour l’activité de copie à exécuter avant d’écrire des données dans Azure Database pour PostgreSQL à chaque exécution. Vous pouvez utiliser cette propriété pour nettoyer des données préchargées. < votre script de pré-copie> Non preCopyScript
Délai d’expiration du lot d’écriture Temps d’attente pour que l’opération d’insertion de lot soit terminée avant d’expirer. intervalle de temps
(la valeur par défaut est 00:30:00 – 30 minutes)
Non writeBatchTimeout
Taille de lot d’écriture Nombre de lignes chargées dans Azure Database pour PostgreSQL par lot. entier
(La valeur par défaut est 1 000 000)
Non writeBatchSize