Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Databricks Connect para Scala en cómputo sin servidor está en Beta.
En este tutorial se proporciona información general sobre cómo empezar a trabajar con Databricks Connect para Scala mediante el proceso sin servidor. Le guía por la creación de un proceso habilitado para el catálogo de Unity (ya sea proceso clásico en modo de acceso estándar o proceso sin servidor) compatible con el archivo JAR de Scala.
Sugerencia
Para crear un proyecto de Scala que esté totalmente configurado para implementar y ejecutar un archivo JAR en computación sin servidor, puede usar Databricks Asset Bundles. Consulte Compilación de un archivo JAR de Scala mediante conjuntos de recursos de Databricks.
Requisitos
El entorno de desarrollo local debe cumplir los requisitos de Databricks Connect para Scala. Consulte Requisitos de uso de Databricks Connect, que incluye lo siguiente:
Kit de desarrollo de Java (JDK)
sbt
CLI de Databricks, configurada para proceso sin servidor:
databricks auth login --configure-serverless --host <workspace-url>
Paso 1: Crear un proyecto de Scala
En primer lugar, cree un proyecto de Scala. Cuando se le solicite, escriba un nombre de proyecto, por ejemplo, my-spark-app.
sbt new scala/scala-seed.g8
Paso 2: Actualizar las versiones de Scala y JDK
Antes de compilar el archivo JAR, asegúrese de que la versión del Kit de desarrollo de Java (JDK) y Scala que se usa para compilar el código son compatibles con el proceso sin servidor. Para obtener más información sobre este requisito, consulte Establecer versiones de JDK y Scala.
Para obtener versiones compatibles, consulte la matriz de compatibilidad de versiones.
La siguiente configuración es para Scala 2.13 y JDK 17, que es compatible con el proceso de acceso dedicado o estándar con Databricks Runtime versión 17 y la versión 4 del entorno sin servidor.
scalaVersion := "2.13.16"
javacOptions ++= Seq("-source", "17", "-target", "17")
scalacOptions ++= Seq("-release", "17")
Paso 3: Agregar Databricks Connect como dependencia
Agregue Databricks Connect como una dependencia para compilar archivos JAR de Scala. Para más información, consulte Dependencias de Spark.
En el archivo de compilación del proyecto de build.sbt Scala, agregue la siguiente referencia a 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"
Paso 4: Agregar otras dependencias
Databricks recomienda empaquetar la aplicación y todas las bibliotecas dependientes en un único archivo JAR, también conocido como JAR über o JAR gordo. Como alternativa, puede instalar bibliotecas dependientes como bibliotecas de ámbito de proceso o en el entorno sin servidor. Para obtener más información, consulte Dependencias de la aplicación.
Importante
Quite cualquier dependencia de Spark. Databricks Connect proporciona las API de Spark. Para más información, consulte Dependencias de Spark.
Paso 5: Agregar código spark
Cree la clase principal en src/main/scala/example/DatabricksExample.scala. Para más información sobre el uso de la sesión de Spark en el código de Scala, consulte Uso de la sesión de Spark de Databricks.
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(" "))
}
}
Paso 6: Ejecutar y compilar el código
A continuación, ejecute el código:
sbt run
Ahora cree un project/assembly.sbt archivo con la línea siguiente y, a continuación, compile el proyecto:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.3.1")
sbt assembly
Paso 7: Implementación del archivo JAR
Ahora implemente el archivo JAR mediante una tarea JAR desde la interfaz de usuario o mediante Conjuntos de recursos de Databricks:
Nota:
El archivo JAR que creó también se admite en cómputo estándar. Sin embargo, para el proceso estándar, un administrador debe agregar coordenadas y rutas de acceso de Maven para las bibliotecas JAR a una lista de permitidos. Consulte Lista de permitidos de bibliotecas y scripts de inicialización en procesos con el modo de acceso estándar (anteriormente modo de acceso compartido).
Databricks recomienda agregar un volumen entero en lugar de JAR individuales a la lista de control de acceso.