Transformer des données en exécutant une activité Jar dans Azure Databricks
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 !
L’activité Azure Databricks Jar dans un pipeline exécute un fichier Spark Jar dans votre cluster Azure Databricks. Cet article s'appuie sur l'article Activités de transformation des données qui présente une vue d'ensemble de la transformation des données et les activités de transformation prises en charge. Azure Databricks est une plateforme gérée pour exécuter Apache Spark.
Pour une présentation de onze minutes et la démonstration de cette fonctionnalité, regardez la vidéo suivante :
Ajouter une activité Jar pour Azure Databricks à un pipeline avec l’interface utilisateur
Si vous souhaitez utiliser une activité Jar pour Azure Databricks dans un pipeline, effectuez les étapes suivantes :
Recherchez Jar dans le volet Activités de pipeline, puis faites glisser une activité Jar vers le canevas du pipeline.
Sélectionnez la nouvelle activité Jar sur le canevas si elle n’est pas déjà sélectionnée.
Sélectionnez l’onglet Azure Databricks pour sélectionner ou créer un service lié Azure Databricks qui va exécuter l’activité Jar.
Sélectionnez l’onglet Paramètres et spécifiez un nom de classe à exécuter sur Azure Databricks, les paramètres facultatifs à passer au fichier Jar et les bibliothèques à installer sur le cluster afin d’exécuter le travail.
Définition de l’activité Databricks Jar
Voici l’exemple de définition JSON d’une activité Databricks Jar :
{
"name": "SparkJarActivity",
"type": "DatabricksSparkJar",
"linkedServiceName": {
"referenceName": "AzureDatabricks",
"type": "LinkedServiceReference"
},
"typeProperties": {
"mainClassName": "org.apache.spark.examples.SparkPi",
"parameters": [ "10" ],
"libraries": [
{
"jar": "dbfs:/docs/sparkpi.jar"
}
]
}
}
Propriétés de l’activité Databricks Jar
Le tableau suivant décrit les propriétés JSON utilisées dans la définition JSON :
Propriété | Description | Obligatoire |
---|---|---|
name | Nom de l'activité dans le pipeline. | Oui |
description | Texte décrivant l’activité. | Non |
type | Pour l’activité Databricks Jar, le type d’activité est DatabricksSparkJar. | Oui |
linkedServiceName | Nom du service lié Databricks sur lequel s’exécute l’activité Jar. Pour en savoir plus sur ce service lié, consultez l’article Services liés de calcul. | Oui |
mainClassName | Nom complet de la classe contenant la méthode principale à exécuter. Cette classe doit être contenue dans un fichier JAR fourni en tant que bibliothèque. Un fichier JAR peut contenir plusieurs classes. Chacune des classes peut contenir une méthode main. | Oui |
parameters | Paramètres qui sont transmis à la méthode principale. Cette propriété est un tableau de chaînes. | Non |
libraries | Liste de bibliothèques à installer sur le cluster qui exécute le travail. Il peut s’agir d’un tableau de <chaîne, objet>. | Oui (au moins une contenant la méthode mainClassName) |
Notes
Problème connu : quand vous utilisez le même cluster interactif pour exécuter simultanément plusieurs activités Databricks Jar (sans redémarrage du cluster), vous pouvez rencontrer un problème connu avec Databricks. En effet, dans ce cas, les paramètres de la première activité sont également utilisés par les activités suivantes. Des paramètres incorrects sont alors transmis aux travaux suivants. Pour limiter ce risque, utilisez plutôt un cluster de travail.
Bibliothèques prises en charge pour les activités Databricks
Dans la définition d’activité Databricks précédente, vous avez spécifié ces types de bibliothèque : jar
, egg
, maven
, pypi
, cran
.
{
"libraries": [
{
"jar": "dbfs:/mnt/libraries/library.jar"
},
{
"egg": "dbfs:/mnt/libraries/library.egg"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2",
"exclusions": [ "slf4j:slf4j" ]
}
},
{
"pypi": {
"package": "simplejson",
"repo": "http://my-pypi-mirror.com"
}
},
{
"cran": {
"package": "ada",
"repo": "https://cran.us.r-project.org"
}
}
]
}
Pour plus d’informations, consultez la documentation Databricks pour les types de bibliothèques.
Comment charger une bibliothèque dans Databricks
Vous pouvez utiliser l’interface utilisateur de l’espace de travail :
Utiliser l’interface utilisateur de l’espace de travail Databricks
Pour obtenir le chemin dbfs de la bibliothèque ajoutée par le biais de l’interface utilisateur, vous pouvez utiliser l’interface CLI de Databricks.
En général, les bibliothèques Jar sont stockées sous dbfs:/FileStore/jars lors de l’utilisation de l’interface utilisateur. Vous pouvez répertorier toutes les répertorier à l’aide de l’interface CLI : databricks fs ls dbfs:/FileStore/job-jars
Vous pouvez utiliser l’interface CLI de Databricks :
Suivez Copier la bibliothèque avec l’interface CLI de Databricks.
Utilisez l’interface CLI de Databricks (étapes d’installation).
Par exemple, pour copier un fichier JAR sur dbfs :
dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar
Contenu connexe
Pour une présentation de onze minutes et la démonstration de cette fonctionnalité, regardez cette vidéo.