Partager via


Copier des données de Greenplum à l’aide d’Azure Data Factory ou Synapse Analytics

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article explique comment utiliser l’activité de copie dans Azure Data Factory ou Synapse Analytics pour copier des données de Greenplum. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.

Important

Le connecteur Greenplum version 2.0 offre une prise en charge native améliorée de Greenplum. Si vous utilisez le connecteur Greenplum version 1.0 dans votre solution, mettez à niveau le connecteur Greenplum avant le 31 août 2025. Pour plus de détails sur les différences entre la version 2.0 et la version 1.0, reportez-vous à cette section.

Fonctionnalités prises en charge

Ce connecteur Greenplum est pris en charge pour les activités suivantes :

Fonctionnalités prises en charge IR
Activité de copie (source/-) (1) (2)
Activité de recherche (1) (2)

① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé

Pour obtenir la liste des banques de données prises en charge en tant que sources ou récepteurs par l’activité de copie, consultez le tableau Banques de données prises en charge.

Le service fournit un pilote intégré qui permet la connexion. Vous n’avez donc pas besoin d’installer manuellement un pilote à l’aide de ce connecteur.

Prérequis

Si votre magasin de données se trouve dans un réseau local, un réseau virtuel Azure ou un cloud privé virtuel Amazon, vous devez configurer un runtime d’intégration auto-hébergé pour vous y connecter.

Si votre magasin de données est un service de données cloud managé, vous pouvez utiliser Azure Integration Runtime. Si l’accès est limité aux adresses IP qui sont approuvées dans les règles de pare-feu, vous pouvez ajouter les adresses IP Azure Integration Runtime dans la liste d’autorisation.

Vous pouvez également utiliser la fonctionnalité de runtime d’intégration de réseau virtuel managé dans Azure Data Factory pour accéder au réseau local sans installer et configurer un runtime d’intégration auto-hébergé.

Pour plus d’informations sur les mécanismes de sécurité réseau et les options pris en charge par Data Factory, consultez Stratégies d’accès aux données.

Prise en main

Pour effectuer l’activité Copie avec un pipeline, vous pouvez vous servir de l’un des outils ou kits SDK suivants :

Créer un service lié à Greenplum à l’aide de l’interface utilisateur

Utilisez les étapes suivantes pour créer un service lié à Greenplum dans l’interface utilisateur du portail Azure.

  1. Accédez à l’onglet Gérer dans votre espace de travail Azure Data Factory ou Synapse et sélectionnez Services liés, puis cliquez sur Nouveau :

  2. Recherchez Greenplum et sélectionnez le connecteur Greenplum.

    Capture d’écran du connecteur Greenplum.

  3. Configurez les informations du service, testez la connexion et créez le nouveau service lié.

    Capture d’écran de la configuration du service lié pour Greenplum.

Informations de configuration des connecteurs

Les sections suivantes fournissent des informations sur les propriétés utilisées pour définir les entités Data Factory spécifiques du connecteur Greenplum.

Propriétés du service lié

Le connecteur Greenplum prend désormais en charge la version 2.0. Reportez-vous à cette section pour mettre à niveau votre version de connecteur Greenplum à partir de la version 1.0. Pour plus d’informations sur la propriété, consultez les sections correspondantes.

Version 2.0

Le service lié Greenplum prend en charge les propriétés suivantes lors de l’application de la version 2.0 :

Propriété Descriptif Obligatoire
type La propriété de type doit être définie sur Greenplum Oui
Version Version que vous spécifiez. La valeur est 2.0. Oui
hôte Spécifie le nom d’hôte ( et éventuellement le port) sur lequel la base de données est en cours d’exécution. Oui
Port Port TCP du serveur de base de données. La valeur par défaut est 5432. Non
base de données Base de données à laquelle se connecter. Oui
nom d'utilisateur Nom d’utilisateur avec lequel se connecter. Non obligatoire si vous utilisez IntegratedSecurity. Oui
mot de passe Mot de passe avec lequel se connecter. Non obligatoire si vous utilisez IntegratedSecurity. Marquez ce champ comme SecureString pour le stocker en toute sécurité. Vous pouvez également référencer un secret stocké dans Azure Key Vault. Oui
sslMode Contrôle si SSL est utilisé, en fonction de la prise en charge du serveur.
- Disable : SSL est désactivé. Si le serveur impose l’utilisation de SSL, la connexion échoue.
- Allow : privilégie les connexions non SSL si le serveur les autorise, mais autorise les connexions SSL.
- Prefer : privilégie les connexions SSL si le serveur les autorise, mais autorise les connexions sans SSL.
- Require : échec de la connexion si le serveur ne prend pas en charge SSL.
- Verify-ca : échec de la connexion si le serveur ne prend pas en charge SSL. Vérifie également le certificat de serveur.
- Verify-full : échec de la connexion si le serveur ne prend pas en charge SSL. Vérifie également le certificat de serveur en le comparant au nom de l’hôte.
Options : Désactiver (0) / Autoriser (1) / Préférer (2) / Exiger (3) (par défaut) / Verify-ca (4) / Verify-full (5)
Oui
type d'authentification Type d’authentification pour la connexion à la base de données. Prend en charge uniquement Basic. Oui
connectVia Runtime d’intégration à utiliser pour la connexion à la banque de données. Pour plus d’informations, consultez la section Conditions préalables. À défaut de spécification, le runtime d’intégration Azure par défaut est utilisé. Non
Propriétés de connexion supplémentaires :
connexionDélai d’expiration Délai d’attente (en secondes) lors de la tentative d’établissement d’une connexion avant de terminer la tentative et de générer une erreur. La valeur par défaut est 15. Non
commandeDélai d’attente Délai d’attente (en secondes) lors de la tentative d’exécution d’une commande avant de terminer la tentative et de générer une erreur. Défini sur zéro pour l’infini. La valeur par défaut est 30. Non

Exemple :

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exemple : stockage du mot de passe dans Azure Key Vault

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Version 1.0

Le service lié Greenplum prend en charge les propriétés suivantes lors de l’application de la version 1.0 :

Propriété Descriptif Obligatoire
type La propriété de type doit être définie sur Greenplum Oui
connectionString Chaîne de connexion ODBC permettant de se connecter à Greenplum.
Vous pouvez également définir un mot de passe dans Azure Key Vault et extraire la configuration pwd de la chaîne de connexion. Pour plus d’informations, reportez-vous aux exemples suivants et à l’article Stocker des informations d’identification dans Azure Key Vault.
Oui
connectVia Runtime d’intégration à utiliser pour la connexion à la banque de données. Pour plus d’informations, consultez la section Conditions préalables. À défaut de spécification, le runtime d’intégration Azure par défaut est utilisé. Non

Exemple :

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exemple : stockage du mot de passe dans Azure Key Vault

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;",
            "pwd": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propriétés du jeu de données

Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez l’article sur les jeux de données. Cette section fournit la liste des propriétés prises en charge par le jeu de données Greenplum.

Pour copier des données depuis Greenplum, affectez la valeur GreenplumTable à la propriété type du jeu de données. Les propriétés prises en charge sont les suivantes :

Propriété Descriptif Obligatoire
type La propriété type du jeu de données doit être définie sur GreenplumTable Oui
schéma Nom du schéma. Non (si « query » dans la source de l’activité est spécifié)
table Nom de la table. Non (si « query » dans la source de l’activité est spécifié)
tableName Nom de la table avec le schéma. Cette propriété est prise en charge pour la compatibilité descendante. Utilisez schema et table pour une nouvelle charge de travail. Non (si « query » dans la source de l’activité est spécifié)

Exemple

{
    "name": "GreenplumDataset",
    "properties": {
        "type": "GreenplumTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Greenplum linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriétés de l’activité de copie

Pour obtenir la liste complète des sections et des propriétés disponibles pour la définition des activités, consultez l’article Pipelines. Cette section fournit la liste des propriétés prises en charge par la source Greenplum.

GreenplumSource en tant que source

Pour copier des données depuis Greenplum, définissez GreenplumSource comme type de source dans l’activité de copie. Les propriétés prises en charge dans la section source de l’activité de copie sont les suivantes :

Propriété Descriptif Obligatoire
type La propriété type de la source d’activité de copie doit être définie sur GreenplumSource Oui
requête Utiliser la requête SQL personnalisée pour lire les données. Par exemple : "SELECT * FROM MyTable". Non (si « tableName » est spécifié dans dataset)

Exemple :

"activities":[
    {
        "name": "CopyFromGreenplum",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Greenplum input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GreenplumSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Mappage de type de données pour Greenplum

Lorsque vous copiez des données à partir de Greenplum, les mappages suivants s’appliquent des types de données de Greenplum aux types de données internes utilisés par le service. Pour découvrir comment l’activité de copie mappe le schéma et le type de données la source au récepteur, consultez Mappage de schéma dans l’activité de copie.

Type de données Greenplum Type de données de service intermédiaire (pour la version 2.0) Type de données de service intermédiaire (pour la version 1.0)
SmallInt Int16 Int16
Nombre entier Int32 Int32
BigInt Int64 Int64
Décimal (précision <= 28) Décimal Décimal
Décimal (précision > 28) Décimal Chaîne
Numérique Décimal Décimal
Réel Célibataire Célibataire
Double Double Double
SmallSerial Int16 Int16
Série Int32 Int32
BigSerial Int64 Int64
Argent Décimal Chaîne
Carboniser Chaîne Chaîne
Varchar Chaîne Chaîne
Texto Chaîne Chaîne
Bytea Octet[] Octet[]
Horodatage Date et heure Date et heure
Timestamp avec fuseau horaire DateTimeOffset Chaîne
Date (Jour/Mois/Année) Date (Jour/Mois/Année) Date et heure
Heure TimeSpan TimeSpan
Heure avec fuseau horaire DateTimeOffset Chaîne
Intervalle TimeSpan Chaîne
Booléen Booléen Booléen
Point Chaîne Chaîne
Lignes Chaîne Chaîne
Iseg Chaîne Chaîne
Boîte Chaîne Chaîne
Chemin Chaîne Chaîne
Polygone Chaîne Chaîne
Cercle Chaîne Chaîne
Cidre Chaîne Chaîne
Inet Chaîne Chaîne
Macaddr Chaîne Chaîne
Macaddr8 Chaîne Chaîne
Tsvector Chaîne Chaîne
Tsquery Chaîne Chaîne
UUID (Identifiant Unique Universel) Guide Guide
Json Chaîne Chaîne
Jsonb Chaîne Chaîne
Tableau Chaîne Chaîne
bit Octet[] Octet[]
Variables de bits Octet[] Octet[]
XML Chaîne Chaîne
IntArray Chaîne Chaîne
TextArray Chaîne Chaîne
NumericArray Chaîne Chaîne
DateArray Chaîne Chaîne
Gamme Chaîne Chaîne
Bpchar Chaîne Chaîne

Propriétés de l’activité Lookup

Pour en savoir plus sur les propriétés, consultez Activité Lookup.

Mettre à niveau le connecteur Greenplum

Voici les étapes qui vous aident à mettre à niveau votre connecteur Greenplum :

  1. Dans la page Modifier le service lié , sélectionnez la version 2.0 et configurez le service lié en faisant référence aux propriétés du service lié version 2.0.

  2. Le mappage de type de données pour le service lié Greenplum version 2.0 est différent de celui de la version 1.0. Pour en savoir plus sur le mappage de type de données le plus récent, consultez Mappage de type de données pour Greenplum.

Différences entre Greenplum version 2.0 et version 1.0

Le connecteur Greenplum version 2.0 offre de nouvelles fonctionnalités et est compatible avec la plupart des fonctionnalités de la version 1.0. Le tableau ci-dessous présente les différences de fonctionnalités entre la version 2.0 et la version 1.0.

Version 2.0 Version 1.0
Les mappages suivants sont utilisés pour passer des types de données de Greenplum à un type de données de service intermédiaire.

Décimal (précision > 28) -> Décimal
Argent -> Décimal
Timestamp avec fuseau horaire -> DateTimeOffset
Heure avec fuseau horaire -> DateTimeOffset
Intervalle -> TimeSpan
Les mappages suivants sont utilisés pour passer des types de données de Greenplum à un type de données de service intermédiaire.

Décimal (précision > 28) -> Chaîne
Argent -> Chaîne
Timestamp avec fuseau horaire ->Chaîne
Heure avec fuseau horaire -> Chaîne de caractères
Intervalle -> Chaîne

Pour obtenir une liste des magasins de données pris en charge comme sources et récepteurs par l’activité de copie, consultez la section sur les magasins de données pris en charge.