Compartir a través de


Databricks Connect para R

Nota:

En este artículo se habla de la integración sparklyr con Databricks Connect para Databricks Runtime 13.0 y versiones posteriores. Esta integración no la proporciona Databricks ni es compatible directamente con Databricks.

Para preguntas, vaya a Posit Community.

Para notificar problemas, vaya a la sección Problemas del repositorio sparklyr en GitHub.

Para más información, consulte Databricks Connect v2 en la documentación de sparklyr.

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

Nota:

Databricks Connect tiene una compatibilidad limitada con Apache Spark MLlib, ya que Spark MLlib usa RDD, mientras que Databricks Connect solo admite dataframe API. Para utilizar todas las funciones de Spark MLlib de sparklyr, use los cuadernos de Databricks o la función db_repl del paquete brickster.

En este artículo se muestra cómo empezar a trabajar rápidamente con Databricks Connect para R mediante sparklyr y RStudio Desktop.

Guía

En el siguiente tutorial, creará un proyecto en RStudio, instalará y configurará Databricks Connect para Databricks Runtime 13.3 LTS y versiones posteriores, y ejecutará código sencillo en el proceso de su área de trabajo de Databricks desde RStudio. Para obtener información complementaria sobre este tutorial, consulte la sección “Databricks Connect” de Spark Connect y Databricks Connect v2 en el sitio web de sparklyr.

En este tutorial se usa RStudio Desktop y Python 3.10. Si aún no los tiene instalados, instale R y RStudio Desktop y Python 3.10.

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 configuración de proceso 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, a continuación, 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 en la dirección URL.

Paso 1: Crear un token de acceso personal

Nota:

Databricks Connect actualmente solo admite tokens de acceso personal de Azure Databricks para la autenticación R.

En este tutorial se usa la autenticación de tokens de acceso personal de Azure Databricks para autenticarse con el área de trabajo de Azure Databricks.

Si ya tiene un token de acceso personal de Azure Databricks, vaya al Paso 2. Si no está seguro de si ya tiene un token de acceso personal de Azure Databricks, puede seguir este paso sin afectar a ningún otro token de acceso personal de Azure Databricks en su cuenta de usuario.

Para crear un token de acceso personal, siga los pasos descritos en Creación de tokens de acceso personal para los usuarios del área de trabajo.

Paso 2: Crear el proyecto

  1. Inicie RStudio Desktop.
  2. En el menú principal, haga clic en Archivo > Nuevo proyecto.
  3. Seleccione Nuevo directorio.
  4. Seleccione Nuevo proyecto.
  5. En Nombre de directorio y Crear proyecto como subdirectorio de , escriba el nombre del nuevo directorio del proyecto y dónde crear este nuevo directorio de proyecto.
  6. Seleccione Usar renv con este proyecto. Si se le pide que instale una versión actualizada del paquete renv, haga clic en .
  7. Haga clic en Crear proyecto.

Creación del proyecto de RStudio Desktop

Paso 3: Agregar el paquete de Databricks Connect y otras dependencias

  1. En el menú principal de RStudio Desktop, haga clic en Herramientas > Instalar paquetes.

  2. Deje Instalar desde establecido en Repositorio (CRAN).

  3. En Paquetes, escriba la siguiente lista de paquetes que son requisitos previos para el paquete de Databricks Connect y este tutorial:

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. Deje Instalar en biblioteca establecido en el entorno virtual de R.

  5. Asegúrese de que Instalar dependencias está seleccionado.

  6. Haga clic en Instalar.

Instalación de las dependencias del paquete de Databricks Connect

  1. Cuando se le solicite en la vista Consola (Ver > Mover el foco a la consola) para continuar con la instalación, escriba Y. Los paquetes sparklyr y pysparklyr y sus dependencias se instalan en el entorno virtual de R.

  2. En el panel Consola, use reticulate para instalar Python mediante la ejecución del comando siguiente. (Databricks Connect para R requiere que reticulate y Python se instalen primero). En el comando siguiente, reemplace 3.10 por la versión principal y secundaria de la versión de Python instalada en el clúster de Azure Databricks. Para encontrar esta versión principal y secundaria, consulte la sección "Entorno del sistema" de las notas de la versión de Databricks Runtime para la versión utilizada por su clúster en Notas de la versión y compatibilidad de Databricks Runtime.

    reticulate::install_python(version = "3.10")
    
  3. En el panel Consola, instale el paquete Databricks Connect ejecutando el comando siguiente. En el comando siguiente, reemplace 13.3 por la versión de Databricks Runtime instalada en el clúster de Azure Databricks. Para encontrar esta versión, en la página de detalles del clúster en el área de trabajo de Azure Databricks, en la pestaña Configuración , consulte el cuadro Versión del entorno de ejecución de Databricks .

    pysparklyr::install_databricks(version = "13.3")
    

    Si no conoce la versión de Databricks Runtime del clúster o no quiere buscarla, puede ejecutar el siguiente comando en su lugar y pysparklyr consultará el clúster para determinar la versión correcta de Databricks Runtime que se va a usar:

    pysparklyr::install_databricks(cluster_id = "<cluster-id>")
    

    Si quiere que el proyecto se conecte más adelante a un clúster diferente que tenga la misma versión de Databricks Runtime que la especificada, pysparklyr usará el mismo entorno de Python. Si el nuevo clúster tiene otra versión de Databricks Runtime, debe volver a ejecutar el comando pysparklyr::install_databricks con la nueva versión de Databricks Runtime o el identificador de clúster.

Paso 4: Establecer variables de entorno para la dirección URL del área de trabajo, el token de acceso y el identificador de clúster

Databricks no recomienda codificar de forma rígida valores como la dirección URL del área de trabajo de Azure Databricks, el token de acceso personal de Azure Databricks o el identificador de clúster de Azure Databricks en los scripts de R. En su lugar, almacene estos valores por separado, por ejemplo, en variables de entorno locales. En este tutorial se usa la compatibilidad integrada de RStudio Desktop para almacenar variables de entorno en un .Renviron archivo.

  1. Cree un archivo .Renviron para almacenar las variables de entorno, si este archivo aún no existe y, a continuación, abra este archivo para su edición: en RStudio Desktop Consola, ejecute el siguiente comando:

    usethis::edit_r_environ()
    
  2. En el archivo .Renviron que aparece (Ver > Mover el foco al origen), escriba el siguiente contenido. En este contenido, reemplace los siguientes marcadores de posición:

    • Reemplace <workspace-url> por la dirección URL por área de trabajo; por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.
    • Reemplace <personal-access-token> por el del token de acceso personal de Azure Databricks del paso 1.
    • Reemplaza <cluster-id> por tu identificador de clúster de los requisitos de este tutorial.
    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. Guarde el archivo .Renviron.

  4. Cargue las variables de entorno en R: en el menú principal, haga clic en Sesión > Reiniciar R.

Establecimiento de las variables de entorno para Databricks Connect

Paso 5: adición de un código

  1. En el menú principal de RStudio Desktop, haga clic en Archivo> Nuevo archivo > Script R.

  2. Escriba el siguiente código en el archivo y guarde el archivo (Archivo > Guardar) como demo.R:

    library(sparklyr)
    library(dplyr)
    library(dbplyr)
    
    sc <- sparklyr::spark_connect(
      master     = Sys.getenv("DATABRICKS_HOST"),
      cluster_id = Sys.getenv("DATABRICKS_CLUSTER_ID"),
      token      = Sys.getenv("DATABRICKS_TOKEN"),
      method     = "databricks_connect",
      envname    = "r-reticulate"
    )
    
    trips <- dplyr::tbl(
      sc,
      dbplyr::in_catalog("samples", "nyctaxi", "trips")
    )
    
    print(trips, n = 5)
    

Paso 6: ejecutar el código

  1. En RStudio Desktop, en la barra de herramientas del archivo demo.R, haga clic en Origen.

    Ejecución del proyecto de RStudio Desktop

  2. En la Consola, aparecen las cinco primeras filas de la tabla trips.

  3. En la vista Conexiones (Ver > Mostrar conexiones), puede explorar catálogos, esquemas, tablas y vistas disponibles.

    La vista Conexiones del proyecto

Paso 7: Depurar el código

  1. En el archivo demo.R, haga clic en el medianil situado junto a print(trips, n = 5) para establecer un punto de interrupción.
  2. En la barra de herramientas del archivo demo.R, haga clic en Origen.
  3. Cuando el código se detiene en ejecución en el punto de interrupción, puede inspeccionar la variable en la vista Entorno (Vista > Mostrar entorno).
  4. En el menú principal, haga clic en Depurar > Continuar.
  5. En la Consola, aparecen las cinco primeras filas de la tabla trips.

Depuración del proyecto de RStudio Desktop