Использование dbx для синхронизации локальных файлов с удаленными рабочими областями в режиме реального времени

Внимание

Поддержка этой документации прекращена, она может больше не обновляться.

Databricks рекомендует вместо dbx syncэтого использовать интерфейс командной строки Databricks версии 0.205 или более поздней, которая включает функции, аналогичные dbx sync команде databricks sync .

Расширение Databricks для Visual Studio Code также включает функции, аналогичные dbx sync интегрированной в интегрированную среду разработки Visual Studio Code. Обратите внимание, что dbx sync можно синхронизировать изменения файлов с локального компьютера разработки с DBFS, расположениями рабочей области и папками Databricks Git в рабочих областях Azure Databricks. Расширение Databricks для Visual Studio Code поддерживает синхронизацию изменений файлов только для пользователей рабочей области (/Users) файлов и папок Databricks Git (/Repos).

Примечание.

В этой статье рассматривается средство dbx от Databricks Labs, которое предоставляется на условиях "как есть" и не поддерживается через каналы технической поддержки Databricks. Вопросы и запросы функций можно оставлять на странице Проблемы в репозитории GitHub databrickslabs/dbx.

Вы также можете выполнять в реальном времени синхронизацию изменений в файлах на локальном компьютере разработки с соответствующими файлами в рабочих областях Azure Databricks с помощью dbx от Databricks Labs. Эти файлы рабочей области могут находиться в DBFS или в папках Databricks Git.

Синхронизация файлов в режиме реального времени с dbx (также называется dbx sync) полезна в сценариях быстрой разработки кода. Например, можно использовать локальную интегрированную среду разработки для использования функций повышения производительности, таких как выделение синтаксиса, интеллектуальное завершение кода, анализ кода, тестирование и отладка. Затем можно сразу перейти в рабочую область и запустить обновленный код.

Вы можете использовать dbx sync отдельно, с автоматическими заданиями или с интегрированной средой разработки.

Рабочие процессы разработки dbx sync

Существует два рабочих процесса разработки для dbx sync, один с DBFS и другой с папками Databricks Git.

Типичный рабочий процесс разработки с использованием dbx sync и DBFS:

  1. Определите локальный каталог, содержащий файлы, которые необходимо синхронизировать с DBFS.
  2. Определите путь в DBFS, с которым вы хотите синхронизировать локальный каталог (или используйте путь DBFS по умолчанию, предложенный dbx sync).
  3. Выполните команду dbx sync dbfs, чтобы синхронизировать локальный каталог с путем DBFS. dbx sync начинает отслеживать изменения в файлах в локальном каталоге.
  4. Внесите необходимые изменения в файлы в локальном каталоге. dbx sync применяет эти изменения к соответствующим файлам в пути DBFS в режиме реального времени.

Типичный рабочий процесс разработки с dbx sync папками Databricks Git:

  1. Создайте репозиторий с поставщиком Git, который поддерживает папки Databricks Git, если у вас еще нет репозитория.
  2. Клонируйте репозиторий в рабочую область Azure Databricks.
  3. Клонируйте репозиторий на локальный компьютер разработки.
  4. Выполните команду dbx sync repo, чтобы связать локальный клонированный репозиторий с клонированным репозиторием рабочей области. dbx sync начинает отслеживать изменения в файлах в локальном каталоге.
  5. Внесите необходимые изменения в файлы в локальном клонированном репозитории. dbx sync Применяет эти изменения к соответствующим файлам в папках Databricks Git в режиме реального времени.
  6. Периодически отправьте обновленные файлы из клонированного репозитория в рабочей области поставщику Git, чтобы синхронизировать репозиторий с поставщиком Git.

Внимание

dbx sync выполняет только одностороннюю синхронизацию изменений файлов в режиме реального времени с локального компьютера разработки в удаленную рабочую область. Поэтому Databricks не рекомендует инициировать изменения в рабочей области Azure Databricks для файлов, отслеживаемых с помощью dbx sync. Если необходимо внести такие изменения файла, инициированные из рабочей области, необходимо также выполнить следующие действия.

  • Для изменений файлов в DBFS внесите соответствующие изменения в локальные файлы вручную.
  • Для изменений файлов в папках Databricks Git отправьте изменения файла из рабочей области в поставщик Git. Затем на локальном компьютере разработки получите эти изменения от поставщика Git.

Требования

Если вы хотите использовать dbx sync с папками Databricks Git, рабочая область Azure Databricks должна соответствовать следующему требованию:

  • Рекомендуется клонировать репозиторий у поставщика Git, хотя это не является обязательным.

На вашем локальном компьютере для разработки должны быть установлены следующие компоненты:

  • Python версии 3.8 или более поздней. Чтобы проверить, установлен ли Python, и проверить установленную версию Python, выполните команду python --version в терминале или PowerShell.

    python --version
    

    Примечание.

    Для некоторых установок python может потребоваться использовать python3 вместо python. В этом случае замените python на python3 во всей статье.

  • pip. Чтобы проверить установку pip и установленную версию pip, выполните pip --version или python -m pip --version.

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

    Примечание.

    Для некоторых установок pip может потребоваться использовать pip3 вместо pip. В этом случае замените pip на pip3 во всей статье.

  • dbx версии 0.8.0 или более поздней. Чтобы проверить, установлен ли dbx, а также чтобы проверить установленную версию dbx, выполните dbx --version. Чтобы установить dbx с помощью PyPI, выполните команду pip install dbx или python -m pip install dbx. (dbx включает dbx sync.)

    # Check whether dbx is installed, and check its version.
    dbx --version
    
    # Install dbx.
    pip install dbx
    
    # Or...
    python -m pip install dbx
    

    Примечание.

    Дополнительные сведения о dbx см. в разделе dbx от Databricks Labs и Документации по dbx.

  • Интерфейс командной строки Databricks версии 0.18 или ниже настроен с проверкой подлинности. Устаревший интерфейс командной строки Databricks (Databricks CLI версии 0.17) автоматически устанавливается при установке dbx. Эту проверку подлинности можно настроить на локальном компьютере разработки в одном или обоих следующих расположениях:

    • DATABRICKS_HOST В переменных среды и DATABRICKS_TOKEN среды (начиная с устаревшей версии Интерфейса командной строки Databricks версии 0.8.0).
    • В профиле конфигурации Azure Databricks в файле.databrickscfg.

    dbx ищет учетные данные проверки подлинности в этих двух расположениях соответственно. dbx использует только первый набор найденных соответствующих учетных данных.

    Примечание.

    Если вы используете файл .databrickscfg, dbx sync по умолчанию выполняет поиск в этом файле профиля конфигурации с именем DEFAULT. Чтобы указать другой профиль, используйте параметр --profile при выполнении команды dbx sync далее в этой статье.

    dbx не поддерживает использование файла .netrc для проверки подлинности.

  • Если вы хотите использовать dbx sync с папками Databricks Git, рекомендуется использовать локальный клон репозитория с поставщиком Git, но не требуется. Чтобы выполнить локальное клонирование, обратитесь к документации поставщика Git.

Использование DBFS с dbx sync

  1. В окне терминала или PowerShell на локальном компьютере разработки перейдите в каталог, содержащий файлы, которые необходимо синхронизировать с DBFS в рабочей области Azure Databricks.

  2. Выполните команду dbx sync, чтобы синхронизировать локальный каталог с DBFS в рабочей области, как показано ниже. (Не забывайте точку (.) в конце, которая представляет текущий каталог.)

    dbx sync dbfs --source .
    

    Совет

    Чтобы указать другой исходный каталог, замените точку (.) на другой путь.

    Примечание.

    Если появится ошибка Error: No such command 'sync', установка dbx, скорее всего, устарела. Чтобы устранить эту проблему, выполните pip install --upgrade dbx==<version> или python -m pip install --upgrade dbx==version, где <version> представляет собой последнюю версию dbx. Этот номер версии можно найти на веб-странице PyPI для dbx.

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  3. dbx sync начинает синхронизацию файлов в текущем локальном каталоге с файлами в следующем пути DBFS в рабочей области. dbx sync подтверждает это путем вывода Target base path, за которым следует путь DBFS, например:

    /tmp/users/<your-Databricks-username>/<local-directory-name>
    

    Совет

    Чтобы указать другое имя пользователя или путь DBFS, укажите соответственно параметры --user и --dest при запуске dbx sync.

  4. Внесите необходимые изменения в локальные файлы.

    Внимание

    Чтобы синхронизация из dbx sync продолжалась, необходимо оставить окно терминала или PowerShell открытым. Если закрыть терминал или PowerShell, dbx sync прекратит отслеживание изменений файлов и остановит синхронизацию. Чтобы возобновить синхронизацию изменений файлов, повторите эту процедуру с начала.

  5. При необходимости проверьте изменения файла в предыдущем пути в DBFS в рабочей области.

Использование папок Databricks Git с dbx sync

  1. В окне терминала или PowerShell на локальном компьютере разработки перейдите в корневой каталог, содержащий клон репозитория у поставщика Git.

  2. В рабочей области Azure Databricks определите имя папки Databricks Git, с которой требуется синхронизировать локальное клонированного репозитория. Это имя репозитория можно найти, щелкнув папки Git на боковой панели рабочей области.

  3. На локальном компьютере разработки выполните команду синхронизации dbx, чтобы синхронизировать локальный клонизированный репозиторий с папками Databricks Git в рабочей области следующим образом, заменив <your-repo-name> имя репозитория в папках Databricks Git. (Не забывайте точку (.) в конце, которая представляет текущий каталог.)

    dbx sync repo -d <your-repo-name> --source .
    

    Совет

    Чтобы указать другой исходный каталог, замените точку (.) на другой путь.

    Примечание.

    Если появится ошибка Error: No such command 'sync', установка dbx, скорее всего, устарела. Чтобы устранить эту проблему, выполните pip install --upgrade dbx==<version> или python -m pip install --upgrade dbx==version, где <version> представляет собой последнюю версию dbx. Этот номер версии можно найти на веб-странице PyPI для dbx.

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  4. dbx sync начинает синхронизацию файлов в локальном клонизированном репозитории с файлами в папках Databricks Git в рабочей области. dbx sync подтверждает это путем печати Target base path , за которым следует путь к папкам Databricks Git, например:

    /Repos/<your-Databricks-username>/<your-repo-name>
    

    Совет

    Чтобы указать другое имя пользователя или имя репозитория, укажите соответственно параметры --user и --dest-repo при запуске dbx sync.

  5. Внесите необходимые изменения в локальные файлы.

    Внимание

    Чтобы синхронизация из dbx sync продолжалась, необходимо оставить окно терминала или PowerShell открытым. Если закрыть терминал или PowerShell, dbx sync прекратит отслеживание изменений файлов и остановит синхронизацию. Чтобы возобновить синхронизацию изменений файлов, повторите эту процедуру с начала.

  6. При необходимости проверьте изменения файлов в папках Databricks Git в рабочей области.

Дополнительные ресурсы