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.
Importante
RStudio Server hospedado en Databricks está en desuso y solo se encuentra disponible en las versiones 15.4 y posteriores de Databricks Runtime. Para ver otras opciones, consulte Alternativas a RStudio Server hospedado.
Puede utilizar el navegador web para iniciar sesión en el área de trabajo de Azure Databricks y después conectarse a un proceso de Azure Databricks que tenga instalado RStudio Server dentro de esa área de trabajo.
Para el RStudio Server alojado, puede usar la edición de Open Source (OS) o la edición RStudio Workbench (anteriormente RStudio Server Pro) en Azure Databricks. Si desea usar RStudio Workbench (RStudio Server Pro), debe transferir la licencia existente de RStudio Workbench (RStudio Server Pro) a Azure Databricks. Consulte RStudio Workbench (anteriormente RStudio Server Pro).
Databricks recomienda utilizar Databricks Runtime para Machine Learning (Databricks Runtime ML) en un proceso de Azure Databricks con RStudio Server para reducir los tiempos de inicio del proceso. Databricks Runtime ML incluye una versión sin modificar del paquete de RStudio Server Open Source Edition. El código fuente para este paquete está disponible en GitHub. En la tabla siguiente se muestra la versión de RStudio Server Open Source Edition preinstalada en versiones de Databricks Runtime ML.
| Databricks Runtime para Versión ML | Versión de RStudio Server |
|---|---|
| Databricks Runtime 9.1 LTS ML y 10.4 LTS ML | 1.4 |
Código abierto (SO) de RStudio Server
RStudio Server Open Source está preinstalado en clústeres de Azure Databricks que usan Databricks Runtime para Machine Learning (Databricks Runtime ML).
Requisitos
- El clúster debe ser un clúster multiuso.
- Debe tener permiso CAN ATTACH TO para ese clúster. El administrador del clúster puede concederle este permiso. Consulte Permisos de cálculo.
- El clúster no debe tener habilitado el control de acceso a tablas, la terminación automática ni el paso a través de credenciales.
- El clúster no debe usar el modo de accesoestándar.
- El clúster no debe tener la configuración de Spark
spark.databricks.pyspark.enableProcessIsolationestablecida entrue. - Debe tener una licencia flotante de RStudio Server Pro para usar la edición Pro.
Nota:
Aunque el clúster puede usar un modo de acceso que admite Unity Catalog, no puede usar RStudio Server desde ese clúster para acceder a los datos en Unity Catalog.
Abrir RStudio Server
Para abrir el sistema operativo RStudio Server en un clúster de Databricks, haga lo siguiente:
Abra la página de detalles del clúster.
Inicie el clúster y, a continuación, haga clic en la pestaña Aplicaciones :
En la pestaña Aplicaciones, haga clic en el botón Configurar RStudio. Esto genera una contraseña de un solo uso automáticamente. Haga clic en el vínculo Mostrar para mostrar y copiar la contraseña.
Haga clic en el vínculo Abrir RStudio para abrir la interfaz de usuario en una nueva pestaña. Escriba el nombre de usuario y la contraseña en el formulario de inicio de sesión e inicie sesión.
Desde la interfaz de usuario de RStudio puede importar el paquete
SparkRy configurar una sesión deSparkRpara iniciar trabajos de Spark en el clúster.library(SparkR) sparkR.session() # Query the first two rows of a table named "diamonds" in a # schema (database) named "default" and display the query result. df <- SparkR::sql("SELECT * FROM default.diamonds LIMIT 2") showDF(df)
También puede adjuntar el paquete sparklyr y configurar una conexión de Spark.
library(sparklyr) sc <- spark_connect(method = "databricks") # Query a table named "diamonds" and display the first two rows. df <- spark_read_table(sc = sc, name = "diamonds") print(x = df, n = 2)
Integración de RStudio Server
Cuando se usa RStudio Server en Azure Databricks, el demonio de RStudio Server se ejecuta en el nodo de controlador de un clúster de Azure Databricks. La interfaz web de usuario de RStudio se proxea a través de la aplicación web de Azure Databricks, lo que significa que no es necesario realizar ningún cambio en la configuración de red del cluster. En este diagrama se muestra la arquitectura del componente de integración de RStudio.
Advertencia
Azure Databricks pone en marcha el servicio web de RStudio desde el puerto 8787 en el controlador Spark del clúster. Este proxy web está pensado para su uso exclusivo con RStudio. Si inicia otros servicios web en el puerto 8787, podría exponer a los usuarios a posibles vulnerabilidades de seguridad. Ni Databricks ni Microsoft son responsables de los problemas debidos a la instalación de software no compatible en un clúster.
RStudio Workbench (anteriormente RStudio Server Pro)
En esta sección se muestra cómo configurar y empezar a usar RStudio Workbench (anteriormente RStudio Server Pro) en un clúster de Azure Databricks. En función de su licencia, RStudio Workbench puede incluir RStudio Server Pro.
Configuración del servidor de licencias de RStudio
Para usar RStudio Workbench en Azure Databricks debe convertir la licencia Pro en una licencia flotante. Para obtener ayuda, póngase en contacto con help@rstudio.com. Para convertir la licencia se debe configurar un servidor de licencias para RStudio Workbench.
Para configurar un servidor de licencias:
- Inicie una pequeña instancia en la red del proveedor de la nube; el daemon del servidor de licencias es ligero.
- Descargue e instale la versión correspondiente del servidor de licencias de RStudio en la instancia e inicie el servicio. Para obtener instrucciones detalladas, consulte la Guía de Administración de RStudio Workbench.
- Compruebe que el puerto del servidor de licencias está abierto a instancias de Azure Databricks.
Instalación de RStudio Workbench
Para configurar RStudio Workbench en un clúster de Azure Databricks, debe crear un script init para instalar el paquete binario de RStudio Workbench y configurarlo para usar el servidor de licencias para la concesión de licencias.
Nota:
Si tiene previsto instalar RStudio Workbench en una versión de Databricks Runtime que ya incluya el paquete de RStudio Server Open Source Edition, primero debe desinstalar ese paquete para que la instalación se ejecute correctamente.
Debajo se muestra un archivo .sh de ejemplo que puede almacenar como un script de inicialización en una ubicación como, por ejemplo, el directorio principal, como un archivo de área de trabajo, en un volumen de Unity Catalog o en el almacenamiento de objetos. Para más información, consulte Cluster-scoped init scripts (Script de init del ámbito de clúster). El script también realiza configuraciones de autenticación adicionales que simplifican la integración con Azure Databricks.
Advertencia
Los scripts de inicialización con ámbito de clúster en DBFS están al final del ciclo de vida. Almacenar scripts de inicialización en DBFS está presente en algunas áreas de trabajo para admitir cargas de trabajo heredadas, y no se recomienda. Se deben migrar todos los scripts de inicialización almacenados en DBFS. Para obtener instrucciones de migración, consulte Migración de scripts de inicialización desde DBFS.
#!/bin/bash
set -euxo pipefail
if [[ $DB_IS_DRIVER = "TRUE" ]]; then
sudo apt-get update
sudo dpkg --purge rstudio-server # in case open source version is installed.
sudo apt-get install -y gdebi-core alien
## Installing RStudio Workbench
cd /tmp
# You can find new releases at https://rstudio.com/products/rstudio/download-commercial/debian-ubuntu/.
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-workbench-2022.02.1-461.pro1-amd64.deb -O rstudio-workbench.deb
sudo gdebi -n rstudio-workbench.deb
## Configuring authentication
sudo echo 'auth-proxy=1' >> /etc/rstudio/rserver.conf
sudo echo 'auth-proxy-user-header-rewrite=^(.*)$ $1' >> /etc/rstudio/rserver.conf
sudo echo 'auth-proxy-sign-in-url=<domain>/login.html' >> /etc/rstudio/rserver.conf
sudo echo 'admin-enabled=1' >> /etc/rstudio/rserver.conf
sudo echo 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' >> /etc/rstudio/rsession-profile
# Enabling floating license
sudo echo 'server-license-type=remote' >> /etc/rstudio/rserver.conf
# Session configurations
sudo echo 'session-rprofile-on-resume-default=1' >> /etc/rstudio/rsession.conf
sudo echo 'allow-terminal-websockets=0' >> /etc/rstudio/rsession.conf
sudo rstudio-server license-manager license-server <license-server-url>
sudo rstudio-server restart || true
fi
- Reemplace
<domain>por la dirección URL de Azure Databricks y<license-server-url>por la dirección URL del servidor de licencias flotante. - Almacene este archivo
.shcomo un script de inicialización en una ubicación como, por ejemplo, el directorio principal, como un archivo de área de trabajo, en un volumen de Unity Catalog o en el almacenamiento de objetos. Para más información, consulte Cluster-scoped init scripts (Script de init del ámbito de clúster). - Antes de iniciar un clúster, agregue este archivo
.shcomo un script de inicialización desde la ubicación asociada. Para obtener instrucciones, consulte Scripts de inicialización con ámbito de clúster. - Inicie el clúster.
Abre RStudio Workbench
Abra la página de detalles del clúster.
Inicie el clúster y haga clic en la pestaña Aplicaciones :
En la pestaña Aplicaciones, haga clic en el botón Configurar RStudio.
No necesita la contraseña de un solo uso. Haga clic en el vínculo Abrir interfaz de usuario de RStudio y se abrirá una sesión de RStudio Pro autenticada.
Desde la interfaz de usuario de RStudio puede adjuntar el paquete
SparkRy configurar una sesión deSparkRpara iniciar trabajos de Spark en el clúster.library(SparkR) sparkR.session() # Query the first two rows of a table named "diamonds" in a # schema (database) named "default" and display the query result. df <- SparkR::sql("SELECT * FROM default.diamonds LIMIT 2") showDF(df)
También puede adjuntar el paquete sparklyr y configurar una conexión de Spark.
library(sparklyr) sc <- spark_connect(method = "databricks") # Query a table named "diamonds" and display the first two rows. df <- spark_read_table(sc = sc, name = "diamonds") print(x = df, n = 2)
Preguntas más frecuentes sobre RStudio Server
¿Cuál es la diferencia entre RStudio Server Open Source Edition y RStudio Workbench?
RStudio Workbench admite una amplia gama de características empresariales que no están disponibles en Open Source Edition. Puede ver la comparación de características en el sitio web de RStudio.
Además, RStudio Server Open Source Edition se distribuye con la licencia pública general de GNU Affero (AGPL), mientras que la versión Pro incluye una licencia comercial para las organizaciones que no pueden usar software de AGPL.
Por último, RStudio Workbench incluye soporte técnico profesional y empresarial de RStudio, PBC, mientras que RStudio Server Open Source Edition no incluye soporte técnico.
¿Puedo usar mi licencia de RStudio Workbench (RStudio Server Pro) en Azure Databricks?
Sí, si ya tiene una licencia Pro o Enterprise para RStudio Server, puede usar esa licencia en Azure Databricks. Consulte RStudio Workbench (anteriormente RStudio Server Pro) para aprender a configurar RStudio Workbench en Azure Databricks.
¿Dónde se ejecuta RStudio Server? ¿Es necesario administrar servicios o servidores adicionales?
Como puede ver en el diagrama de integración de RStudio Server, el demonio de RStudio Server se ejecuta en el nodo controlador (maestro) del clúster de Azure Databricks. Con RStudio Server Open Source Edition, no es necesario ejecutar servidores ni servicios adicionales. Pero en RStudio Workbench debe administrar una instancia independiente que ejecute el servidor de licencias de RStudio.
¿Puedo usar RStudio Server en un clúster estándar?
Nota:
En esta página se describe la interfaz de usuario de clústeres heredados. Para obtener información sobre la nueva interfaz de usuario de clústeres, incluidos los cambios de terminología para los modos de acceso al clúster, consulte Referencia de configuración de proceso. Para ver una comparación entre los tipos de clúster nuevos y los heredados, consulte Cambios en la interfaz de usuario de los clústeres y modos de acceso del clúster.
Sí, puede hacerlo.
¿Puedo usar RStudio Server en un clúster con terminación automática?
No, no puede usar RStudio cuando la terminación automática está habilitada. La terminación automática puede purgar los scripts de usuario y los datos no guardados dentro de una sesión de RStudio. Para proteger a los usuarios frente a este escenario de pérdida de datos no intencionada, RStudio está deshabilitado en esos clústeres de manera predeterminada.
Para los clientes que requieren la limpieza de los recursos de clúster cuando no se usan, Databricks recomienda usar las API de clúster para limpiar clústeres de RStudio según una programación.
¿Cómo debo conservar mi trabajo en RStudio?
Databricks recomienda conservar el trabajo mediante un sistema de control de versiones de RStudio. RStudio tiene compatibilidad con varios sistemas de control de versiones y le permite registrar y administrar sus proyectos. Si no guarda su código mediante una de las siguientes opciones, corre el riesgo de perder su trabajo si un administrador del área de trabajo reinicia o finaliza el clúster.
Una opción es guardar los archivos (código o datos) en el área de trabajo o en un volumen. Por ejemplo, si guarda un archivo en /Workspace/, los archivos no se eliminan cuando el clúster finaliza o se reinicia.
Otra opción es guardar el cuaderno de R en el sistema de archivos local exportándolo como Rmarkdowny luego importando el archivo en la instancia de RStudio. En el blog Uso compartido de cuadernos de R mediante RMarkdown se describen los pasos más detalladamente.
¿Cómo inicio una sesión de SparkR?
Importante
SparkR en Databricks está en desuso en Databricks Runtime 16.0 y versiones posteriores.
SparkR está incluido en Databricks Runtime, pero se debe cargar en RStudio. Ejecute el código siguiente en RStudio para inicializar una sesión de SparkR.
library(SparkR)
sparkR.session()
Si se produce un error al importar el paquete SparkR, ejecute .libPaths() y compruebe que /home/ubuntu/databricks/spark/R/lib está incluido en el resultado.
Si no está incluido, compruebe el contenido de /usr/lib/R/etc/Rprofile.site. Muestre /home/ubuntu/databricks/spark/R/lib/SparkR en el controlador para comprobar que el paquete SparkR está instalado.
¿Cómo inicio una sesión de sparklyr?
El paquete sparklyr debe estar instalado en el clúster. Use uno de los métodos siguientes para instalar el paquete sparklyr:
- Como biblioteca de Azure Databricks
- Comando
install.packages() - Interfaz de usuario de administración de paquetes de RStudio
library(sparklyr)
sc <- spark_connect(method = “databricks”)
¿Cómo se integra RStudio con cuadernos de R de Azure Databricks?
Puede mover el trabajo entre cuadernos y RStudio por medio del control de versiones.
¿Qué es el directorio de trabajo?
Cuando se inicia un proyecto en RStudio, se elige un directorio de trabajo. De manera predeterminada, es el directorio principal del contenedor del controlador (maestro) donde se ejecuta RStudio Server. Si quiere, puede cambiar este directorio.
¿Puedo iniciar aplicaciones de Shiny desde RStudio con Azure Databricks?
Sí, puede desarrollar y ver aplicaciones de Shiny dentro de RStudio Server en Databricks.
No puedo usar terminal ni git dentro de RStudio en Azure Databricks. ¿Cómo puedo arreglarlo?
Asegúrese de haber deshabilitado WebSockets. En RStudio Server Open Source Edition, puede hacerlo desde la interfaz de usuario.
En RStudio Server Pro, puede agregar allow-terminal-websockets=0 a /etc/rstudio/rsession.conf para deshabilitar WebSockets para todos los usuarios.
No veo la pestaña Aplicaciones en detalles del clúster.
Esta característica no está disponible para todos los clientes. Debe estar en el plan Premium.
Alternativas a RStudio Server hospedado
Databricks seguirá admitiendo RStudio Server hospedado en Databricks Runtime 15.4 y versiones anteriores hasta la finalización del soporte. Por ejemplo, Databricks Runtime 15.4 LTS continuará soportando RStudio Server hospedado hasta el 19 de agosto de 2027.
Si necesita más tiempo para migrar, puede seguir usando RStudio Server hospedado hasta la fecha de finalización del soporte técnico del entorno de ejecución. La actualización a un runtime de LTS más reciente, como 15.4, extenderá el período de soporte técnico.
Alternativa 1: Posit Workbench
En asociación con Databricks, Posit PBC proporciona una integración nativa de Posit Workbench para Databricks.
La integración permite conectarse al proceso de Databricks desde RStudio Pro e incluye características como la compatibilidad con Unity Catalog y las credenciales de OAuth administradas de Databricks.
Alternativa 2: RStudio Desktop
Conecte RStudio Desktop a un recurso de proceso de Azure Databricks o a un almacén de SQL desde la máquina de desarrollo local.
Puede utilizar Databricks Connect mediante sparklyr o el controlador ODBC de Databricks a través del paquete odbc R. Este método también admite Unity Catalog.
Alternativa 3: cuadernos de Databricks
Use R en cuadernos de Databricks para una experiencia de desarrollo interactiva integrada con el resto de la plataforma de Databricks.