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
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 explique comment utiliser l'activité de copie dans le pipeline Azure Data Factory ou Synapse Analytics pour copier des données de Spark. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.
Important
Le connecteur Spark version 1.0 est à l’étape de suppression. Vous êtes recommandé de mettre à niveau le connecteur Spark de la version 1.0 vers la version 2.0.
Fonctionnalités prises en charge
Ce connecteur Spark 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.
La 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é de copie avec un pipeline, vous pouvez utiliser l’un des outils ou kits sdk suivants :
- Outil Copier des données
- portail Azure
- Kit de développement logiciel (SDK) .NET
- Kit de développement logiciel (SDK) Python
- Azure PowerShell
- REST API
- Modèle Azure Resource Manager
Créer un service lié à Spark à l’aide de l’interface utilisateur
Utilisez les étapes suivantes pour créer un service lié à Spark 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 Spark et sélectionnez le connecteur Spark.
Configurez les informations du service, testez la connexion et créez le nouveau service lié.
Détails de configuration du connecteur
Les sections suivantes donnent des précisions sur les propriétés utilisées pour définir des entités Data Factory propres au connecteur Spark.
Propriétés du service lié
Le connecteur Spark prend désormais en charge la version 2.0. Reportez-vous à cette section pour mettre à niveau votre version de connecteur Spark à partir de la version 1.0. Pour plus d’informations sur la propriété, consultez les sections correspondantes.
Version 2.0
Les propriétés suivantes sont prises en charge pour le service lié Spark version 2.0 :
| Propriété | Descriptif | Obligatoire |
|---|---|---|
| type | La propriété type doit être définie sur Spark. | Oui |
| version | Version que vous spécifiez. La valeur est 2.0. |
Oui |
| host | Adresse IP ou nom d’hôte du serveur Spark. | Oui |
| port | Port TCP utilisé par le serveur Spark pour écouter les connexions clientes. Si vous êtes connecté à Azure HDInsight, spécifiez le port 443. | Oui |
| serverType | Type de serveur Spark. La valeur autorisée est : SparkThriftServer |
Non |
| thriftTransportProtocol | Protocole de transport à utiliser dans la couche Thrift. La valeur autorisée est : HTTP |
Non |
| type d'authentification | Méthode d’authentification utilisée pour accéder au serveur Spark. Valeurs autorisées : Anonymous, UsernameAndPassword, WindowsAzureHDInsightService |
Oui |
| nom d'utilisateur | Nom d’utilisateur utilisé pour accéder au serveur Spark. | Non |
| mot de passe | Mot de passe correspondant à l’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. | Non |
| httpPath | URL partielle correspondant au serveur Spark. Pour le type d’authentification WindowsAzureHDInsightService, la valeur par défaut est /sparkhive2. |
Non |
| Activer SSL | Indique si les connexions au serveur sont chiffrées à l’aide du protocole TLS. La valeur par défaut est true. | Non |
| activerLaValidationDuCertificatDuServeur | Spécifiez s’il faut activer la validation des certificats SSL du serveur lorsque vous vous connectez. Utilisez toujours le magasin de confiance système. La valeur par défaut est true. |
Non |
| 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": "SparkLinkedService",
"properties": {
"type": "Spark",
"version": "2.0",
"typeProperties": {
"host": "<cluster>.azurehdinsight.net",
"port": "<port>",
"authenticationType": "WindowsAzureHDInsightService",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
Version 1.0
Les propriétés suivantes sont prises en charge pour le service connecté Spark version 1.0 :
| Propriété | Descriptif | Obligatoire |
|---|---|---|
| type | La propriété type doit être définie sur Spark. | Oui |
| host | Adresse IP ou nom d’hôte du serveur Spark. | Oui |
| port | Port TCP utilisé par le serveur Spark pour écouter les connexions clientes. Si vous êtes connecté à Azure HDInsight, spécifiez le port 443. | Oui |
| serverType | Type de serveur Spark. Valeurs autorisées : SharkServer, SharkServer2, SparkThriftServer. |
Non |
| thriftTransportProtocol | Protocole de transport à utiliser dans la couche Thrift. Valeurs autorisées : Binary, SASL, HTTP |
Non |
| type d'authentification | Méthode d’authentification utilisée pour accéder au serveur Spark. Valeurs autorisées : Anonymous, Username, UsernameAndPassword, WindowsAzureHDInsightService |
Oui |
| nom d'utilisateur | Nom d’utilisateur utilisé pour accéder au serveur Spark. | Non |
| mot de passe | Mot de passe correspondant à l’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. | Non |
| httpPath | URL partielle correspondant au serveur Spark. | Non |
| Activer SSL | Indique si les connexions au serveur sont chiffrées à l’aide du protocole TLS. La valeur par défaut est false. | Non |
| trustedCertPath | Chemin complet du fichier .pem contenant les certificats d’autorité de certification approuvés permettant de vérifier le serveur en cas de connexion TLS. Cette propriété n’est disponible que si le protocole TLS est utilisé sur un runtime d’intégration auto-hébergé. Valeur par défaut : le fichier cacerts.pem installé avec le runtime d’intégration. | Non |
| UtiliserLeMagasinDeConfianceDuSystème | Indique s’il faut utiliser un certificat d’autorité de certification provenant du magasin de confiance du système ou d’un fichier PEM spécifié. La valeur par défaut est false. | Non |
| allowHostNameCNMismatch | Indique si le nom du certificat TLS/SSL émis par l’autorité de certification doit correspondre au nom d’hôte du serveur en cas de connexion TLS. La valeur par défaut est false. | Non |
| allowSelfSignedServerCert | Indique si les certificats auto-signés provenant du serveur sont autorisés ou non. La valeur par défaut est false. | Non |
| 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": "SparkLinkedService",
"properties": {
"type": "Spark",
"typeProperties": {
"host": "<cluster>.azurehdinsight.net",
"port": "<port>",
"authenticationType": "WindowsAzureHDInsightService",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
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 donne la liste des propriétés prises en charge par le jeu de données Spark.
Pour copier des données de Spark, affectez la valeur SparkObject à 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 : SparkObject | 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": "SparkDataset",
"properties": {
"type": "SparkObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Spark 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 donne la liste des propriétés prises en charge par la source Spark.
Spark en tant que source
Pour copier des données de Spark, affectez la valeur SparkSource au type source de 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 de l’activité de copie doit être définie sur SparkSource. | 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": "CopyFromSpark",
"type": "Copy",
"inputs": [
{
"referenceName": "<Spark input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SparkSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Mappage de type de données pour Spark
Lorsque vous copiez des données depuis et vers Spark, les mappages de types de données intermédiaires suivants sont utilisés 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, consultez Mappage de schéma dans l’activité de copie.
| Type de données Spark | 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) |
|---|---|---|
| Type Booléen | Boolean | Boolean |
| ByteType | Sbyte | Int16 |
| ShortType | Int16 | Int16 |
| IntegerType | Int32 | Int32 |
| LongType | Int64 | Int64 |
| FloatType | Unique | Unique |
| DoubleType | Double | Double |
| DateType | Date et Heure | Date et Heure |
| TimestampType | DateTimeOffset | Date et Heure |
| TypeDeChaîne | String | String |
| BinaryType | Byte[] | Byte[] |
| DecimalType | Decimal | Decimal Chaîne (précision > 28) |
| ArrayType | String | String |
| StructType | String | String |
| MapType | String | String |
| TimestampNTZType | Date et Heure | Date et Heure |
| YearMonthIntervalType | String | Non pris en charge. |
| DayTimeIntervalType | String | Non pris en charge. |
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 Spark
Le tableau suivant présente l’étape de mise en production et les journaux des modifications pour différentes versions du connecteur Spark :
| 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 | • enableServerCertificateValidation est pris en charge. • La valeur par défaut de enableSSL est true. • Pour le type d’authentification WindowsAzureHDInsightService, la valeur httpPath par défaut est /sparkhive2.• DecimalType est lu en tant que type de données décimal. • TimestampType est lu en tant que type de données DateTimeOffset. • YearMonthIntervalType, DayTimeIntervalType sont lus en tant que type de données String. • trustedCertPath, useSystemTrustStore, allowHostNameCNMismatch et allowSelfSignedServerCert ne sont pas pris en charge. • SharkServer et SharkServer2 ne sont pas pris en charge pour serverType. • Les fichiers binaires et SASL ne sont pas pris en charge pour thriftTransportProtocl. • Le type d’authentification du nom d’utilisateur n’est pas pris en charge. |
Mettre à niveau le connecteur Spark de la version 1.0 vers la version 2.0
Dans la page Modifier le service lié , sélectionnez 2.0 pour la version et configurez le service lié en faisant référence aux propriétés du service lié version 2.0.
Le mappage de type de données pour le service lié Spark 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 Spark.
Contenu connexe
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.