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.
Important
Databricks Connect pour Scala sur le calcul serverless est en version bêta.
Ce tutoriel fournit une vue d’ensemble du démarrage avec Databricks Connect pour Scala à l’aide de calcul sans serveur. Il explique comment créer une infrastructure de calcul compatible avec le catalogue Unity, soit un calcul classique en mode d’accès standard, soit un calcul sans serveur, avec un fichier JAR Scala compatible.
Conseil / Astuce
Pour créer un projet Scala entièrement configuré pour déployer et exécuter un fichier JAR sur un calcul serverless, vous pouvez utiliser des bundles de ressources Databricks. Consultez Générer un fichier JAR Scala à l’aide de bundles de ressources Databricks.
Spécifications
Votre environnement de développement local doit répondre aux exigences de Databricks Connect pour Scala. Consultez les exigences d’utilisation de Databricks Connect, qui incluent les éléments suivants :
Kit de développement Java (JDK)
sbt
Interface CLI Databricks configurée pour le calcul sans serveur :
databricks auth login --configure-serverless --host <workspace-url>
Étape 1 : Créer un projet Scala
Commencez par créer un projet Scala. Lorsque vous y êtes invité, entrez un nom de projet, par exemple my-spark-app.
sbt new scala/scala-seed.g8
Étape 2 : Mettre à jour les versions Scala et JDK
Avant de générer votre fichier JAR, vérifiez que la version du Kit de développement Java (JDK) et Scala que vous utilisez pour compiler votre code est prise en charge pour le calcul serverless. Pour plus d’informations sur cette exigence, consultez Définir les versions JDK et Scala.
Pour connaître les versions compatibles, consultez la matrice de prise en charge des versions.
La configuration suivante concerne Scala 2.13 et JDK 17, compatible avec le calcul d’accès dédié ou standard avec Databricks Runtime version 17 et l’environnement serverless version 4.
scalaVersion := "2.13.16"
javacOptions ++= Seq("-source", "17", "-target", "17")
scalacOptions ++= Seq("-release", "17")
Étape 3 : Ajouter Databricks Connect en tant que dépendance
Ajoutez Databricks Connect en tant que dépendance pour générer des fichiers JARs Scala. Pour plus d’informations, consultez dépendances Spark.
Dans le fichier de build de build.sbt votre projet Scala, ajoutez la référence suivante à Databricks Connect.
scalaVersion := "2.13.16"
libraryDependencies += "com.databricks" %% "databricks-connect" % "17.0.+"
// To run with new JVM options, a fork is required, otherwise it uses the same options as the sbt process.
fork := true
javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"
Étape 4 : Ajouter d’autres dépendances
Databricks recommande d’empaqueter votre application et toutes les bibliothèques dépendantes dans un seul fichier JAR, également appelé jar über ou fat. Vous pouvez également installer des bibliothèques dépendantes en tant que bibliothèques à portée de calcul ou dans votre environnement sans serveur. Pour plus d’informations, consultez Dépendances d’application.
Important
Supprimez toute dépendance sur Spark. Les API Spark sont fournies par Databricks Connect. Pour plus d’informations, consultez dépendances Spark.
Étape 5 : Ajouter du code Spark
Créez votre classe principale dans src/main/scala/example/DatabricksExample.scala. Pour plus d’informations sur l’utilisation de la session Spark dans votre code Scala, consultez Utiliser la session Databricks Spark.
package com.examples
import com.databricks.connect.DatabricksSession
import org.apache.spark.sql.{SparkSession}
object SparkJar {
def main(args: Array[String]): Unit = {
val spark: SparkSession = DatabricksSession.builder()
.validateSession(false)
.addCompiledArtifacts(SparkJar.getClass.getProtectionDomain.getCodeSource.getLocation.toURI)
.getOrCreate()
println(spark.version)
println(spark.range(10).limit(3).collect().mkString(" "))
}
}
Étape 6 : Exécuter et générer votre code
Ensuite, exécutez votre code :
sbt run
Créez maintenant un project/assembly.sbt fichier avec la ligne suivante, puis générez le projet :
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.3.1")
sbt assembly
Étape 7 : Déployer votre fichier JAR
Déployez maintenant votre fichier JAR à l’aide d’une tâche JAR à partir de l’interface utilisateur ou à l’aide de Bundles de ressources Databricks :
Remarque
Le fichier JAR que vous avez créé est également pris en charge sur le calcul standard. Toutefois, pour le calcul standard, un administrateur doit ajouter les coordonnées Maven et les chemins des bibliothèques JAR à une liste d'autorisation. 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é).
Databricks recommande d’ajouter un volume entier au lieu de JARs individuels à la liste autorisée.