Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’APPLIQUE À :
Azure Data Factory
Azure Synapse Analytics
Tip
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 ou Azure Synapse Analytics pour copier des données à partir de Netezza. Il s’appuie sur l’article Activité de copie, qui présente une vue d’ensemble de cette activité.
Tip
Pour le scénario de migration de données de Netezza vers Azure, consultez Migrer des données depuis le serveur Netezza local vers Azure pour en savoir plus.
Important
Le connecteur Netezza version 1.0 est à l’étape de suppression. Il est recommandé de mettre à niveau le connecteur Netezza de la version 1.0 vers la version 2.0.
Fonctionnalités prises en charge
Ce connecteur Netezza est pris en charge pour les capacités suivantes :
| Fonctionnalités prises en charge | IR |
|---|---|
| Activité de copie (source/-) | ① (uniquement pour la version 1.0) ② |
| Activité de recherche | ① (uniquement pour la version 1.0) ② |
① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé
Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs pour l’activité de copie, consultez Magasins de données et formats pris en charge.
Ce connecteur Netezza prend en charge :
- La copie parallèle à partir d’une source. Pour en savoir plus, consultez Copie en parallèle à partir de Netezza.
- Le serveur de performance Netezza version 11.
- Versions Windows dans cet article.
Le service fournit un pilote intégré pour permettre la connectivité. Vous n’avez pas besoin d’installer un pilote manuellement pour utiliser ce connecteur.
Pour la version 2.0, vous devez installer manuellement un pilote ODBC IBM Netezza . Pour la version 1.0, le service fournit un pilote intégré pour activer la connectivité. Vous n’avez pas besoin d’installer un pilote manuellement pour utiliser ce connecteur.
Prerequisites
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.
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.
Pour la version 1.0
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é.
Installer le pilote ODBC Netezza pour la version 2.0
Pour utiliser le connecteur Netezza avec la version 2.0, installez le pilote ODBC IBM Netezza version 11.02.02 ou ultérieure sur l’ordinateur exécutant le runtime d’intégration auto-hébergé.
Get started
Vous pouvez créer un pipeline qui utilise une activité de copie à l’aide du SDK .NET, du SDK Python, d’Azure PowerShell, de l’API REST ou du modèle Azure Resource Manager. Pour obtenir des instructions détaillées sur la création d’un pipeline avec une activité de copie, consultez le Didacticiel de l’activité de copie.
Créer un service lié à Netezza à l’aide de l’interface utilisateur
Utilisez les étapes suivantes pour créer un service lié à Netezza 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 Netezza, puis sélectionnez le connecteur Netezza.
Configurez les informations du service, testez la connexion et créez le nouveau service lié.
Détails de configuration du connecteur
Les sections suivantes fournissent des informations détaillées sur les propriétés utilisables pour définir les entités propres au connecteur Netezza.
Propriétés du service lié
Le connecteur Netezza prend désormais en charge la version 2.0. Reportez-vous à cette section pour mettre à niveau votre version du connecteur Netezza à partir de la version 1.0. Pour plus d’informations sur la propriété, consultez les sections correspondantes.
Version 2.0
Le service lié Netezza prend en charge les propriétés suivantes lors de l’application de la version 2.0 :
| Property | Description | Required |
|---|---|---|
| type | La propriété type doit être définie sur Netezza. | Yes |
| version | Version que vous spécifiez. La valeur est 2.0. |
Yes |
| server | Nom d’hôte ou adresse IP du serveur Netezza. | Yes |
| port | Le numéro de port de l’auditeur du serveur. | Yes |
| database | Nom de la base de données Netezza. | Yes |
| uid | ID utilisateur utilisé pour se connecter à la base de données. | Yes |
| pwd | Mot de passe utilisé pour se connecter à la base de données. | Yes |
| SecurityLevel | Niveau de sécurité que le pilote utilise pour la connexion au magasin de données. Exemple : SecurityLevel=preferredUnSecured. Les valeurs prises en charge sont les suivantes :- Non sécurisé uniquement (onlyUnSecured) : le pilote n’utilise pas SSL. - Non sécurisé préféré (preferredUnSecured) (par défaut) : si le serveur offre un choix, le pilote n’utilise pas SSL. |
No |
| connectVia | Runtime d’intégration à utiliser pour la connexion au magasin de données. Pour plus d’informations, consultez la section Conditions préalables. Vous ne pouvez utiliser que le runtime d’intégration auto-hébergé. | No |
Example
{
"name": "NetezzaLinkedService",
"properties": {
"type": "Netezza",
"version": "2.0",
"typeProperties": {
"server": "<server>",
"port": "<port>",
"database": "<database>",
"uid": "<username>",
"pwd": {
"type": "SecureString",
"value": "<password>"
},
"securityLevel": "preferredUnSecured"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Version 1.0
Les propriétés suivantes sont prises en charge pour le service lié Netezza lors de l’application de la version 1.0 :
| Property | Description | Required |
|---|---|---|
| type | La propriété type doit être définie sur Netezza. | Yes |
| connectionString | Chaîne de connexion ODBC permettant de se connecter à Netezza. 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. |
Yes |
| connectVia | Runtime d’intégration à utiliser pour la connexion au magasin de données. Pour plus d’informations, consultez la section Conditions préalables. À défaut de spécification, l’Azure Integration Runtime par défaut est utilisé. | No |
Voici un exemple de chaîne de connexion typique : Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>. Le tableau suivant décrit les propriétés que vous pouvez définir :
| Property | Description | Required |
|---|---|---|
| SecurityLevel | Niveau de sécurité que le pilote utilise pour la connexion au magasin de données. Exemple : SecurityLevel=preferredUnSecured. Les valeurs prises en charge sont les suivantes :- Non sécurisé uniquement (onlyUnSecured) : le pilote n’utilise pas SSL. - Non sécurisé préféré (preferredUnSecured) (par défaut) : si le serveur offre un choix, le pilote n’utilise pas SSL. |
No |
Note
Le connecteur ne prend pas en charge le SSLv3 car il est officiellement déconseillé par Netezza.
Example
{
"name": "NetezzaLinkedService",
"properties": {
"type": "Netezza",
"typeProperties": {
"connectionString": "Server=<server>;Port=<port>;Database=<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": "NetezzaLinkedService",
"properties": {
"type": "Netezza",
"typeProperties": {
"connectionString": "Server=<server>;Port=<port>;Database=<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
Cette section contient la liste des propriétés prises en charge par le jeu de données Netezza.
Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez Jeux de données.
Pour copier des données à partir de Netezza, définissez la propriété type du jeu de données sur NetezzaTable. Les propriétés prises en charge sont les suivantes :
| Property | Description | Required |
|---|---|---|
| type | La propriété type du jeu de données doit être définie sur : NetezzaTable | Yes |
| schema | 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é) |
Example
{
"name": "NetezzaDataset",
"properties": {
"type": "NetezzaTable",
"linkedServiceName": {
"referenceName": "<Netezza linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {}
}
}
Propriétés de l’activité de copie
Cette section contient la liste des propriétés prises en charge par la source Netezza.
Pour obtenir la liste complète des sections et des propriétés permettant de définir des activités, consultez Pipelines.
Netezza en tant que source
Tip
Pour charger efficacement des données à partir de Netezza à l'aide du partitionnement des données, consultez la section Copie en parallèle à partir de Netezza.
Pour copier des données à partir de Netezza, définissez le type source de l’activité de copie sur NetezzaSource. Les propriétés prises en charge dans la section source de l’activité de copie sont les suivantes :
| Property | Description | Required |
|---|---|---|
| type | La propriété type de la source d’activité de copie doit être définie sur NetezzaSource. | Yes |
| query | Utiliser la requête SQL personnalisée pour lire les données. Exemple : "SELECT * FROM MyTable" |
Non (si « tableName » est spécifié dans dataset) |
| partitionOptions | Spécifie les options de partitionnement des données utilisées pour charger des données à partir de Netezza. Les valeurs autorisées sont : Aucun (par défaut), DataSlice et DynamicRange. Lorsqu’une option de partition est activée (autrement dit, pas None), le degré de parallélisme pour charger simultanément des données à partir d’une base de données Netezza est contrôlé par le paramètre parallelCopies de l’activité de copie. |
No |
| partitionSettings | Spécifiez le groupe de paramètres pour le partitionnement des données. S’applique lorsque l’option de partitionnement n’est pas None. |
No |
| partitionColumnName | Spécifiez le nom de la colonne source dans type entier qu’utilisera 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 est détectée automatiquement et utilisée en tant que colonne de partition. S’applique lorsque l’option de partitionnement est DynamicRange. Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfRangePartitionColumnName dans la clause WHERE. Consultez l’exemple de la section Copie en parallèle à partir de Netezza. |
No |
| partitionUpperBound | Valeur maximale de la colonne de partition à partir de laquelle copier des données. S’applique lorsque de l’option de partition est DynamicRange. Si vous avez recours à une requête pour récupérer des données sources, utilisez ?AdfRangePartitionUpbound dans la clause WHERE. Pour consulter un exemple, voir Copie en parallèle à partir de Netezza. |
No |
| partitionLowerBound | Valeur minimale de la colonne de partition à partir de laquelle copier des données. S’applique lorsque l’option de partitionnement est DynamicRange. Si vous utilisez une requête pour récupérer des données sources, utilisez ?AdfRangePartitionLowbound dans la clause WHERE. Pour consulter un exemple, voir Copie en parallèle à partir de Netezza. |
No |
Example:
"activities":[
{
"name": "CopyFromNetezza",
"type": "Copy",
"inputs": [
{
"referenceName": "<Netezza input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "NetezzaSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Copie en parallèle à partir de Netezza
Le connecteur Netezza de Data Factory propose un partitionnement de données intégré pour copier des données à partir de Netezza, en parallèle. Vous trouverez des options de partitionnement de données dans la table Source de l’activité de copie.
Lorsque vous activez la copie partitionnée, le service exécute des requêtes en parallèle sur votre source Netezza pour charger des données par partitions. Le degré de parallélisme est contrôlé par le paramètre parallelCopies de l’activité de copie. Par exemple, si vous définissez parallelCopies sur quatre, le service génère et exécute simultanément quatre requêtes basées sur l’option de partition et les paramètres que vous avez spécifiés, chacune récupérant des données à partir de votre base de données Netezza.
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 Netezza. 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.
| Scenario | Paramètres suggérés |
|---|---|
| Chargement complet à partir d’une table volumineuse. |
Option de partition : tranche de données. Lors de l’exécution, le service partitionne automatiquement les données en fonction des tranches de données intégrées de Netezza et copie les données par partitions. |
| Chargez une grande quantité de données à l’aide d’une requête personnalisée. |
Option de partition : tranche de données. Requête: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.Lors de l’exécution, le service remplace ?AdfPartitionCount (par le numéro de copie parallèle défini sur l'activité de copie) et ?AdfDataSliceCondition par la logique de partition de tranche de données, puis l'envoie à Netezza. |
| Chargez une grande quantité de données à l’aide d’une requête personnalisée, qui dispose d’une colonne d’entiers avec valeur uniformément distribuée pour le partitionnement par plages de valeurs. |
Options de partition : partition dynamique par spécification de plages de valeurs. Requête: SELECT * FROM <TABLENAME> 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. Limite supérieure de partition et Limite inférieure de partition : spécifiez si vous souhaitez filtrer par rapport à la colonne de partition pour récupérer des données seulement entre la plage 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 à Netezza. 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. |
Exemple : requête avec partition tranche de données
"source": {
"type": "NetezzaSource",
"query": "SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>",
"partitionOption": "DataSlice"
}
Exemple : requête avec partition dynamique par spécification de plages de valeurs
"source": {
"type": "NetezzaSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<dynamic_range_partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column>",
"partitionLowerBound": "<lower_value_of_partition_column>"
}
}
Mappage de type de données pour Netezza
Lorsque vous copiez des données à partir de Netezza, les mappages suivants s’appliquent des types de données de Netezza 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 Netezza | 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) |
|---|---|---|
| BOOLEAN | Boolean | Boolean |
| CHAR | String | String |
| VARCHAR | String | String |
| NCHAR | String | String |
| NVARCHAR | String | String |
| DATE | Date | DateTime |
| TIMESTAMP | DateTime | DateTime |
| TIME | Time | TimeSpan |
| INTERVAL | Non pris en charge | TimeSpan |
| TIME WITH TIME ZONE | String | String |
| NUMERIC(p,s) | Decimal | Decimal |
| REAL | Single | Single |
| DOUBLE PRÉCISION | Double | Double |
| INTEGER | Int32 | Int32 |
| BYTEINT | Int16 | SByte |
| SMALLINT | Int16 | Int16 |
| BIGINT | Int64 | Int64 |
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 Netezza
Le tableau suivant présente l’étape de mise en production et les journaux de modification pour différentes versions du connecteur Netezza :
| Version | Phase de mise en production | Journal des modifications |
|---|---|---|
| Version 1.0 | Removed | Non applicable. |
| Version 2.0 | Version en disponibilité générale disponible | • Prend uniquement en charge le runtime d’intégration auto-hébergé. • BYTEINT est lu en tant que type de données Int16. • DATE est interprété en tant que type de données Date. • TIME est interprété en tant que type de données Heure. • INTERVAL n’est pas pris en charge. |
Mettre à niveau le connecteur Netezza de la version 1.0 vers la version 2.0
- Dans la page Modifier le service lié , sélectionnez 2.0 pour la version. Pour plus d’informations, consultez les propriétés du service lié version 2.0.
- Le mappage de type de données pour le service lié Netezza 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 Netezza.
- Prend uniquement en charge le runtime d’intégration auto-hébergé. Le runtime d’intégration Azure n’est pas pris en charge par la version 2.0.
Contenu connexe
Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs pour l’activité de copie, consultez Magasins de données et formats pris en charge.