Databricks CLI (舊版)
重要
此檔已淘汰,且可能未更新。
Databricks 建議您使用 Databricks CLI 0.205 版或更新版本,而不是舊版 Databricks CLI 0.18 版或更新版本。 Databricks 不支援 Databricks CLI 0.18 版或更新版本。 如需 Databricks CLI 0.205 版和更新版本的相關信息,請參閱 什麼是 Databricks CLI?。
若要從 Databricks CLI 0.18 版或更新版本移轉至 Databricks CLI 0.205 版或更新版本,請參閱 Databricks CLI 移轉。
舊版 Databricks CLI 處於 實驗 狀態。 Databricks 目前沒有針對舊版 Databricks CLI 的新功能運作。
舊版 Databricks CLI 不支援透過 Databricks 支援通道。 若要提供意見反應、詢問問題及回報問題,請使用 GitHub 中 Databricks 存放庫命令行介面中的 [問題 ] 索引卷標。
舊版 Databricks 命令行介面(也稱為舊版 Databricks CLI)是一個公用程式,可提供易於使用的介面,從終端機、命令提示字元或自動化腳本將 Azure Databricks 平臺自動化。
需求
- Python 3 - 3.6 和更新版本
- Python 2 - 2.7.9 和更新版本
重要
在macOS上,預設的 Python 2 安裝不會實作TLSv1_2通訊協定,而且使用此 Python 安裝執行舊版 Databricks CLI 會導致錯誤: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
。 使用 Homebrew 安裝具有 ssl.PROTOCOL_TLSv1_2
的 Python 版本。
限制
不支援使用舊版 Databricks CLI 搭配啟用防火牆的記憶體容器。 Databricks 建議您使用 Databricks 連線 或 az storage。
設定 CLI
本節說明如何設定舊版 Databricks CLI。
安裝或更新 CLI
本節說明如何安裝或更新您的開發計算機,以執行舊版 Databricks CLI。
安裝 CLI
pip install databricks-cli
使用適用於 Python 安裝的適當 版本pip
來執行:
pip install databricks-cli
更新 CLI
pip install databricks-cli --upgrade
使用適用於 Python 安裝的適當 版本pip
來執行:
pip install databricks-cli --upgrade
若要列出目前安裝的舊版 Databricks CLI 版本,請執行 databricks --version
:
databricks --version
設定驗證
您必須先設定舊版 Databricks CLI 與 Azure Databricks 之間的驗證,才能執行舊版 Databricks CLI 命令。 本節說明如何設定舊版 Databricks CLI 的驗證。
若要使用舊版 Databricks CLI 進行驗證,您可以使用 Databricks 個人存取令牌 或 Microsoft Entra ID(先前稱為 Azure Active Directory) 令牌。
注意
作為安全性最佳做法,當您使用自動化工具、系統、腳本和應用程式進行驗證時,Databricks 建議您使用屬於 服務主體 的個人存取令牌,而不是工作區使用者。 若要建立服務主體的令牌,請參閱 管理服務主體的令牌。
使用 Microsoft Entra 識別符設定驗證(先前稱為 Azure Active Directory) 令牌
若要使用 Microsoft Entra ID 令牌設定舊版 Databricks CLI, 請產生 Microsoft Entra ID (先前稱為 Azure Active Directory) 令牌 ,並將其儲存在環境變數 DATABRICKS_AAD_TOKEN
中。
執行以下命令:
databricks configure --aad-token
命令會發出提示:
Databricks Host (should begin with https://):
輸入每個工作區的網址,格式為 https://adb-<workspace-id>.<random-number>.azuredatabricks.net
。 若要取得每個工作區的 URL,請參閱 個別工作區 URL。
完成提示之後,您的存取認證會儲存在Linux或macOS或 %USERPROFILE%\.databrickscfg
Windows 上的檔案~/.databrickscfg
中。 檔案包含預設設定檔專案:
[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>
.databrickscfg
如果檔案已經存在,該檔案的DEFAULT
組態配置檔會以新的數據覆寫。 若要改為使用不同的名稱建立組態配置檔,請參閱 連線 配置檔。
使用 Databricks 個人存取令牌設定驗證
若要設定舊版 Databricks CLI 以使用個人存取令牌,請執行下列命令:
databricks configure --token
命令會從發出提示開始:
Databricks Host (should begin with https://):
輸入每個工作區的網址,格式為 https://adb-<workspace-id>.<random-number>.azuredatabricks.net
。 若要取得每個工作區的 URL,請參閱 個別工作區 URL。
命令會繼續發出提示以輸入您的個人存取權杖:
Token:
完成提示之後,您的存取認證會儲存在Linux或macOS或 %USERPROFILE%\.databrickscfg
Windows 上的檔案~/.databrickscfg
中。 檔案包含預設設定檔專案:
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
.databrickscfg
如果檔案已經存在,該檔案的DEFAULT
組態配置檔會以新的數據覆寫。 若要改為使用不同的名稱建立組態配置檔,請參閱 連線 配置檔。
針對 CLI 0.8.1 和更新版本,您可以藉由設定環境變數 DATABRICKS_CONFIG_FILE
來變更此檔案的路徑。
Linux 或 macos
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
重要
從 CLI 0.17.2 開始,CLI 不適用於 .netrc 檔案。 您可以在環境中有檔案 .netrc
以供其他用途使用,但 CLI 不會使用該 .netrc
檔案。
CLI 0.8.0 和更新版本支援下列 Azure Databricks 環境變數:
DATABRICKS_HOST
DATABRICKS_TOKEN
環境變數設定的優先順序高於組態檔中的設定。
測試您的驗證設定
若要檢查您是否正確設定驗證,您可以執行如下的命令:
databricks fs ls dbfs:/
如果成功,此命令會列出與配置文件DEFAULT
相關聯之工作區之 DBFS 根目錄中的檔案和目錄。
連線 配置檔
舊版 Databricks CLI 組態支援多個連線配置檔。 舊版 Databricks CLI 的相同安裝可用來對多個 Azure Databricks 工作區進行 API 呼叫。
若要新增連線設定檔,請指定設定檔的唯一名稱:
databricks configure [--token | --aad-token] --profile <profile-name>
檔案 .databrickscfg
包含對應的設定檔專案:
[<profile-name>]
host = <workspace-URL>
token = <token>
若要使用連線設定檔:
databricks <group> <command> --profile <profile-name>
如果未 --profile <profile-name>
指定,則會使用預設配置檔。 如果找不到預設配置檔,系統會提示您使用預設配置檔來設定 CLI。
測試您的連線配置檔
若要檢查您是否已正確設定任何連線設定檔,您可以使用下列其中一個連線設定檔名稱來執行命令:
databricks fs ls dbfs:/ --profile <profile-name>
如果成功,此命令 會針對指定的連接配置檔列出工作區 之 DBFS 根目錄中的檔案和目錄。 針對您要測試的每個連線配置檔執行此命令。
若要檢視可用的配置檔,請參閱您的 .databrickscfg
檔案。
使用 CLI
本節說明如何取得舊版 Databricks CLI 說明、剖析舊版 Databricks CLI 輸出,以及叫用每個命令群組中的命令。
顯示 CLI 命令群組說明
您可以使用 或 -h
選項列出任何命令群組--help
的子命令。 例如,若要列出 DBFS CLI 子命令:
databricks fs -h
顯示 CLI 子命令說明
您可以使用 或 -h
選項列出子命令--help
的說明。 例如,若要列出 DBFS 複製檔案子命令的說明:
databricks fs cp -h
別名命令群組
有時候,將每個舊版 Databricks CLI 叫用前面加上命令群組的名稱,例如 databricks workspace ls
在舊版 Databricks CLI 中,可能會不方便。 若要讓舊版 Databricks CLI 更容易使用,您可以將命令群組別名為較短的命令。
例如,若要在 Bourne 再次殼層中縮短 databricks workspace ls
為 dw ls
,您可以將 新增 alias dw="databricks workspace"
至適當的 bash 設定檔。 一般而言,這個檔案位於 ~/.bash_profile
。
提示
舊版 Databricks CLI 已經別名 databricks fs
為 dbfs
, databricks fs ls
且 dbfs ls
相等。
用來 jq
剖析 CLI 輸出
某些舊版 Databricks CLI 命令會從 API 端點輸出 JSON 回應。 有時候剖析 JSON 部分以管線傳送至其他命令會很有用。 例如,若要複製作業定義,您必須取得 settings
作業命令的欄位,並將該欄位當做建立作業命令的自變數使用。 在這些情況下,建議您使用 公用程式 jq
。
例如,下列命令會列印標識符為 233 的作業設定。
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'
輸出:
{
"name": "Quickstart",
"new_cluster": {
"spark_version": "7.5.x-scala2.12",
"spark_env_vars": {
"PYSPARK_PYTHON": "/databricks/python3/bin/python3"
},
"num_workers": 8,
...
},
"email_notifications": {},
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "/Quickstart"
},
"max_concurrent_runs": 1
}
另一個範例是,下列命令只會列印工作區中所有可用叢集的名稱和識別碼:
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'
輸出:
[
{
"name": "My Cluster 1",
"id": "1234-567890-grip123"
},
{
"name": "My Cluster 2",
"id": "2345-678901-patch234"
}
]
例如,您可以使用 jq
Homebrew 搭配 或搭配使用 Chocolatey 搭配 brew install jq
choco install jq
在 Windows 上安裝 ,例如在 macOS 上安裝 。 如需 的詳細資訊 jq
,請參閱 jq Manual。
JSON 字串參數
視您的作業系統而定,字串參數會以不同的方式處理:
Linux 或 macos
您必須以單引弧括住 JSON 字串參數。 例如:
'["20180505", "alantest"]'
Windows
您必須以雙引弧括住 JSON 字串參數,而且字串內的引號字元前面必須加上 \
。 例如:
"[\"20180505\", \"alantest\"]"
疑難排解
下列各節提供針對舊版 Databricks CLI 常見問題進行疑難解答的秘訣。
搭配使用 EOF databricks configure
無法運作
針對 Databricks CLI 0.12.0 和更新版本,使用腳本中的檔案結尾 (EOF
) 序列將參數傳遞至 databricks configure
命令無法運作。 例如,下列腳本會導致 Databricks CLI 忽略參數,而且不會擲回錯誤訊息:
# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>
databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF
若要修正此問題,請執行下列其中一項:
- 使用其他其中一個程式設計組態選項,如設定驗證中所述。
- 手動將 和
token
值新增host
至檔案,.databrickscfg
如設定驗證中所述。 - 將 Databricks CLI 的安裝降級為 0.11.0 或更新版本,然後再次執行您的腳本。
CLI 命令
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應