Поделиться через


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

Важный

Эта документация устарела и может не обновляться.

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

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

Заметка

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

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

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

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

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

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

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

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

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

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

Важный

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

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

Требования

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

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

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

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

    python --version
    

    Заметка

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

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

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

    Заметка

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

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

    # 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 (начиная с версии 0.8.0 устаревшего интерфейса командной строки Databricks CLI).
    • В профиле конфигурации 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. При необходимости внесите изменения в локальные файлы.

    Важный

    Вы должны оставить свой терминал или PowerShell открытыми, чтобы dbx sync продолжила синхронизироваться. Если вы закрываете терминал или 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. При необходимости внесите изменения в локальные файлы.

    Важный

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

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

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