Partager via


Créer un fichier JAR Scala à l’aide de bundles de ressources Databricks

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 :

En outre, votre environnement de développement local doit avoir installé les éléments suivants :

É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.

  1. 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-scala
    
  2. Pour 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.

  3. 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

  1. Importez le répertoire actif dans votre instance IntelliJ où build.sbt se trouve.

  2. Choisissez Java 17 dans IntelliJ. Accédez à Fichier>Structure du projet>SDKs.

  3. Ouvrez src/main/scala/com/examples/Main.scala.

  4. Accédez à la configuration de Main pour ajouter des options de machine virtuelle :

    Modifier l'élément principal

    Ajouter des options de machine virtuelle

  5. 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.

  1. À partir du répertoire racine, exécutez la commande CLI bundle validate Databricks. 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 validate
    
  2. Si 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é.

  1. Exécutez la commande CLI bundle deploy Databricks :

    databricks bundle deploy -t dev
    
  2. Pour vérifier si le fichier JAR généré localement a été déployé :

    1. Dans la barre latérale de votre espace de travail Azure Databricks, cliquez sur l’Explorateur de catalogues.
    2. 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/.
  3. Pour vérifier que le travail a été créé :

    1. Dans la barre latérale de votre espace de travail Azure Databricks, cliquez sur Travaux & Pipelines.
    2. Vous pouvez aussi sélectionner les filtres Travaux et Je suis le propriétaire.
    3. Cliquez sur [dev <your-username>] my_scala_project.
    4. 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.

  1. À partir du répertoire racine, exécutez la commande CLI bundle run Databricks, en spécifiant le nom du travail dans le fichier my_scala_project.job.ymlde définition :

    databricks bundle run -t dev my_scala_project
    
  2. Copiez la valeur de Run URL qui s’affiche dans votre terminal et collez cette valeur dans votre navigateur pour ouvrir votre espace de travail Azure Databricks.

  3. 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.