Compartir a través de


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:

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

  1. Cree un repositorio con un proveedor de Git compatible con carpetas de Git de Databricks, si no dispone ya de uno.
  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 al repositorio clonado del área de trabajo. dbx sync comienza a observar el directorio local para ver los cambios de archivo.
  5. 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.
  6. 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 de python3 en lugar de python. Si es así, sustituya python por python3 en todo este artículo.

  • pip. Para comprobar si pip está instalado y 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 el uso de pip3 en lugar de pip. Si es así, sustituya pip por pip3 en todo este artículo.

  • dbx versión 0.8.0 o superior. Para comprobar si dbx está instalado y comprobar la versión de dbx instalada, ejecute dbx --version. Para realizar la instalación de dbx mediante 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 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 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 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 denominado DEFAULT de manera predeterminada. Para especificar otro perfil, 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 .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 obligatorio. Para crear 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 quiere 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 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 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 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 imprime 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. 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.

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

  3. 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 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 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 imprime Target 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 ejecutar dbx sync.

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

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

Recursos adicionales