Utilizar dbx para sincronizar archivos locales con áreas de trabajo remotas en tiempo real
Importante
Esta documentación se ha retirado y es posible que no se actualice.
Databricks recomienda que en lugar de dbx sync
, use las versiones 0.205 o posteriores de la CLI de Databricks, que incluyen funcionalidad similar a dbx sync
mediante el comando databricks sync
.
La extensión de Databricks para Visual Studio Code también incluye una funcionalidad similar a dbx sync
integrada en el IDE de Visual Studio Code. Además, tenga en cuenta que dbx sync
puede sincronizar los cambios de archivo de una máquina de desarrollo local con DBFS, ubicaciones de área de trabajo y carpetas de Git de Databricks en las áreas de trabajo de Azure Databricks. La extensión de Databricks para Visual Studio Code admite la sincronización de cambios de archivo solo en los archivos de usuario del área de trabajo (/Users
) y carpetas de Git de Databricks (/Repos
).
Nota:
Este artículo trata sobre dbx
de Databricks Labs, que se proporciona tal cual y no es apoyado por Databricks a través de los canales de soporte técnico del cliente. Las preguntas y solicitudes de funciones pueden comunicarse a través de la página de incidencias del repositorio databrickslabs/dbx en GitHub.
La sincronización en tiempo real de los cambios en los archivos se puede realizar en la máquina de desarrollo local con sus archivos correspondientes en las áreas de trabajo de Azure Databricks mediante dbx de Databricks Labs. Estos archivos de áreas de trabajo pueden estar en DBFS o en carpetas de Git de Databricks.
La sincronización de archivos en tiempo real con dbx
(también conocida como dbx sync
) es útil en escenarios de desarrollo rápido de código. Por ejemplo, puede usar un entorno de desarrollo integrado (IDE) local para las características de productividad, como el resaltado de sintaxis, la finalización de código inteligente, la linting de código, las pruebas y la depuración. A continuación, puede ir inmediatamente al área de trabajo y ejecutar el código actualizado.
Puede usar dbx sync
por sí mismo, con trabajos automatizados o con un IDE.
Flujos de trabajo de desarrollo de dbx sync
Hay dos flujos de trabajo de desarrollo para dbx sync
, uno con DBFS y otro con carpetas de Git de Databricks.
El flujo de trabajo de desarrollo típico con dbx sync
y DBFS es:
- Identifique un directorio local que contenga los archivos que quiere sincronizar con DBFS.
- Identifique la ruta de acceso de DBFS con la que quiere que se sincronice el directorio local (o deje que
dbx sync
cree una ruta de acceso de DBFS predeterminada). - Ejecute
dbx sync dbfs
para sincronizar el directorio local con la ruta de acceso de DBFS.dbx sync
comienza a observar el directorio local para ver los cambios de archivo. - Haga cambios en los archivos del directorio local según sea necesario.
dbx sync
aplica esos cambios a los archivos correspondientes de la ruta de acceso de DBFS en tiempo real.
El flujo de trabajo de desarrollo típico con dbx sync
y carpetas de Git de Databricks es:
- Cree un repositorio con un proveedor de Git compatible con carpetas de Git de Databricks, si no dispone ya de uno.
- Clone el repositorio en el área de trabajo de Azure Databricks.
- Clone el repositorio en la máquina de desarrollo local.
- Ejecute
dbx sync repo
para asociar el repositorio clonado local al repositorio clonado del área de trabajo.dbx sync
comienza a observar el directorio local para ver los cambios de archivo. - Haga cambios en los archivos del repositorio clonado local según sea necesario.
dbx sync
aplica esos cambios a los archivos correspondientes de carpetas de Git de Databricks en tiempo real. - Inserte periódicamente los archivos actualizados del repositorio clonado del área de trabajo al proveedor de Git, de modo que el repositorio permanezca actualizado con el proveedor de Git.
Importante
dbx sync
solo realiza la sincronización unidireccional y en tiempo real de los cambios de archivo desde la máquina de desarrollo local al área de trabajo remota. Por lo tanto, Databricks no recomienda iniciar en el área de trabajo de Azure Databricks los cambios en los archivos supervisados por dbx sync
. Si debe hacer estos cambios en el archivo iniciado por el área de trabajo, también debe hacer lo siguiente:
- En el caso de los cambios de archivo en DBFS, haga los cambios correspondientes en los archivos locales manualmente.
- Para los cambios de archivo en carpetas de Git de Databricks, inserte los cambios de archivo del área de trabajo en el proveedor de Git. A continuación, en la máquina de desarrollo local, extraiga esos cambios de archivo del proveedor de Git.
Requisitos
Si quiere usar dbx sync
con carpetas de Git de Databricks, el área de trabajo de Azure Databricks debe cumplir los requisitos siguientes:
- Se sugiere un clon del repositorio con el proveedor de Git, aunque no es obligatorio.
En la máquina de desarrollo local, debe tener instalado lo siguiente:
Python versión 3.8 o superior. Para comprobar si Python está instalado y para comprobar la versión de Python instalada, ejecute
python --version
desde el terminal o PowerShell.python --version
Nota:
Algunas instalaciones de
python
pueden requerir el uso depython3
en lugar depython
. Si es así, sustituyapython
porpython3
en todo este artículo.pip. Para comprobar si
pip
está instalado y comprobar la versión depip
instalada, ejecutepip --version
opython -m pip --version
.pip --version # Or... python -m pip --version
Nota:
Algunas instalaciones de
pip
pueden requerir el uso depip3
en lugar depip
. Si es así, sustituyapip
porpip3
en todo este artículo.dbx versión 0.8.0 o superior. Para comprobar si
dbx
está instalado y comprobar la versión dedbx
instalada, ejecutedbx --version
. Para realizar la instalación dedbx
mediante el índice de paquetes de Python (PyPI), ejecutepip install dbx
opython -m pip install dbx
. (dbx
incluye dbx sync).# Check whether dbx is installed, and check its version. dbx --version # Install dbx. pip install dbx # Or... python -m pip install dbx
Nota:
Para obtener más información sobre
dbx
, consulte dbx de Databricks Labs y la documentación de dbx.La CLI de Databricks, versión 0.18 o anterior, configurada con autenticación. La CLI de Databricks heredada (versión 0.17 de la CLI de Databricks) se instala automáticamente al instalar
dbx
. Esta autenticación se puede configurar en la máquina de desarrollo local en una o ambas de las siguientes ubicaciones:- Dentro de las variables de entorno
DATABRICKS_HOST
yDATABRICKS_TOKEN
(a partir de la versión 0.8.0 de la CLI de Databricks heredada). - En un perfil de configuración de Azure Databricks dentro del archivo
.databrickscfg
.
dbx
busca las credenciales de autenticación en estas dos ubicaciones, respectivamente.dbx
usa solo el primer conjunto de credenciales coincidentes que encuentra.Nota:
Si usa un archivo
.databrickscfg
,dbx sync
busca en este archivo un perfil de configuración denominadoDEFAULT
de manera predeterminada. Para especificar otro perfil, use la opción--profile
al ejecutar el comandodbx sync
, más adelante en este artículo.dbx
no admite el uso de un archivo .netrc para la autenticación.- Dentro de las variables de entorno
Si quiere usar
dbx sync
con carpetas de Git de Databricks, se recomienda un clon local del repositorio con el proveedor de Git, aunque no es obligatorio. Para crear un clon local, consulte la documentación del proveedor de Git.
Uso de DBFS con dbx sync
Desde el terminal o PowerShell en la máquina de desarrollo local, cambie al directorio que contiene los archivos que quiere sincronizar con DBFS en el área de trabajo de Azure Databricks.
Ejecute el comando dbx sync para sincronizar el directorio local con DBFS en el área de trabajo, como se indica a continuación. (No olvide el punto (
.
) al final, que representa el directorio actual).dbx sync dbfs --source .
Sugerencia
Para especificar otro directorio de origen, reemplace el punto (
.
) por otra ruta de acceso.Nota:
Si aparece el error
Error: No such command 'sync'
, es probable que la instalación dedbx
no esté actualizada. Para corregirlo, ejecutepip install --upgrade dbx==<version>
opython -m pip install --upgrade dbx==version
, donde<version>
es la versión más reciente dedbx
. Este número de versión se puede encontrar en la página web de PyPI para dbx.pip install --upgrade dbx==<version> # Or... python -m pip install --upgrade dbx==version
dbx sync
comienza a sincronizar los archivos del directorio local actual con los archivos en la siguiente ruta de acceso de DBFS del área de trabajo. Para confirmar esto,dbx sync
imprimeTarget base path
, seguido de la ruta de acceso de DBFS, por ejemplo:/tmp/users/<your-Databricks-username>/<local-directory-name>
Sugerencia
Para especificar otro nombre de usuario o ruta de acceso de DBFS, especifique las opciones
--user
y--dest
, respectivamente, al ejecutardbx sync
.Haga cambios en los archivos locales, según sea necesario.
Importante
Debe mantener abierto el terminal o PowerShell para que
dbx sync
se siga sincronizando. Si cierra el terminal o PowerShell,dbx sync
deja de observar los cambios de archivo y detiene la sincronización. Para reanudar la sincronización de cambios de archivos, repita este procedimiento desde el principio.Según sea necesario, compruebe los cambios de archivo en la ruta de acceso anterior en DBFS del área de trabajo.
Uso de carpetas de Git de Databricks con dbx sync
Desde el terminal o PowerShell en la máquina de desarrollo local, cambie al directorio raíz que contiene el clon del repositorio con el proveedor de Git.
En el área de trabajo de Azure Databricks, identifique el nombre de la instancia de carpetas de Git de Databricks con la que quiere sincronizar el repositorio local clonado. Puede encontrar el nombre de este repositorio si hace clic en carpetas de Git en la barra lateral del área de trabajo.
En la máquina de desarrollo local, ejecute el comando dbx sync para sincronizar el repositorio clonado local con las carpetas de Git de Databricks en el área de trabajo como se indica a continuación, reemplazando
<your-repo-name>
por el nombre del repositorio en las carpetas de Git de Databricks. (No olvide el punto (.
) al final, que representa el directorio actual).dbx sync repo -d <your-repo-name> --source .
Sugerencia
Para especificar otro directorio de origen, reemplace el punto (
.
) por otra ruta de acceso.Nota:
Si aparece el error
Error: No such command 'sync'
, es probable que la instalación dedbx
no esté actualizada. Para corregirlo, ejecutepip install --upgrade dbx==<version>
opython -m pip install --upgrade dbx==version
, donde<version>
es la versión más reciente dedbx
. Este número de versión se puede encontrar en la página web de PyPI para dbx.pip install --upgrade dbx==<version> # Or... python -m pip install --upgrade dbx==version
dbx sync
comienza a sincronizar los archivos del repositorio clonado local con los archivos en las carpetas de Git de Databricks en el área de trabajo. Para confirmar esto,dbx sync
imprimeTarget base path
seguido de la ruta de acceso de las carpetas de Git de Databricks, por ejemplo:/Repos/<your-Databricks-username>/<your-repo-name>
Sugerencia
Para especificar otro nombre de usuario o nombre de repositorio, especifique las opciones
--user
y--dest-repo
, respectivamente, al ejecutardbx sync
.Haga cambios en los archivos locales, según sea necesario.
Importante
Debe mantener abierto el terminal o PowerShell para que
dbx sync
se siga sincronizando. Si cierra el terminal o PowerShell,dbx sync
deja de observar los cambios de archivo y detiene la sincronización. Para reanudar la sincronización de cambios de archivos, repita este procedimiento desde el principio.Según sea necesario, compruebe los cambios de archivo en las carpetas de Git de Databricks en el área de trabajo.
Recursos adicionales
- Documentación de dbx
- Documentación de dbx sync
- Repositorio databrickslabs/dbx en GitHub
- Limitaciones de dbx