使用 dbx 即時同步本機檔案與遠端工作區

重要

此檔已淘汰,且可能未更新。

Databricks 建議不要使用 ,而是 dbx sync使用 Databricks CLI 0.205 版或更新版本,其中包含類似 dbx sync 透過 databricks sync 命令的功能。

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

注意

本文涵蓋 dbx Databricks Labs,該實驗室依目前提供,且透過客戶技術支援管道不受 Databricks 支援。 您可以透過 GitHub 上 databrickslabs/dbx 存放庫的 [問題] 頁面來傳達問題和功能要求。

您可以使用 Databricks Labs 的 dbx,在本機開發計算機上執行變更的即時同步處理,以及其 Azure Databricks 工作區中的對應檔案。 這些工作區檔案可以位於 DBFSDatabricks Git 資料夾中

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

您可以 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。 若是如此,請以python3本文中的 取代 python

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

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

    注意

    的某些安裝 pip 可能會要求您使用 pip3 ,而不是 pip。 若是如此,請以pip3本文中的 取代 pip

  • 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
    

    注意

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

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

    • DATABRICKS_HOSTDATABRICKS_TOKEN 環境變數中(從舊版 Databricks CLI 0.8.0 開始)。
    • 在您的檔案內的 Azure Databricks 組態配置檔.databrickscfg

    dbx 會分別尋找這兩個位置中的驗證認證。 dbx 只會使用它找到的第一組相符認證。

    注意

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

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

    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 路徑,請在執行 dbx sync時分別指定 --user--dest 選項。

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

    重要

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

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

搭配使用 Databricks Git 資料夾 dbx sync

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

    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>
    

    提示

    若要指定不同的使用者名稱或存放庫名稱,請在執行 dbx sync時分別指定 --user--dest-repo 選項。

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

    重要

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

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

其他資源