磚CLI(遺留)

重要的

這個文檔已經退休了,可能不會被更新。

磚建議你使用新的磚CLI的版本0.200或更高版本而不是遺留磚CLI版本0.17和更低的。信息新磚CLI版本0.200和更高版本,看看磚CLI

在一個舊磚CLI實驗狀態。磚計劃沒有新功能工作遺留的磚CLI。

遺留數據磚CLI不支持通過磚支持渠道。提供反饋,問問題,和報告問題,使用問題標簽的命令行接口數據磚在GitHub庫。

遺留數據磚命令行界麵(也稱為遺留數據磚CLI)是一個實用程序,它提供了一個易於使用的界麵來自動化磚從終端平台,命令提示符,或自動化腳本。Beplay体育安卓版本

需求

  • Python 3 - 3.6及以上

  • Python 2 - 2.7.9以上

重要的

在macOS,默認安裝Python 2沒有實現TLSv1_2協議,並運行這個Python的遺留數據磚CLI安裝導致的錯誤:AttributeError:“模塊”對象沒有屬性“PROTOCOL_TLSv1_2”。使用家釀安裝一個版本的Pythonssl.PROTOCOL_TLSv1_2

設置CLI

本節描述如何設置遺留數據磚CLI。

安裝或更新CLI

本節描述如何安裝或更新您的開發機器運行遺留數據磚CLI。

安裝CLI

運行皮普安裝databricks-cli通過使用適當的版本皮普為您的Python安裝:

pip安裝databricks-cli

更新CLI

運行皮普安裝databricks-cli——升級通過使用適當的版本皮普為您的Python安裝:

pip安裝databricks-cli——升級

列出的版本遺留數據磚CLI目前正在安裝,運行——版本:

磚,版本

設置身份驗證

在運行遺留數據磚CLI命令之前,您必須設置遺留數據磚CLI和磚之間的身份驗證。本節描述如何設置身份驗證的遺留數據磚CLI。

與遺留磚CLI的驗證,您可以使用一個磚個人訪問令牌。磚的用戶名和密碼也支持,但不推薦。

請注意

作為一個安全最佳實踐進行身份驗證時使用自動化工具,係統、腳本和應用程序,磚建議您使用OAuth令牌或個人訪問令牌屬於服務主體而不是用戶工作區。為服務主體,創建令牌管理個人訪問令牌服務主體

設置身份驗證使用磚個人訪問令牌

配置遺留數據磚CLI使用個人訪問令牌,運行以下命令:

磚配置——令牌

命令開始通過發行的提示:

磚主機(應該從https://開始):

輸入您的工作區URL,格式https:// <實例名稱> .cloud.www.eheci.com。得到您的工作區URL,明白了工作區實例名、url和id

命令繼續通過發出提示輸入您的個人訪問令牌:

令牌:

完成提示後,您的訪問憑證存儲在文件中~ / .databrickscfg在Linux或macOS,或% USERPROFILE % \ .databrickscfg在Windows上。文件包含一個默認的配置條目:

(默認)主機= < workspace-URL >令牌= < personal-access-token >

如果.databrickscfg文件已經存在,該文件默認的配置概要文件與新數據覆蓋。創建一個配置概要文件與一個不同的名字相反,看到的連接配置文件

對於CLI 0.8.1以上,可以改變該文件的路徑通過設置環境變量DATABRICKS_CONFIG_FILE

出口DATABRICKS_CONFIG_FILE=< path-to-file >
對於setx DATABRICKS_CONFIG_FILE“< path-to-file >”/ M

雖然不推薦,可以使用你的磚的用戶名和密碼,而不是磚個人訪問令牌驗證。運行配置並按提示。的.databrickscfg文件包含一個默認概要條目:

(默認)主機= < workspace-URL >用戶名= <用戶名>密碼= <密碼>

重要的

從CLI 0.17.2開始,CLI不工作. netrc文件。你可以有一個. netrc文件在您的環境中為其他的目的,但是CLI不會使用它. netrc文件。

CLI 0.8.0以上支持以下磚環境變量:

  • DATABRICKS_HOST

  • DATABRICKS_USERNAME

  • DATABRICKS_PASSWORD

  • DATABRICKS_TOKEN

一個環境變量設置優先於在配置文件中設置。

測試您的身份驗證設置

檢查你是否設置正確的身份驗證,您可以運行一個命令,如以下:

磚fs ls dbfs: /

如果成功,該命令列出了文件和目錄的DBFS根工作區與你相關聯默認的概要文件。

連接配置文件

遺留數據磚CLI配置支持多個連接配置文件。可以使用相同的遺留數據磚安裝CLI API調用在多個磚工作區。

添加一個連接配置文件,配置文件指定一個唯一的名稱:

磚配置——令牌的概要文件<配置文件名稱>

.databrickscfg文件包含一個相應的概要條目:

(<配置文件名稱>)主機= < workspace-URL >令牌= <標記>

使用連接配置文件:

磚<集團> <命令>——概要文件<配置文件名稱>

如果——簡介<配置文件名稱>沒有指定,那麼將使用默認的配置。如果一個默認的配置文件沒有找到,提示為CLI配置一個默認的配置文件。

測試您的連接配置文件

檢查是否你設置正確連接配置文件,您可以運行一個命令,如以下與你的連接配置文件的名字:

磚fs ls dbfs: /——概要文件<配置文件名稱>

如果成功,該命令列出了文件和目錄的DBFS根工作區為指定的連接配置文件。運行這個命令對每個連接配置文件,你想要測試。

查看可用的資料,看到你.databrickscfg文件。

使用CLI

本節將向您展示如何獲得遺產磚CLI的幫助,解析遺留磚CLI的輸出,並在每個命令調用命令組。

顯示CLI命令組的幫助

你列表的子命令使用的命令組——幫助- h選擇。例如,列出DBFS CLI子命令:

磚fs - h

顯示CLI子命令的幫助

你列表使用的子命令的幫助——幫助- h選擇。例如,列表DBFS複製文件的幫助子命令:

磚fs cp - h

別名命令組

有時它可以方便前綴每個遺留數據磚CLI調用命令組的名稱,例如工作空間ls遺留數據磚CLI。遺留數據磚CLI更容易使用,你可以命令別名命令組短。例如,縮短工作空間lsdwls在Bourne shell,您可以添加別名dw = "磚工作空間”到適當的bash配置文件。通常,該文件位於~ / . bash_profile

提示

遺留數據磚CLI已經別名fsdbfs;fslsdbfsls是等價的。

使用金橋解析CLI輸出

一些遺留數據磚CLI命令輸出JSON API端點的響應。有時它可能是有用的解析JSON管到其他命令的部分。例如,定義複製一份工作,你必須接受設置領域得到工作命令並使用它作為參數創建工作命令。在這些情況下,我們推薦您使用該實用程序金橋

例如,下麵的命令打印的設置工作,233年的ID。

工作——輸出列表JSON|金橋”。工作[]|選擇(。job_id = = 233) | .settings”

輸出:

{“名稱”:“快速入門”," new_cluster ": {:“spark_version 7.5.x-scala2.12”," spark_env_vars ": {:“PYSPARK_PYTHON /磚/ python3 / bin / python3”},“num_workers”: 8},“email_notifications”: {},“timeout_seconds”: 0," notebook_task ": {:“notebook_path /快速入門”},“max_concurrent_runs”: 1}

另外一個例子,下麵的命令輸出的名稱和id在工作區中所有可用的集群:

磚集群列表——JSON輸出|金橋“[.clusters[] |{名稱:.cluster_name, id: .cluster_id}]”

輸出:

({“名稱”:“我的集群1”,“id”:“1234 - 567890 grip123”},{“名稱”:“我的集群2”,“id”:“2345 - 678901 patch234”}]

你可以安裝金橋例如在macOS使用自製程序釀造安裝金橋或在Windows上使用巧克力色喬科省安裝金橋。的更多信息金橋,請參閱金橋手冊

JSON字符串參數

字符串參數處理不同的根據您的操作係統:

在單引號必須將JSON字符串參數。例如:

”(“20180505”、“alantest”)”

在雙引號必須將JSON字符串參數,和內部的引用字符字符串必須之前\。例如:

“(\“20180505 \”,\“alantest \]”

故障排除

以下部分為故障診斷提供建議與遺留磚CLI的常見問題。

使用EOF和配置不工作

磚CLI 0.12.0以上,使用的文件(EOF)序列在一個參數傳遞給腳本配置命令不工作。例如,下麵的腳本導致磚CLI忽略參數,和沒有錯誤消息:

#不這樣做。databricksUrl=< workspace-url >databricksToken=< personal-access-token >磚配置——令牌< < EOFdatabricksUrl美元databricksToken美元EOF

為了解決這個問題,做以下之一:

  • 使用另一個程序中描述的配置選項設置身份驗證

  • 手動添加主機令牌.databrickscfg文件中描述設置身份驗證

  • 磚的降級您的安裝CLI 0.11.0或低於它,並再次運行腳本。