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, l’aide à la décision et la création de rapports. 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.
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/-) | ① ② |
Activité de recherche | ① ② |
① 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.
Plus précisément, ce connecteur Amazon Redshift prend en charge la récupération de données à partir de Redshift en utilisant une requête ou le support UNLOAD intégré de Redshift.
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).
- 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.
Prise en main
Pour effectuer l’activité Copie avec un pipeline, vous pouvez vous servir de l’un des outils ou kits SDK suivants :
- L’outil Copier des données
- Le portail Azure
- Le kit SDK .NET
- Le kit SDK Python
- Azure PowerShell
- L’API REST
- Le modèle Azure Resource Manager
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.
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 :
Recherchez Amazon et sélectionnez le connecteur Amazon Redshift.
Configurez les informations du service, testez la connexion et créez le nouveau service lié.
Informations 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é | Description | Obligatoire |
---|---|---|
type | La propriété type doit être définie sur : AmazonRedshift | Oui |
server | 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 |
database | Nom de la base de données Amazon Redshift. | Oui |
username | 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 en toute sécurité, 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 |
Exemple :
{
"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é | Description | 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é) |
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": "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é | Description | Obligatoire |
---|---|---|
type | La propriété type de la source d’activité de copie doit être définie sur : AmazonRedshiftSource | Oui |
query | 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.
"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
Lors de la copie de données à partir d’Amazon Redshift, les mappages suivants sont utilisés entre les types de données Amazon Redshift et les types de données intermédiaires utilisés en interne dans 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, voir Mappages de schémas et de types de données.
Type de données d’Amazon Redshift | Type de données de service intermédiaire |
---|---|
bigint | Int64 |
BOOLEAN | String |
CHAR | String |
DATE | DateTime |
DECIMAL | Decimal |
DOUBLE PRECISION | Double |
INTEGER | Int32 |
real | Unique |
SMALLINT | Int16 |
TEXT | String |
TIMESTAMP | DateTime |
VARCHAR | String |
Propriétés de l’activité Lookup
Pour en savoir plus sur les propriétés, consultez Activité Lookup.
Contenu connexe
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.