Compartir a través de


Uso de IntelliJ IDEA con Databricks Connect para Scala

Nota:

Este artículo describe Databricks Connect para Databricks Runtime 13.3 LTS y versiones posteriores.

En este artículo se explica cómo usar Databricks Connect para Scala e IntelliJ IDEA con el complemento de Scala. Databricks Connect le permite conectar los clústeres de Azure Databricks a entornos de desarrollo integrado populares, servidores de cuadernos y otras aplicaciones personalizadas. Consulte ¿Qué es Databricks Connect?

Nota:

Antes de empezar a usar Databricks Connect, es necesario configurar el cliente de Databricks Connect.

Para usar Databricks Connect e IntelliJ IDEA con el complemento Scala para crear, ejecutar y depurar un proyecto sbt de Scala, siga estas instrucciones. Estas instrucciones se probaron con IntelliJ IDEA Community Edition 2023.3.6. Si usa otra versión o edición de IntelliJ IDEA, las instrucciones siguientes pueden variar.

  1. Asegúrese de que el kit de desarrollo de Java (JDK) está instalado localmente. Databricks recomienda que la versión local de JDK coincida con la versión de JDK en el clúster de Azure Databricks.

  2. Inicie IntelliJ IDEA.

  3. Haga clic en Archivo > Nuevo > Proyecto.

  4. Ponga a su proyecto un nombre descriptivo.

  5. En Ubicación, haga clic en el icono de carpeta y complete las instrucciones en pantalla para especificar la ruta de acceso al nuevo proyecto de Scala.

  6. En Idioma, haga clic en Scala.

  7. En Sistema de compilación, haga clic en sbt.

  8. En la lista desplegable JDK, seleccione una instalación existente de JDK en el equipo de desarrollo que coincida con la versión de JDK del clúster, o bien seleccione Descargar JDK y siga las instrucciones en pantalla para descargar un JDK que coincida con la versión de JDK en el clúster.

    Nota:

    La elección de una instalación de JDK anterior o inferior a la versión de JDK en el clúster podría producir resultados inesperados o que el código no se ejecute.

  9. En la lista desplegable sbt, seleccione la versión más reciente.

  10. En la lista desplegable Scala, seleccione la versión de Scala que coincida con la versión de Scala en el clúster.

    Nota:

    La elección de una versión de Scala anterior o inferior a la versión de Scala en el clúster podría producir resultados inesperados o que el código no se ejecute.

  11. En Prefijo de paquete, escriba algún valor de prefijo de paquete para los orígenes del proyecto, por ejemplo org.example.application.

  12. Asegúrese de que la casilla Agregar código de ejemplo esté activada.

  13. Haga clic en Crear.

  14. Agregue el paquete Databricks Connect: con el nuevo proyecto de Scala abierto, en la ventana de la herramienta Proyecto (Ver > Ventana de herramientas > Proyecto), abra el archivo denominado build.sbt, en project-name> target.

  15. Agregue el código siguiente al final del archivo build.sbt, que declara la dependencia del proyecto en una versión específica de la biblioteca de Databricks Connect para Scala:

    libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
    

    Reemplace 14.3.1 por la versión de la biblioteca de Databricks Connect que coincida con la versión de Databricks Runtime en el clúster. Puede encontrar los números de versión de la biblioteca de Databricks Connect en el repositorio central de Maven.

  16. Haga clic en el icono de notificación Cargar cambios de sbt para actualizar su proyecto de Scala con la nueva ubicación y dependencia de la biblioteca.

  17. Espere hasta que desaparezca el indicador de progreso sbt en la parte inferior del IDE. El proceso de carga sbt puede tardar unos minutos en completarse.

  18. Agregue código: en la ventana de herramientas Proyecto, abra el archivo denominado Main.scala, en project-name> src > main > scala.

  19. Reemplace cualquier código existente en el archivo por el código siguiente y, a continuación, guarde el archivo:

    package org.example.application
    
    import com.databricks.connect.DatabricksSession
    import org.apache.spark.sql.SparkSession
    
    object Main {
      def main(args: Array[String]): Unit = {
        val spark = DatabricksSession.builder().remote().getOrCreate()
        val df = spark.read.table("samples.nyctaxi.trips")
        df.limit(5).show()
      }
    }
    
  20. Ejecute el código: inicie el clúster de destino en el área de trabajo remota de Azure Databricks.

  21. Una vez iniciado el clúster, en el menú principal, haga clic en Ejecutar > Ejecutar "Main".

  22. En la ventana de herramientas Ejecutar (Ver > Ventana de herramientas > Ejecutar), en la pestaña Main, aparecen las primeras 5 filas de la tabla samples.nyctaxi.trips. Todo el código de Scala se ejecuta localmente, mientras que todo el código de Scala que involucra operaciones de DataFrame se ejecuta en el clúster en el área de trabajo remota de Azure Databricks y las respuestas de ejecución se envían de vuelta al autor de la llamada local.

  23. Depure el código: inicie el clúster de destino en el área de trabajo remota de Azure Databricks, si aún no se está ejecutando.

  24. En el código anterior, haga clic en el medianil situado junto a df.limit(5).show() para establecer un punto de interrupción.

  25. Una vez iniciado el clúster, en el menú principal, haga clic en Ejecutar > Depurar "Main".

  26. En la ventana de herramientas Depurar (Ver > Ventana de herramientas > Depurar), en la pestaña Consola, haga clic en el icono de la calculadora (Evaluar Expresión).

  27. Escriba la expresión df.schema y haga clic en Evaluar para mostrar el esquema de DataFrame.

  28. En la barra lateral de la ventana de la herramienta Depurar, haga clic en el icono de flecha verde (Reanudar programa).

  29. En el panel Consola, aparecen las cinco primeras filas de la tabla samples.nyctaxi.trips. Todo el código de Scala se ejecuta localmente, mientras que todo el código de Scala que involucra operaciones de DataFrame se ejecuta en el clúster en el área de trabajo remota de Azure Databricks y las respuestas de ejecución se envían de vuelta al autor de la llamada local.