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.
En este artículo se describe cómo compilar, implementar y ejecutar un archivo JAR de Scala con Conjuntos de recursos de Databricks. Para obtener información sobre las agrupaciones, consulte ¿Qué son los conjuntos de recursos de Databricks?.
Para obtener una configuración de ejemplo que compila un ARCHIVO JAR de Java y la carga en el catálogo de Unity, consulte Agrupación que carga un archivo JAR en el catálogo de Unity.
Requisitos
Este tutorial requiere que el área de trabajo de Databricks cumpla los siguientes requisitos:
- El catálogo de Unity está habilitado. Consulte Habilitar un área de trabajo para Unity Catalog.
- Debe tener un volumen de Unity Catalog en Databricks donde desee almacenar los artefactos de compilación y permisos para cargar el archivo JAR en una ruta de acceso de volumen especificada. Consulte Creación y administración de volúmenes del catálogo de Unity.
- El proceso sin servidor está habilitado. Asegúrese de revisar las limitaciones de las características de proceso sin servidor.
- El área de trabajo está en una región compatible.
Además, el entorno de desarrollo local debe tener instalado lo siguiente:
- Kit de desarrollo de Java (JDK) 17
- IntelliJ IDEA
- sbt
- CLI de Databricks, versión 0.218.0 o posterior. Para comprobar la versión de la CLI de Databricks instalada, ejecute el comando
databricks -v. Para instalar la CLI de Databricks, consulte Instalación o actualización de la CLI de Databricks. - La autenticación de la CLI de Databricks se configura con un perfil
DEFAULT. Para configurar la autenticación, consulte Configuración del acceso al área de trabajo.
Paso 1: Crear la agrupación
En primer lugar, cree la agrupación mediante el comando bundle init y la plantilla de agrupación de proyectos de Scala.
La plantilla de paquete JAR de Scala crea un paquete que construye un archivo JAR, lo carga en el volumen especificado y define un trabajo con una tarea de Spark utilizando el archivo JAR que se ejecuta en computación sin servidor. Scala del proyecto de plantilla define una UDF que aplica una transformación sencilla a un dataframe de ejemplo y genera los resultados. El origen de la plantilla se encuentra en el repositorio bundle-examples.
Ejecute el comando siguiente en una ventana de terminal en la máquina de desarrollo local. Solicita el valor de algunos campos obligatorios.
databricks bundle init default-scalaPara obtener un nombre para el proyecto, escriba
my_scala_project. Con ello se determina el nombre del directorio raíz de esta agrupación. Este directorio raíz se crea en el directorio de trabajo actual.Para la ruta de acceso de volúmenes, proporcione la ruta de acceso de Unity Catalog en Databricks donde desee que se cree el directorio de agrupación que contendrá el archivo JAR y otros artefactos; por ejemplo,
/Volumes/my-catalog/my-schema/bundle-volumes.Nota:
El proyecto de plantilla configura el cómputo sin servidor, pero si lo cambia para usar cómputo clásico, puede que el administrador tenga que agregar a la lista de permitidos la ruta de Volúmenes JAR que especifique. 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).
Paso 2: Configuración de las opciones de máquina virtual
Importe el directorio actual en intelliJ donde
build.sbtse encuentra.Elija Java 17 en IntelliJ. Vaya a Archivo>Estructura de Proyecto>SDKs.
Abierto
src/main/scala/com/examples/Main.scala.Vaya a la configuración de Main para agregar opciones de máquina virtual:
Agregue lo siguiente a las opciones de máquina virtual:
--add-opens=java.base/java.nio=ALL-UNNAMED
Sugerencia
Como alternativa, o si usa Visual Studio Code, agregue lo siguiente al archivo de compilación sbt:
fork := true
javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"
A continuación, ejecute la aplicación desde el terminal:
sbt run
Paso 3: Explora el paquete
Para ver los archivos que generó la plantilla, cambie al directorio raíz de la agrupación recién creada y abra este directorio en el IDE. La plantilla usa sbt para compilar y empaquetar archivos Scala y funciona con Databricks Connect para el desarrollo local. Para obtener información detallada, consulte el README.md del proyecto generado.
Los archivos de especial interés incluyen los siguientes:
-
databricks.yml: este archivo especifica el nombre de programación del lote, incluye una referencia a la definición del trabajo y especifica la configuración sobre el área de trabajo de destino. -
resources/my_scala_project.job.yml: este archivo especifica la configuración del clúster y la tarea JAR del trabajo. -
src/: este directorio incluye los archivos de origen del proyecto de Scala. -
build.sbt: este archivo contiene configuraciones importantes de compilación y biblioteca dependiente. -
README.md: este archivo contiene estos pasos de introducción y las instrucciones de compilación locales y la configuración.
Paso 4: Validar el archivo de configuración de agrupación del proyecto
A continuación, compruebe si la configuración del lote es válida mediante el comando bundle validate.
En el directorio raíz, ejecute el comando de la CLI
bundle validatede Databricks. Entre otras comprobaciones, esto comprueba que el volumen especificado en el archivo de configuración existe en el área de trabajo.databricks bundle validateSi se devuelve un resumen de la configuración de la agrupación, indica que la validación se ha realizado correctamente. Si se devuelven errores, corrija los errores y repita este paso.
Si realiza algún cambio en la agrupación después de este paso, repita este paso para comprobar si la configuración de la agrupación sigue siendo válida.
Paso 5: Implementación del proyecto local en el área de trabajo remota
Ahora implemente la agrupación en el área de trabajo remota de Azure Databricks mediante el comando bundle deploy. Este paso compila el archivo JAR y lo carga en el volumen especificado.
Ejecute el comando de la CLI
bundle deployde Databricks:databricks bundle deploy -t devPara comprobar si se implementó el archivo JAR compilado localmente:
- En la barra lateral del área de trabajo de Azure Databricks, haga clic en Explorador de catálogos.
- Vaya a la ruta de acceso de destino del volumen que especificó al inicializar la agrupación. El archivo JAR debe encontrarse en la siguiente carpeta dentro de esa ruta de acceso:
/my_scala_project/dev/<user-name>/.internal/.
Para comprobar si se creó el trabajo:
- En la barra lateral del área de trabajo de Azure Databricks, haga clic en Trabajos y canalizaciones.
- Opcionalmente, seleccione los filtros Trabajos y Propiedad de mí .
- Haga clic en [dev
<your-username>]my_scala_project. - Haga clic en la pestaña Tareas.
Debe haber una tarea: main_task.
Si realiza algún cambio en la agrupación después de este paso, repita los pasos de validación e implementación.
Paso 6: ejecución del proyecto implementado
Por último, ejecute el trabajo de Azure Databricks mediante el comando bundle run.
En el directorio raíz, ejecute el comando de la CLI
bundle runde Databricks y especifique el nombre del trabajo en el archivomy_scala_project.job.ymlde definición :databricks bundle run -t dev my_scala_projectCopie el valor de
Run URLque aparece en el terminal y pegue este valor en el explorador web para abrir el área de trabajo de Azure Databricks.En el área de trabajo de Azure Databricks, después de que la tarea se complete correctamente y muestre una barra de título verde, haga clic en la tarea main_task para ver los resultados.