Uso de 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 incluye funcionalidad similar a dbx sync
mediante el comando databricks sync
.
La extensión Databricks para Visual Studio Code también incluye funciones similares a dbx sync
integradas en el IDE de Visual Studio Code. Tenga en cuenta que dbx sync
puede sincronizar los cambios de archivo de una máquina de desarrollo local con DBFS, las ubicaciones del espacio de trabajo y las 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 del usuario del área de trabajo (/Users
) y las 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.
Puede realizar la sincronización en tiempo real de los cambios en los archivos de la máquina de desarrollo local con sus archivos correspondientes en las áreas de trabajo de Azure Databricks mediante dbx por 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 rápidos de desarrollo 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 automatizadoso 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 desea sincronizar con DBFS.
- Identifique la ruta de acceso en DBFS con la que desea que el directorio local se sincronice (o deje que
dbx sync
cree una ruta de acceso DBFS predeterminada automáticamente). - 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 en los archivos. - Realice cambios en los archivos del directorio local según sea necesario.
dbx sync
aplica esos cambios a los archivos correspondientes en la ruta de acceso de DBFS en tiempo real.
El flujo de trabajo de desarrollo típico con carpetas de Git de dbx sync
y Databricks es:
- Cree un repositorio con un proveedor de Git que admite las carpetas de Git de Databricks, si no dispone ya de un repositorio.
- 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 con el repositorio clonado del área de trabajo.dbx sync
comienza a observar el directorio local para ver los cambios en los archivos. - Realice cambios en los archivos del repositorio clonado local según sea necesario.
dbx sync
aplica esos cambios a los archivos correspondientes en las carpetas de Git de Databricks en tiempo real. - Inserte periódicamente los archivos actualizados desde el repositorio clonado del área de trabajo en el proveedor de Git para 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 archivos de la máquina de desarrollo local en el área de trabajo remota. Por lo tanto, Databricks no recomienda iniciar cambios en el área de trabajo de Azure Databricks 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:
- Para los cambios de archivo en DBFS, realice manualmente los cambios correspondientes en los archivos locales.
- En el caso de cambios de archivo en las carpetas de Git de Databricks, envíe los cambios de archivo desde su área de trabajo a su 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 el siguiente requisito:
- Se sugiere un clon del repositorio con el proveedor de Git, aunque no es obligatorio.
En su 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 instalada de Python, ejecute
python --version
en el terminal o PowerShell.python --version
Nota
Algunas instalaciones de
python
pueden requerir que usepython3
en lugar depython
. Si es así, sustituyapython
porpython3
en este artículo.pip. Para comprobar si
pip
está instalado y para 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 que usepip3
en lugar depip
. Si es así, sustituyapip
porpip3
en este artículo.dbx versión 0.8.0 o superior. Para comprobar si
dbx
está instalado y para comprobar la versión dedbx
instalada, ejecutedbx --version
. Para instalardbx
desde 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 by Databricks Labs y la documentación de dbx.La CLI de Databricks, versión 0.18 o anterior, configurada con autenticación. La CLI heredada de Databricks (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 en ambas 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 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 un perfil diferente, 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 de .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 necesario. Para realizar 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 desea 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 un directorio de origen diferente, reemplace el punto (
.
) por una ruta de acceso diferente.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 archivos en el directorio local actual con archivos en la siguiente ruta de DBFS en tu espacio de trabajo.dbx sync
confirma esto imprimiendoTarget 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
.Realice cambios en los archivos locales, según sea necesario.
Importante
Debe mantener abierto el terminal o PowerShell para que
dbx sync
continúe 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 carpeta Git de Databricks a la que desea sincronizar el repositorio clonado local. Para encontrar este nombre de repositorio, haga clic en carpetas de Git en la barra lateral del área de trabajo.
En su máquina de desarrollo local, ejecute el comando dbx sync para sincronizar su repositorio clonado local con las carpetas de Git de Databricks en su espacio de trabajo, reemplazando
<your-repo-name>
con el nombre de su 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 un directorio de origen diferente, reemplace el punto (
.
) por una ruta de acceso diferente.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 archivos en el repositorio clonado local con archivos en carpetas de Git de Databricks en el área de trabajo.dbx sync
confirma esto imprimiendoTarget base path
seguido de la ruta de las carpetas de Git en Databricks, por ejemplo:/Repos/<your-Databricks-username>/<your-repo-name>
Sugerencia
Para especificar otro nombre de usuario o nombre de repositorio, especifique las opciones de
--user
y--dest-repo
, respectivamente, al ejecutardbx sync
.Realice cambios en los archivos locales, según sea necesario.
Importante
Debe mantener abierto el terminal o PowerShell para que
dbx sync
continúe 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