Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment générer, déployer et exécuter un fichier JAR Scala avec des bundles de ressources Databricks. Pour plus d’informations sur les offres groupées, consultez Qu’est-ce que databricks Asset Bundles ?.
Par exemple, configuration qui génère un fichier JAR Java et le charge dans le catalogue Unity, consultez Bundle qui charge un fichier JAR dans le catalogue Unity.
Spécifications
Ce tutoriel nécessite que votre espace de travail Databricks réponde aux exigences suivantes :
- Le catalogue Unity est activé. Consultez Activer un espace de travail pour le catalogue Unity.
- Vous devez disposer d’un volume de catalogue Unity dans Databricks où vous souhaitez stocker les artefacts de build et les autorisations pour charger le fichier JAR dans un chemin de volume spécifié. Consultez Créer et gérer des volumes de catalogue Unity.
- Le calcul serverless est activé. Veillez à passer en revue les limitations de la fonctionnalité du calcul serverless.
- Votre espace de travail se trouve dans une région prise en charge.
En outre, votre environnement de développement local doit avoir installé les éléments suivants :
- Kit de développement Java (JDK) 17
- IntelliJ IDEA
- sbt
- CLI Databricks version 0.218.0 ou supérieure. Pour vérifier la version installée de l’interface CLI Databricks, exécutez la commande
databricks -v. Pour installer l’interface CLI Databricks, consultez Installer ou mettre à jour l’interface CLI Databricks. - L’authentification CLI Databricks est configurée avec un
DEFAULTprofil. Pour configurer l’authentification, consultez Configurer l’accès à votre espace de travail.
Étape 1 : Créer le bundle
Tout d’abord, créez le bundle à l’aide de la commande bundle init et du modèle de projet Scala pour bundle.
Le modèle de bundle SCALA JAR crée un bundle qui génère un fichier JAR, le charge sur le volume spécifié et définit un travail avec une tâche Spark avec le fichier JAR qui s’exécute sur le calcul serverless. La Scala dans le projet de modèle définit une fonction UDF qui applique une transformation simple à un DataFrame d'exemple et génère les résultats. La source du modèle se trouve dans le référentiel bundle-examples.
Exécutez la commande suivante dans une fenêtre de terminal sur votre ordinateur de développement local. Cela invite à renseigner la valeur de certains champs obligatoires.
databricks bundle init default-scalaPour un nom pour le projet, entrez
my_scala_project. Cela détermine le nom du répertoire racine de ce bundle. Ce répertoire racine est créé dans votre répertoire de travail actuel.Pour le chemin de destination des volumes, fournissez le chemin des volumes dans le catalogue Unity de Databricks où vous souhaitez créer le répertoire de bundle qui contiendra le JAR et d’autres artefacts, par exemple
/Volumes/my-catalog/my-schema/bundle-volumes.Remarque
Le projet de modèle configure le calcul serverless, mais si vous le modifiez pour utiliser le calcul classique, votre administrateur peut avoir besoin d’autoriser la liste des volumes JAR que vous spécifiez. Consultez Bibliothèques de listes d’autorisation et scripts init sur le calcul en mode d’accès standard (anciennement mode d’accès partagé).
Étape 2 : Configurer les options de machine virtuelle
Importez le répertoire actif dans votre instance IntelliJ où
build.sbtse trouve.Choisissez Java 17 dans IntelliJ. Accédez à Fichier>Structure du projet>SDKs.
Ouvrez
src/main/scala/com/examples/Main.scala.Accédez à la configuration de Main pour ajouter des options de machine virtuelle :
Ajoutez les options suivantes à vos machines virtuelles :
--add-opens=java.base/java.nio=ALL-UNNAMED
Conseil / Astuce
Sinon, ou si vous utilisez Visual Studio Code, ajoutez ce qui suit à votre fichier de build sbt :
fork := true
javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"
Exécutez ensuite votre application à partir du terminal :
sbt run
Étape 3 : Explorer le bundle
Pour afficher les fichiers générés par le modèle, basculez vers le répertoire racine de votre bundle nouvellement créé et ouvrez ce répertoire dans votre IDE. Le modèle utilise sbt pour compiler et empaqueter des fichiers Scala et fonctionne avec Databricks Connect pour le développement local. Pour plus d’informations, consultez le projet généré README.md.
Les fichiers particulièrement importants sont les suivants :
-
databricks.yml: ce fichier spécifie le nom programmatique du bundle, inclut une référence à la définition du travail et spécifie les paramètres relatifs à l’espace de travail cible. -
resources/my_scala_project.job.yml: ce fichier spécifie les paramètres de tâche JAR et de cluster du travail. -
src/: ce répertoire inclut les fichiers sources du projet Scala. -
build.sbt: ce fichier contient des paramètres importants de build et de bibliothèque dépendante. -
README.md: ce fichier contient ces étapes de prise en main, ainsi que les instructions et paramètres de build locaux.
Étape 4 : Valider le fichier de configuration groupé du projet
Ensuite, vérifiez si la configuration de l’offre groupée est valide à l’aide de la commande de validation de bundle.
À partir du répertoire racine, exécutez la commande CLI
bundle validateDatabricks. Entre autres vérifications, cela vérifie que le volume spécifié dans le fichier de configuration existe dans l’espace de travail.databricks bundle validateSi un résumé de la configuration de l’offre groupée est retourné, la validation a réussi. Si des erreurs sont retournées, corrigez les erreurs, puis répétez cette étape.
Si vous apportez des modifications à votre offre groupée après cette étape, répétez cette étape pour vérifier si votre configuration de bundle est toujours valide.
Étape 5 : Déployer le projet local sur l’espace de travail distant
Déployez maintenant le bundle sur votre espace de travail Azure Databricks distant à l’aide de la commande bundle deploy. Cette étape génère le fichier JAR et le charge dans le volume spécifié.
Exécutez la commande CLI
bundle deployDatabricks :databricks bundle deploy -t devPour vérifier si le fichier JAR généré localement a été déployé :
- Dans la barre latérale de votre espace de travail Azure Databricks, cliquez sur l’Explorateur de catalogues.
- Accédez au chemin de destination du volume que vous avez spécifié lorsque vous avez initialisé le bundle. Le fichier JAR doit se trouver dans le dossier suivant à l’intérieur de ce chemin d’accès :
/my_scala_project/dev/<user-name>/.internal/.
Pour vérifier que le travail a été créé :
- Dans la barre latérale de votre espace de travail Azure Databricks, cliquez sur Travaux & Pipelines.
- Vous pouvez aussi sélectionner les filtres Travaux et Je suis le propriétaire.
- Cliquez sur [dev
<your-username>]my_scala_project. - Cliquez sur l’onglet Tâches.
Il devrait y avoir une tâche : main\_task.
Si vous apportez des modifications à votre offre groupée après cette étape, répétez les étapes de validation et de déploiement.
Étape 6 : Exécuter le projet déployé
Enfin, exécutez le travail Azure Databricks à l’aide de la commande bundle run.
À partir du répertoire racine, exécutez la commande CLI
bundle runDatabricks, en spécifiant le nom du travail dans le fichiermy_scala_project.job.ymlde définition :databricks bundle run -t dev my_scala_projectCopiez la valeur de
Run URLqui s’affiche dans votre terminal et collez cette valeur dans votre navigateur pour ouvrir votre espace de travail Azure Databricks.Dans votre espace de travail Azure Databricks, une fois la tâche terminée avec succès et que la barre de titre devient verte, cliquez sur la tâche main\_task pour voir les résultats.