Compartir a través de


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:

  1. Identifique un directorio local que contenga los archivos que desea sincronizar con DBFS.
  2. 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).
  3. 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.
  4. 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:

  1. Cree un repositorio con un proveedor de Git que admite las carpetas de Git de Databricks, si no dispone ya de un repositorio.
  2. Clone el repositorio en el área de trabajo de Azure Databricks.
  3. Clone el repositorio en la máquina de desarrollo local.
  4. 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.
  5. 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.
  6. 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 use python3 en lugar de python. Si es así, sustituya python por python3 en este artículo.

  • pip. Para comprobar si pip está instalado y para comprobar la versión de pip instalada, ejecute pip --version o python -m pip --version.

    pip --version
    
    # Or...
    
    python -m pip --version
    

    Nota

    Algunas instalaciones de pip pueden requerir que use pip3 en lugar de pip. Si es así, sustituya pip por pip3 en este artículo.

  • dbx versión 0.8.0 o superior. Para comprobar si dbx está instalado y para comprobar la versión de dbx instalada, ejecute dbx --version. Para instalar dbx desde el índice de paquetes de Python (PyPI), ejecute pip install dbx o python -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 y DATABRICKS_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 denominado DEFAULT de manera predeterminada. Para especificar un perfil diferente, use la opción --profile al ejecutar el comando dbx sync, más adelante en este artículo.

    dbx no admite el uso de un archivo de .netrc para la autenticación.

  • 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

  1. 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.

  2. 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 de dbx no esté actualizada. Para corregirlo, ejecute pip install --upgrade dbx==<version> o python -m pip install --upgrade dbx==version, donde <version> es la versión más reciente de dbx. 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
    
  3. 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 imprimiendo Target 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 ejecutar dbx sync.

  4. 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.

  5. 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

  1. 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.

  2. 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.

  3. 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 de dbx no esté actualizada. Para corregirlo, ejecute pip install --upgrade dbx==<version> o python -m pip install --upgrade dbx==version, donde <version> es la versión más reciente de dbx. 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
    
  4. 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 imprimiendo Target 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 ejecutar dbx sync.

  5. 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.

  6. Según sea necesario, compruebe los cambios de archivo en las carpetas de Git de Databricks en el área de trabajo.

Recursos adicionales