Tutorial de Databricks Connect

En este artículo se muestra cómo empezar a trabajar rápidamente con Databricks Connect usando Python y PyCharm.

Databricks Connect le permite conectar los clústeres de Azure Databricks a entornos de desarrollo integrado populares como PyCharm, servidores de cuadernos y otras aplicaciones personalizadas.

Nota:

En este artículo se trata Databricks Connect para Databricks Runtime 13.0 y versiones posteriores.

Para obtener información más allá de este tutorial sobre Databricks Connect para Databricks Runtime 13.0 y versiones posteriores, consulte la referencia de Databricks Connect.

Para saber más sobre Databricks Connect para versiones anteriores de Databricks Runtime, consulte Databricks Connect para Databricks Runtime 12.2 LTS y versiones anteriores.

Requisitos

En el siguiente tutorial práctico se da por hecho lo siguiente:

  • Tiene PyCharm instalado.

  • Tiene un área de trabajo de Azure Databricks y su cuenta correspondiente habilitada para Unity Catalog. Consulte Introducción al uso de Unity Catalog y Habilitación de un área de trabajo para Unity Catalog.

  • Tiene un clúster de Azure Databricks en el área de trabajo. El clúster tiene Databricks Runtime 13.0 o una versión posterior instalado. El clúster también tiene un modo de acceso al clúster de asignados o compartidos. Consulte Modos de acceso.

  • Tiene Python 3 instalado en la máquina de desarrollo y la versión secundaria de la instalación de Python del cliente es la misma que la versión secundaria de Python del clúster de Azure Databricks. En la tabla siguiente se muestra la versión de Python instalada con cada versión de Databricks Runtime.

    Versión de Databricks Runtime Versión de Python
    13.2 ML, 13.2 3.10
    13.1 ML, 13.1 3.10
    13.0 ML, 13.0 3.10

Para completar este tutorial, sigue estos pasos:

Paso 1: Crear un token de acceso personal

En este tutorial se usa la autenticación de tokens de acceso personal de Azure Databricks y un perfil de configuración de Azure Databricks para autenticarse con el área de trabajo de Azure Databricks. Si ya tiene un token de acceso personal de Azure Databricks y un perfil de configuración de Azure Databricks coincidente, vaya al paso 3.

Para crear un token de acceso personal:

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y seleccione Configuración de usuario en la lista desplegable.

  2. En la pestaña Tokens de acceso, haga clic en Generar nuevo token.

  3. (Opcional) Escriba un comentario que le ayude a identificar este token en el futuro y cambie la duración predeterminada del token de 90 días. Para crear un token sin duración (no recomendado), deje el cuadro Duración (días) vacío (en blanco).

  4. Haga clic en Generar.

  5. Copie el token mostrado en una ubicación segura y, a continuación, haga clic en Listo.

    Asegúrese de guardar el token copiado en una ubicación segura. No comparta el token copiado con otros usuarios. Si pierde el token copiado, no podrá volver a generar ese mismo token. Debe repetir el procedimiento para crear un nuevo token. Si pierde el token copiado, o cree que el token se ha visto comprometido, Databricks recomienda eliminar inmediatamente ese token del área de trabajo haciendo clic en la X que aparece junto al token en la pestaña Tokens de acceso.

    Nota:

    Si no puede crear o usar tokens en el área de trabajo, puede deberse a que el administrador del área de trabajo tiene tokens deshabilitados o no le ha concedido permiso para crear o usar tokens. Consulte el administrador del área de trabajo o lo siguiente:

Paso 2: Crear un perfil de configuración de autenticación

Cree un perfil de configuración de autenticación de Azure Databricks para almacenar la información necesaria sobre el token de acceso personal en el equipo local. Los SDK y las herramientas de desarrollo de Azure Databricks pueden usar este perfil de configuración para autenticarse rápidamente con el área de trabajo de Azure Databricks.

Para crear un perfil:

  1. Cree un archivo denominado .databrickscfg en la raíz del directorio principal del usuario en el equipo, si este archivo aún no existe. Para Linux y macOS, la ruta de acceso es ~/.databrickscfg. Para Windows, la ruta de acceso es %USERPROFILE%\.databrickscfg.

  2. Use un editor de texto para agregar el siguiente perfil de configuración a este archivo y, a continuación, guarde el archivo:

    [<some-unique-profile-name>]
    host = <my-workspace-url>
    token = <my-personal-access-token-value>
    cluster_id = <my-cluster-id>
    

    Reemplace los marcadores de posición siguientes:

    Por ejemplo:

    [DEFAULT]
    host = https://my-workspace-url.com
    token = dapi...
    cluster_id = abc123...
    

    Nota:

    Los campos host anteriores y token son para la autenticación de tokens de acceso personal de Azure Databricks, que es el tipo más común de autenticación de Azure Databricks. Algunas herramientas de desarrollo y SDK de Databricks también usan el campo cluster_id en algunos escenarios. Para conocer otros escenarios y tipos de autenticación de Azure Databricks compatibles, consulte la documentación de la herramienta o el SDK o la autenticación unificada del cliente de Databricks.

Paso 3: Crear el proyecto

  1. Inicie PyCharm.
  2. Haga clic en Archivo > Nuevo proyecto.
  3. 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 Python.
  4. Expanda Intérprete de Python: nuevo entorno.
  5. Haga clic en la opción nuevo entorno mediante.
  6. En la lista desplegable, seleccione Virtualenv.
  7. Deje Ubicación con la ruta de acceso sugerida a la venv carpeta.
  8. En Intérprete base, use la lista desplegable o haga clic en los puntos suspensivos para especificar la ruta de acceso al intérprete de Python de los requisitos anteriores.
  9. Haga clic en Crear.

Paso 4: Agregar el paquete de Databricks Connect

  1. En el menú principal de PyCharm, haga clic en Ver > Herramienta de Windows > Paquetes de Python.
  2. En el cuadro de búsqueda, escriba databricks-connect.
  3. En la lista repositorio de PyPI, haga clic en databricks-connect.
  4. En la lista desplegable más reciente del panel de resultados, seleccione la versión que coincida con la versión de Databricks Runtime del clúster. Por ejemplo, si el clúster tiene instalado Databricks Runtime 13.2, seleccione 13.2.0.
  5. Haga clic en Instalar.
  6. Una vez instalado el paquete, puede cerrar la ventana Paquetes de Python.

Paso 5: Agregar un código

  1. En la ventana de herramientas Proyecto, haga clic con el botón derecho en la carpeta raíz del proyecto y, a continuación, haga clic en nuevo archivo Python >.

  2. Escriba main.py y haga clic en archivo de Python.

  3. Escriba el siguiente código en el archivo y guarde el archivo:

    from databricks.connect import DatabricksSession
    
    spark = DatabricksSession.builder.getOrCreate()
    
    df = spark.read.table("samples.nyctaxi.trips")
    df.show(5)
    

Paso 6: Depurar el código

  1. Inicie el clúster de destino en el área de trabajo remota de Azure Databricks.
  2. En el código anterior, haga clic en el medianil situado junto a df.show(5) para establecer un punto de interrupción.
  3. Una vez iniciado el clúster, en el menú principal, haga clic en Ejecutar > Depurar. Si se le solicita, seleccione Depuración principal >.
  4. En la ventana de herramientas Debug (Ver > Herramienta de Windows > Debug), en el panel Variables de la pestaña Depurador, expanda los nodos de variables df y spark para examinar la información sobre el código de las variables df y spark.
  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 de la pestaña Depurador, aparecen las cinco primeras filas de samples.nyctaxi.trips.

Pasos siguientes

Para obtener más información sobre Databricks Connect y experimentar con un ejemplo de código más complejo, consulte la referencia de Databricks Connect. En este artículo de referencia se incluyen instrucciones para los temas siguientes:

  • Tipos de autenticación de Azure Databricks compatibles además de la autenticación de tokens de acceso personal de Azure Databricks.
  • Cómo usar SparkShell y usar IDE además de PyCharm, como JupyterLab, Jupyter Notebook clásico, Visual Studio Code y Eclipse con PyDev.
  • Migrar de Databricks Connect para Databricks Runtime 12.2 LTS y versiones inferiores a Databricks Connect para Databricks Runtime 13.0 y versiones superiores.
  • Cómo usar Databricks Connect para acceder a las utilidades de Databricks.
  • Proporciona solucionadores de problemas.
  • Enumera las limitaciones de Databricks Connect.