Compartir a través de


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 muestra cómo empezar a trabajar rápidamente con Databricks Connect usando Scala con IntelliJ IDEA y el plugin de Scala.

Databricks Connect le permite conectar los clústeres de Azure Databricks a entornos de desarrollo integrado populares como IntelliJ IDEA, servidores de cuadernos y otras aplicaciones personalizadas. Consulte ¿Qué es Databricks Connect?.

Tutorial

Para omitir este tutorial y usar en su lugar un IDE diferente, consulte Pasos siguientes.

Requisitos

Para completar este tutorial, debe cumplir los siguientes requisitos:

  • El área de trabajo y el clúster de Azure Databricks de destino deben cumplir los requisitos de la configuración de un clúster para Databricks Connect.

  • Debe tener disponible el identificador de clúster. Para obtener el identificador del clúster, en el área de trabajo, haga clic en Proceso en la barra lateral y luego haga clic en el nombre del clúster. En la barra de direcciones del explorador web, copie la cadena de caracteres entre clusters y configuration de la dirección URL.

  • Tiene el kit de desarrollo de Java (JDK) instalado en la máquina de desarrollo. Databricks recomienda que la versión de la instalación de JDK que use coincida con la versión de JDK del clúster de Azure Databricks. En la tabla siguiente se muestra la versión de JDK para cada Databricks Runtime compatible.

    Versión de Databricks Runtime Versión de JDK
    13.3 LTS - 15.0,
    13.3 ML LTS - 15.0 ML
    JDK 8

    Nota:

    Si no tiene instalado un JDK o si tiene varias instalaciones de JDK en el equipo de desarrollo, puede instalar o elegir un JDK específico más adelante en el paso 1. La elección de una instalación de JDK inferior o superior a la versión de JDK en el clúster podría producir resultados inesperados o que el código no se ejecute.

  • Tiene IntelliJ IDEA instalado. Este tutorial se ha probado con IntelliJ IDEA Community Edition 2023.3.6. Si usa otra versión o edición de IntelliJ IDEA, las instrucciones siguientes pueden variar.

  • Tiene instalado el complemento de Scala para IntelliJ IDEA.

Paso 1: configuración de la autenticación de Azure Databricks

En este tutorial se usa Azure Databricks Autenticación de usuario a máquina (U2M) de OAuth y un perfil de configuración de Azure Databricks para autenticarse con el área de trabajo de Azure Databricks. Para usar un tipo de autenticación diferente en su lugar, consulte Configuración de propiedades de conexión.

La configuración de la autenticación U2M de OAuth requiere la CLI de Databricks, como se indica a continuación:

  1. Si aún no está instalado, instale la CLI de Databricks de la siguiente manera:

    Linux, macOS

    Use Homebrew para instalar la CLI de Databricks mediante la ejecución de los dos comandos siguientes:

    brew tap databricks/tap
    brew install databricks
    

    Windows

    Puede usar winget, Chocolatey o el Subsistema de Windows para Linux (WSL) a fin de instalar la CLI de Databricks. Si no puede usar winget, Chocolatey o WSL, debe omitir este procedimiento y usar el símbolo del sistema o PowerShell para instalar la CLI de Databricks desde el origen en su lugar.

    Nota:

    La instalación de la CLI de Databricks con Chocolatey es Experimental.

    A fin de usar winget para instalar la CLI de Databricks, ejecute los dos comandos siguientes y reinicie el símbolo del sistema:

    winget search databricks
    winget install Databricks.DatabricksCLI
    

    Para usar Chocolatey a fin de instalar la CLI de Databricks, ejecute el siguiente comando:

    choco install databricks-cli
    

    Para usar WSL a fin de instalar la CLI de Databricks, haga lo siguiente:

    1. Instale curl y zip mediante WSL. Para más información, consulte la documentación del sistema operativo.

    2. Use WSL para instalar la CLI de Databricks mediante la ejecución del siguiente comando:

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. Confirme que la CLI de Databricks está instalada mediante la ejecución del siguiente comando, que muestra la versión actual instalada de la CLI de Databricks: Esta versión debe ser 0.205.0 o superior.

    databricks -v
    

    Nota:

    Si ejecuta databricks pero recibe un error como command not found: databricks, o si ejecuta databricks -v y aparece un número de versión de 0.18 o inferior, significa que la máquina no encuentra la versión correcta del ejecutable de la CLI de Databricks. Para corregirlo, consulte Comprobación de la instalación de la CLI.

Inicie la autenticación U2M de OAuth, como se indica a continuación:

  1. Use la CLI de Databricks para iniciar la administración de tokens de OAuth localmente mediante la ejecución del siguiente comando para cada área de trabajo de destino.

    En el comando siguiente, reemplace <workspace-url> por la dirección URL de Azure Databricks por área de trabajo, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --configure-cluster --host <workspace-url>
    
  2. La CLI de Databricks le pide que guarde la información que especificó como un perfil de configuración de Azure Databricks. Presione Enter para aceptar el nombre del perfil sugerido o escriba el nombre de un perfil nuevo o existente. Cualquier perfil existente con el mismo nombre se sobrescribe con la información que especificó. Puede usar perfiles para cambiar rápidamente el contexto de autenticación entre varias áreas de trabajo.

    Para obtener una lista de los perfiles existentes, en un terminal o símbolo del sistema independiente, use la CLI de Databricks para ejecutar el comando databricks auth profiles. Para ver la configuración existente de un perfil específico, ejecute el comando databricks auth env --profile <profile-name>.

  3. En el explorador web, complete las instrucciones en pantalla para iniciar sesión en el área de trabajo de Azure Databricks.

  4. En la lista de clústeres disponibles que aparecen en el terminal o el símbolo del sistema, use las teclas de flecha arriba y flecha abajo para seleccionar el clúster de Azure Databricks de destino en el área de trabajo y a continuación, presione Enter. También puede escribir cualquier parte del nombre para mostrar del clúster para filtrar la lista de clústeres disponibles.

  5. Para ver el valor actual del token de OAuth de un perfil y la próxima marca de tiempo de expiración del token, ejecute uno de los siguientes comandos:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Si tiene varios perfiles con el mismo valor --host, es posible que tenga que especificar las opciones --host y -p para ayudar a la CLI de Databricks a encontrar la información correcta del token de OAuth coincidente.

Paso 2: Crear el proyecto

  1. Inicie IntelliJ IDEA.

  2. En el menú principal, haga clic en Archivo > Nuevo > Proyecto.

  3. Ponga a su proyecto un nombre descriptivo.

  4. 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.

  5. En Idioma, haga clic en Scala.

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

  7. 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.

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

  9. En la lista desplegable Scala, seleccione la versión de Scala que coincida con la versión de Scala en el clúster. En la tabla siguiente se muestra la versión de Scala para cada versión de Databricks Runtime compatible:

    Versión de Databricks Runtime La versión de la escala
    13.3 LTS - 15.0,
    13.3 ML LTS - 15.0 ML
    2.12.15

    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.

  10. Asegúrese de que el cuadro Descargar orígenes junto a Scala está activado.

  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.

Creación del proyecto IntelliJ IDEA

Paso 3: Agregar el paquete de Databricks Connect

  1. 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 el destino project-name>.

  2. 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.

  3. 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.

  4. 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.

Instale el paquete de Databricks Connect

Paso 4: Agregar un código

  1. En la ventana de herramientas Proyecto, abra el archivo denominado Main.scala, en project-name> src > main > scala.

  2. Reemplace cualquier código existente en el archivo por el siguiente código y, a continuación, guarde el archivo, en función del nombre del perfil de configuración.

    Si el perfil de configuración del paso 1 se denomina DEFAULT, reemplace cualquier código existente en el archivo por el siguiente código 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()
      }
    }
    

    Si el perfil de configuración del paso 1 no se denomina DEFAULT, reemplace cualquier código existente en el archivo por el siguiente código. Reemplace el marcador de posición <profile-name> por el nombre del perfil de configuración del paso 1 y guarde el archivo:

    package org.example.application
    
    import com.databricks.connect.DatabricksSession
    import com.databricks.sdk.core.DatabricksConfig
    import org.apache.spark.sql.SparkSession
    
    object Main {
      def main(args: Array[String]): Unit = {
        val config = new DatabricksConfig().setProfile("<profile-name>")
        val spark = DatabricksSession.builder().sdkConfig(config).getOrCreate()
        val df = spark.read.table("samples.nyctaxi.trips")
        df.limit(5).show()
      }
    }
    

Paso 5: ejecutar el código

  1. Inicie el clúster de destino en el área de trabajo remota de Azure Databricks.
  2. Una vez iniciado el clúster, en el menú principal, haga clic en Ejecutar > Ejecutar "Main".
  3. En la ventana de herramientas Ejecutar (Ver > Ventana de herramientas > Ejecutar), en la pestaña Main, aparecen las primeras cinco filas de la tabla samples.nyctaxi.trips.

Paso 6: Depurar el código

  1. Con el clúster en ejecución, en el código anterior, haga clic en el margen junto a df.limit(5).show() para establecer un punto de interrupción.
  2. En el menú principal, haga clic en Ejecutar > Depuración ‘principal’.
  3. 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).
  4. Escriba la expresión df.schema y haga clic en Evaluar para mostrar el esquema de DataFrame.
  5. En la barra lateral de la ventana de la herramienta Depurar, haga clic en el icono de flecha verde (Reanudar programa).
  6. En el panel Consola, aparecen las cinco primeras filas de la tabla samples.nyctaxi.trips.

Depuración del proyecto IntelliJ IDEA

Pasos siguientes

Para obtener más información sobre Databricks Connect, consulte los artículos siguientes: