Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Databricks Connect voor Scala op serverloze berekeningen bevindt zich in de bètaversie.
Deze zelfstudie biedt een overzicht van hoe u aan de slag gaat met Databricks Connect voor Scala met behulp van serverloze compute. Het helpt bij het bouwen van rekenkracht die is ingeschakeld voor Unity Catalog, ofwel een klassieke berekening in standaardtoegangsmodus, of serverloze rekenkracht, die compatibel is met een Scala JAR-bestand.
Aanbeveling
Als u een Scala-project wilt maken dat volledig is geconfigureerd voor het implementeren en uitvoeren van een JAR op serverloze compute, kunt u Databricks Asset Bundles gebruiken. Zie Een Scala JAR bouwen met Databricks Asset Bundles.
Requirements
Uw lokale ontwikkelomgeving moet voldoen aan de vereisten voor Databricks Connect voor Scala. Zie de gebruiksvereisten voor Databricks Connect, waaronder het volgende:
Java Development Kit (JDK)
sbt
Databricks CLI, geconfigureerd voor serverloze berekeningen:
databricks auth login --configure-serverless --host <workspace-url>
Stap 1: Een Scala-project maken
Maak eerst een Scala-project. Wanneer u hierom wordt gevraagd, voert u bijvoorbeeld my-spark-appeen projectnaam in.
sbt new scala/scala-seed.g8
Stap 2: de Scala- en JDK-versies bijwerken
Voordat u uw JAR bouwt, moet u ervoor zorgen dat de versie van de Java Development Kit (JDK) en Scala die u gebruikt om uw code te compileren, worden ondersteund voor serverloze berekeningen. Zie JDK- en Scala-versies instellen voor meer informatie over deze vereiste.
Zie de versieondersteuningsmatrix voor compatibele versies.
De volgende configuratie is bedoeld voor Scala 2.13 en JDK 17, die compatibel is met toegewezen of standaardtoegangs compute met Databricks Runtime versie 17 en serverloze omgeving versie 4.
scalaVersion := "2.13.16"
javacOptions ++= Seq("-source", "17", "-target", "17")
scalacOptions ++= Seq("-release", "17")
Stap 3: Databricks Connect toevoegen als een afhankelijkheid
Voeg Databricks Connect toe als een afhankelijkheid om Scala JAR's te bouwen. Zie Spark-afhankelijkheden voor meer informatie.
Voeg in het buildbestand van build.sbt uw Scala-project de volgende verwijzing toe naar 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"
Stap 4: Andere afhankelijkheden toevoegen
Databricks raadt u aan uw toepassing en alle afhankelijke bibliotheken in één JAR-bestand te verpakken, ook wel bekend als een über - of fat JAR-bestand. U kunt afhankelijke bibliotheken ook installeren als rekenbibliotheken of in uw serverloze omgeving. Zie Toepassingsafhankelijkheden voor meer informatie.
Belangrijk
Verwijder afhankelijkheid van Spark. Spark-API's worden geleverd door Databricks Connect. Zie Spark-afhankelijkheden voor meer informatie.
Stap 5: Spark-code toevoegen
Maak uw hoofdklasse in src/main/scala/example/DatabricksExample.scala. Zie De Databricks Spark-sessie gebruiken voor meer informatie over het gebruik van spark-sessie in uw Scala-code.
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(" "))
}
}
Stap 6: Uw code uitvoeren en bouwen
Voer vervolgens uw code uit:
sbt run
Maak nu een project/assembly.sbt bestand met de volgende regel en bouw vervolgens het project:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.3.1")
sbt assembly
Stap 7: Uw JAR implementeren
Implementeer nu uw JAR-bestand met behulp van een JAR-taak vanuit de gebruikersinterface of met behulp van Databricks Asset Bundles:
Notitie
De JAR die u hebt gemaakt, wordt ook ondersteund op standaard compute. Voor standaard berekenen moet een beheerder echter Maven-coördinaten en -paden voor JAR-bibliotheken toevoegen aan een acceptatielijst. Zie Allowlist-bibliotheken en init-scripts voor berekening met de standaardtoegangsmodus (voorheen gedeelde toegangsmodus).
Databricks raadt aan om een heel volume toe te voegen in plaats van afzonderlijke JAR's aan de acceptatielijst.