共用方式為


使用 dbx 即時將本機檔案與遠端工作區 sync 配對

重要

此文件已停用,且不會更新。

Databricks 建議不要使用 dbx sync,而建議使用 Databricks CLI 0.205 版或更高版本,因為它包含透過 dbx sync 命令實現的類似功能 databricks sync

適用於 Visual Studio Code 的 Databricks 延伸模組 也包含類似於整合至 Visual Studio Code IDE dbx sync 的功能。 請注意,dbx sync 可以將檔案變更從本地開發機同步到 Azure Databricks 工作區的 DBFS、工作區位置和 Databricks Git 資料夾。 Visual Studio Code 的 Databricks 延伸模組僅支援將檔案變更同步處理至工作區使用者(/Users)檔案和 Databricks Git 資料夾(/Repos)。

注意

本文涵蓋了由 Databricks Labs 所提供的 dbx,該功能由該實驗室 as-is 提供,但 Databricks 並不透過客戶技術支援通道提供支援。 問題與功能要求可以透過 GitHub 上 databrickslabs/dbx 存放庫的 問題 頁面進行通訊。

您可以使用 Databricks Labs dbx,實現本機開發電腦上的檔案與 Azure Databricks 工作區中對應檔案的即時同步。 這些工作區檔案可以位於 DBFSDatabricks Git 資料夾中,

dbx(也稱為 dbx sync)的即時檔案同步處理在快速程式代碼開發案例中很有用。 例如,您可以使用本機集成開發環境(IDE)來取得生產力功能,例如語法醒目提示、智慧程式碼補全、程式碼檢查,以及測試與除錯。 然後,您可以立即移至工作區並執行更新的程序代碼。

您可以單獨使用 dbx sync搭配自動化作業,或 搭配 IDE

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. 如果您還沒有可用的存放庫,請使用 Databricks Git 資料夾支援的 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 提供者提取這些檔案變更。

要求

如果您想要搭配 Databricks Git 資料夾使用 dbx sync,Azure Databricks 工作區必須符合下列需求:

  • 建議在您的 Git 提供者中 進行 的存放庫複製,儘管這不是必須的。

在本機開發環境中,您必須安裝下列軟體:

  • Python 3.8 版或更新版本。 若要檢查是否已安裝 Python,以及檢查已安裝的 Python 版本,請在終端機或 PowerShell 中執行 python --version

    python --version
    

    注意

    某些 python 安裝可能需要您使用 python3,而不是使用 python。 如果是,請在整個文章中以 python 取代 python3

  • pip。 若要檢查是否已安裝 pip,以及檢查已安裝的 pip 版本,請執行 pip --versionpython -m pip --version

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

    注意

    某些 pip 安裝可能需要您使用 pip3,而不是使用 pip。 如果是,請在整個文章中以 pip 取代 pip3

  • dbx 0.8.0 版或更新版本。 若要檢查是否已安裝 dbx,以及檢查已安裝 dbx 版本,請執行 dbx --version。 若要從 Python 套件索引 (PyPI) 安裝 dbx,請執行 pip install dbxpython -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
    

    注意

    如需 的詳細資訊,請參閱 Databricks Labs dbx 和 dbx 檔

  • Databricks CLI 0.18 版或更新版本,set驗證。 當您安裝 dbx時,會自動安裝舊版 Databricks CLI(Databricks CLI 0.17 版)。 您可以在下列其中一個或兩個位置的本機開發電腦上 set 此驗證:

    • DATABRICKS_HOSTDATABRICKS_TOKEN 環境變數中(從舊版 Databricks CLI 0.8.0 開始)。
    • 在 Azure Databricks 設定檔.databrickscfg 檔案內。

    dbx 在這兩個位置分別尋找驗證 credentials。 dbx 只會使用其找到之比對 credentials 的第一個 set。

    注意

    如果您使用 .databrickscfg 檔案,dbx sync 預設會在此檔案中尋找名為 DEFAULT 的組態配置檔。 若要指定不同的配置檔,請在本文稍後執行 --profile 命令時,使用 dbx sync 選項。

    dbx 不支援使用 .netrc 檔案進行驗證。

  • 如果您想要在 Databricks Git 資料夾中使用 dbx sync,建議您可以將與您的 Git 供應商相關連的倉儲庫進行本地複製,雖然這不是必須的。 若要執行本機複製,請參閱 Git 的供應商的文件。

使用 DBFS 搭配 dbx sync

  1. 從您本機開發機上的終端機或 PowerShell,將目錄切換到包含您要同步到 Azure Databricks 工作區中的 DBFS 的檔案的目錄。

  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,where<version> 是最新版本的 dbx。 您可以在 dbx的 PyPI 網頁中找到此版本號碼。

    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時,分別指定 --destdbx sync 選項。

  4. 視需要變更本機檔案。

    重要

    您必須讓終端機或 PowerShell 保持開啟,dbx sync 才能繼續同步處理。 如果您關閉終端機或 PowerShell,dbx sync 停止監看檔案變更並停止同步處理。 若要繼續檔案變更同步處理,請從頭重複此程式。

  5. 視需要,確認工作區中 DBFS 內前述路徑中的檔案變更。

搭配 dbx sync 使用 Databricks Git 資料夾

  1. 從本機開發電腦上的終端機或 PowerShell,變更為包含 Git 提供者存放庫複製品的根目錄。

  2. 在 Azure Databricks 工作區中,識別您要將本地複製的儲存庫同步到的 Databricks Git 資料夾的名稱。 您可以在工作區的側邊欄中,點擊 Git 資料夾,以找到此存放庫名稱。

  3. 在本機開發計算機上,執行 dbx sync 命令,將本機複製的存放庫同步至工作區中的 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,where<version> 是最新版本的 dbx。 您可以在 dbx的 PyPI 網頁中找到此版本號碼。

    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-repodbx sync 選項。

  5. 視需要變更本機檔案。

    重要

    您必須讓終端機或 PowerShell 保持開啟,dbx sync 才能繼續同步處理。 如果您關閉終端機或 PowerShell,dbx sync 停止監看檔案變更並停止同步處理。 若要繼續檔案變更同步處理,請從頭重複此程式。

  6. 視需要確認工作區中 Databricks Git 資料夾中的檔案變更。

其他資源