Использование 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:
- Определите локальный каталог, содержащий файлы, которые необходимо синхронизировать с DBFS.
- Определите путь в DBFS, с которым требуется синхронизировать локальный каталог (или позвольте
dbx sync
создать путь dbFS по умолчанию). - Запустите
dbx sync dbfs
, чтобы синхронизировать локальный каталог с путем DBFS.dbx sync
начинает просматривать локальный каталог для любых изменений в файле. - При необходимости внесите изменения в файлы в локальный каталог.
dbx sync
применяет эти изменения к соответствующим файлам в пути DBFS в режиме реального времени.
Типичный рабочий процесс разработки с папками dbx sync
и Databricks Git:
- Создайте репозиторий с поставщиком Git , который поддерживает папки Git Databricks, если у вас еще нет доступного репозитория.
- Клонируйте репозиторий в рабочую область Azure Databricks.
- Клонируйте репозиторий на локальный компьютер разработки.
- Запустите
dbx sync repo
, чтобы связать ваш локальный клонированный репозиторий с клонированным репозиторием вашей рабочей области.dbx sync
начинает просматривать локальный каталог для любых изменений в файле. - При необходимости внесите изменения в файлы в локально клонированном репозитории.
dbx sync
применяет эти изменения к соответствующим файлам в папках Databricks Git в режиме реального времени. - Периодически отправляйте обновленные файлы из клонированного репозитория в рабочем пространстве в ваш репозиторий на сервере 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
. Если да, замените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
из индекса пакетов 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
В терминале или PowerShell на локальном компьютере разработки перейдите в каталог, содержащий файлы, которые необходимо синхронизировать с DBFS в рабочей области Azure Databricks.
Выполните команду 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
dbx sync
начинает синхронизацию файлов в текущем локальном каталоге с файлами в следующем пути DBFS в рабочей области.dbx sync
подтверждает это путем печатиTarget base path
, за которым следует путь DBFS, например:/tmp/users/<your-Databricks-username>/<local-directory-name>
Совет
Чтобы указать другой путь пользователя или DBFS, укажите параметры
--user
и--dest
соответственно при запускеdbx sync
.При необходимости внесите изменения в локальные файлы.
Важный
Вы должны оставить свой терминал или PowerShell открытыми, чтобы
dbx sync
продолжила синхронизироваться. Если вы закрываете терминал или PowerShell,dbx sync
перестает наблюдать за изменениями файлов и перестает синхронизироваться. Чтобы возобновить синхронизацию изменений файлов, повторите эту процедуру с самого начала.При необходимости проверьте изменения файла в ранее указанном пути в DBFS в пределах вашей рабочей области.
Используйте папки Databricks Git с dbx sync
В терминале или PowerShell на локальном компьютере разработки перейдите в корневой каталог, содержащий клон репозитория с поставщиком Git.
В рабочей области Azure Databricks определите имя папки Databricks Git, с которой требуется синхронизировать локально клонированный репозиторий. Это имя репозитория можно найти, щелкнув папки Git на боковой панели рабочей области.
На локальном компьютере разработки выполните команду синхронизации 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
dbx sync
начинает синхронизацию файлов в локальном клонизированном репозитории с файлами в папках Databricks Git в рабочей области.dbx sync
подтверждает это путем печатиTarget base path
, за которым следует путь к папкам Databricks Git, например:/Repos/<your-Databricks-username>/<your-repo-name>
Совет
Чтобы указать другое имя пользователя или репозитория, укажите параметры
--user
и--dest-repo
соответственно при запускеdbx sync
.При необходимости внесите изменения в локальные файлы.
Важный
Вы должны оставить свой терминал или PowerShell открытыми, чтобы
dbx sync
продолжила синхронизироваться. Если вы закрываете терминал или PowerShell,dbx sync
перестает наблюдать за изменениями файлов и перестает синхронизироваться. Чтобы возобновить синхронизацию изменений файлов, повторите эту процедуру с самого начала.При необходимости проверьте изменения файлов в папках Databricks Git в рабочей области.
Дополнительные ресурсы
- документация dbx
- документации по синхронизации dbx
- репозиторий databrickslabs/dbx на GitHub
- Ограничения dbx