Partager via


Copier des données à partir d’Amazon Redshift à l’aide d’Azure Data Factory ou Azure 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, la business intelligence et le reporting. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article décrit comment utiliser l’activité de copie dans des pipelines Azure Data Factory et Azure Synapse Analytics pour copier des données à partir d’Amazon Redshift. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.

Important

Amazon Redshift version 2.0 offre une prise en charge native d’Amazon Redshift améliorée. Si vous utilisez Amazon Redshift version 1.0 dans votre solution, mettez à niveau votre connecteur Amazon Redshift comme version 1.0 est à la fin de la phase de support. Votre pipeline échoue après le 31 mars 2026. 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 Amazon Redshift est pris en charge pour les fonctionnalité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é pour activer la connectivité. Par conséquent, vous n’avez pas besoin d’installer manuellement un pilote.

Le connecteur Amazon Redshift permet de récupérer des données à partir de Redshift en utilisant soit des requêtes, soit la prise en charge intégrée de Redshift UNLOAD.

Le connecteur prend en charge les versions Windows de cet article.

Conseil

Pour obtenir de meilleures performances lors de la copie de grandes quantités de données à partir de Redshift, utilisez le mécanisme Redshift intégré UNLOAD via Amazon S3. Consultez la section Utiliser UNLOAD pour copier des données à partir d’Amazon Redshift pour plus d’informations.

Prérequis

Si vous copiez des données vers une banque de données locale à l’aide du runtime d’intégration auto-hébergé, accordez au runtime d’intégration (en utilisant l’adresse IP de l’ordinateur) l’accès au cluster Amazon Redshift. Pour davantage d’instructions, consultez la rubrique Authorize access to the cluster (Autoriser l’accès au cluster). Pour la version 2.0, votre version du runtime d’intégration auto-hébergée doit être 5.61 ou ultérieure.

Si vous copiez des données vers une banque de données Azure, consultez la page Plages IP des centres de données Azure pour connaître les plages d’adresses IP de calcul et SQL utilisées par les centres de données Azure.

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é.

Prise en main

Pour effectuer l’activité de copie avec un pipeline, vous pouvez utiliser l’un des outils ou kits sdk suivants :

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

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

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

  2. Recherchez Amazon et sélectionnez le connecteur Amazon Redshift.

    Sélectionnez le connecteur Amazon Redshift.

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

    Configurez un service lié à Amazon Redshift.

Détails de configuration du connecteur

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 Amazon Redshift.

Propriétés du service lié

Les propriétés prises en charge pour le service lié Amazon Redshift sont les suivantes :

Propriété Descriptif Obligatoire
type La propriété type doit être définie sur AmazonRedshift Oui
version Version que vous spécifiez. Oui pour la version 2.0.
serveur Nom d’hôte ou adresse IP du serveur Amazon Redshift. Oui
port Le numéro du port TCP utilisé par le serveur Amazon Redshift pour écouter les connexions clientes. Non, la valeur par défaut est 5439
base de données Nom de la base de données Amazon Redshift. Oui
nom d'utilisateur Nom d’utilisateur ayant accès à la base de données. Oui
mot de passe Mot de passe du compte d’utilisateur. Marquez ce champ en tant que SecureString afin de le stocker de façon sécurisée, ou référencez un secret stocké dans Azure Key Vault. Oui
connectVia Runtime d’intégration à utiliser pour la connexion à la banque de données. Vous pouvez utiliser runtime d’intégration Azure ou un runtime d’intégration auto-hébergé (si votre banque de données se trouve dans un réseau privé). À défaut de spécification, le runtime d’intégration Azure par défaut est utilisé. Non

Note

La version 2.0 prend en charge Azure Integration Runtime et le runtime d’intégration auto-hébergé version 5.61 ou ultérieure. L’installation du pilote n’est plus nécessaire avec Integration Runtime auto-hébergé version 5.61 ou ultérieure.

Exemple : version 2.0

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "version": "2.0",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exemple : version 1.0

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "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 Amazon Redshift.

Pour copier des données à partir d’Amazon Redshift, les propriétés suivantes sont prises en charge :

Propriété Descriptif Obligatoire
type La propriété type du jeu de données doit être définie sur : AmazonRedshiftTable Oui
schéma Nom du schéma. Non (si « query » dans la source de l’activité est spécifié)
tableau 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": "AmazonRedshiftDataset",
    "properties":
    {
        "type": "AmazonRedshiftTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Amazon Redshift linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Si vous utilisiez un dataset typé RelationalTable, il reste pris en charge tel quel, mais nous vous suggérons d’utiliser désormais le nouveau dataset.

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 Amazon Redshift en tant que source.

Amazon Redshift en tant que source

Pour copier des données d’Amazon Redshift, définissez AmazonRedshiftSource 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 AmazonRedshiftSource Oui
requête Utilise la requête personnalisée pour lire des données. Par exemple : select * from MyTable. Non (si « tableName » est spécifié dans dataset)
redshiftUnloadSettings Groupe de propriétés lors de l’utilisation du mécanisme UNLOAD d’Amazon Redshift. Non
s3LinkedServiceName Fait référence à un service Amazon S3 à utiliser comme magasin temporaire en spécifiant un nom de service lié de type « AmazonS3 ». Oui, en cas d’utilisation de UNLOAD
bucketName Indiquez le compartiment S3 pour stocker les données intermédiaires. S’il n’est pas spécifié, le service le génère automatiquement. Oui, en cas d’utilisation de UNLOAD

Exemple : source Amazon Redshift dans une activité de copie utilisant UNLOAD

"source": {
    "type": "AmazonRedshiftSource",
    "query": "<SQL query>",
    "redshiftUnloadSettings": {
        "s3LinkedServiceName": {
            "referenceName": "<Amazon S3 linked service>",
            "type": "LinkedServiceReference"
        },
        "bucketName": "bucketForUnload"
    }
}

Apprenez-en davantage sur l’utilisation de UNLOAD pour copier efficacement des données d’Amazon Redshift en lisant la section suivante.

Utiliser UNLOAD pour copier des données à partir d’Amazon Redshift

UNLOAD est un mécanisme fourni par Amazon Redshift qui peut décharger les résultats d’une requête dans un ou plusieurs fichiers sur Amazon Simple Storage Service (Amazon S3). C’est le moyen recommandé par Amazon pour copier un jeu de données volumineux à partir de Redshift.

Exemple : copier des données d’Amazon Redshift vers Azure Synapse Analytics à l’aide de UNLOAD, une copie intermédiaire et PolyBase

Dans cet exemple de cas d’utilisation, l’activité de copie décharge les données d’Amazon Redshift sur Amazon S3, comme configuré dans « redshiftUnloadSettings », puis copie les données d’Amazon S3 dans un objet blob Azure, comme spécifié dans « stagingSettings », et enfin utilise PolyBase pour charger des données dans Azure Synapse Analytics. Tous les formats intermédiaires sont gérés correctement par l’activité de copie.

Workflow de la copie de Redshift vers Azure Synapse Analytics

"activities":[
    {
        "name": "CopyFromAmazonRedshiftToSQLDW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "AmazonRedshiftDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRedshiftSource",
                "query": "select * from MyTable",
                "redshiftUnloadSettings": {
                    "s3LinkedServiceName": {
                        "referenceName": "AmazonS3LinkedService",
                        "type": "LinkedServiceReference"
                    },
                    "bucketName": "bucketForUnload"
                }
            },
            "sink": {
                "type": "SqlDWSink",
                "allowPolyBase": true
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": "AzureStorageLinkedService",
                "path": "adfstagingcopydata"
            },
            "dataIntegrationUnits": 32
        }
    }
]

Mappage de type de données pour Amazon Redshift

Lorsque vous copiez des données à partir d’Amazon Redshift, les mappages suivants s’appliquent des types de données d’Amazon Redshift 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 d’Amazon Redshift 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)
bigint Int64 Int64
BOOLEAN Booléen Chaîne
CHAR Chaîne Chaîne
DATE Date et heure Date et heure
DECIMAL (Précision <= 28) Decimal Decimal
DÉCIMAL (Précision > 28) Chaîne Chaîne
DOUBLE PRÉCISION Double Double
INTEGER Int32 Int32
real Unique Unique
SMALLINT Int16 Int16
TEXT Chaîne Chaîne
TIMESTAMP Date et heure Date et heure
VARCHAR Chaîne Chaîne

Propriétés de l’activité Lookup

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

Cycle de vie et mise à niveau du connecteur Amazon Redshift

Le tableau suivant présente l’étape de mise en production et les journaux des modifications pour différentes versions du connecteur Amazon Redshift :

Version Phase de mise en production Journal des modifications
Version 1.0 Fin du support annoncé /
Version 2.0 Version en disponibilité générale disponible • Prend en charge Azure Integration Runtime et le runtime d’intégration auto-hébergé version 5.61 ou ultérieure. L’installation du pilote n’est plus nécessaire avec Integration Runtime auto-hébergé version 5.61 ou ultérieure.

• BOOLEAN est lu en tant que type de données booléen.

Mettre à niveau le connecteur Amazon Redshift de la version 1.0 vers la version 2.0

  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é.

  2. Le mappage de type de données pour le service lié Amazon Redshift version 2.0 est différent de celui de la version 1.0. Pour découvrir le mappage de type de données le plus récent, consultez Mappage de type de données pour Amazon Redshift.

  3. Appliquez un runtime d’intégration auto-hébergé avec la version 5.61 ou ultérieure. L’installation du pilote n’est plus nécessaire avec Integration Runtime auto-hébergé version 5.61 ou ultérieure.

Consultez les banques de données prises en charge pour obtenir la liste des banques de données prises en charge en tant que sources et récepteurs par l’activité de copie.