磚CLI

命令行接口(CLI)為Databricks平台提供了一個易於使用的接口。Beplay体育安卓版本上托管開放源碼項目GitHub.CLI構建在Databricks之上REST API 2.0並根據。組織成命令組集群策略API 2.0集群API 2.0DBFS API 2.0組API 2.0(遺留)實例池API 2.0喬布斯API 2.1庫API 2.0Delta活動表API 2.0回購API 2.0秘密API 2.0令牌API 2.0,工作區API 2.0通過cluster-policies集群fsinstance-pools工作而且運行回購秘密令牌,工作空間分別命令組。

例如,你可以使用Databricks CLI來做如下事情:

  • 在Databricks工作區提供計算資源。

  • 執行數據處理和數據分析任務。

  • 列出、導入、導出工作空間中的筆記本和文件夾。

實驗

這個CLI正在積極開發中,並作為一個實驗客戶端。這意味著接口仍然會發生變化。

建立命令行

本節列出CLI的要求,並介紹如何安裝和配置環境以運行CLI。

需求

  • Python 3- 3.6或以上

  • Python 2- 2.7.9或以上

    重要的

    在macOS上,默認的Python 2安裝不實現TLSv1_2協議,使用此Python安裝運行CLI會導致錯誤:AttributeError:“模塊”對象沒有屬性“PROTOCOL_TLSv1_2”.使用家釀以安裝具有ssl。PROTOCOL_TLSv1_2

安裝CLI

運行皮普安裝databricks-cli使用合適的版本皮普Python安裝:

pip安裝databricks-cli

更新CLI

運行皮普安裝databricks-cli——升級使用合適的版本皮普Python安裝:

PIP安裝databricks-cli——upgrade

要列出當前安裝的命令行版本,請執行以下命令——版本(或- v):

磚,版本#還是……磚- v

設置身份驗證

請注意

作為安全最佳實踐,當使用自動化工具、係統、腳本和應用程序進行身份驗證時,Databricks建議使用屬於服務主體的訪問令牌,而不是工作區用戶的訪問令牌。有關更多信息,請參見Databricks自動化的服務主體

在執行CLI命令之前,必須先進行驗證設置。要在CLI中進行身份驗證,需要使用數據ricks個人訪問令牌.(支持使用Databricks用戶名和密碼,但不推薦使用。)

配置命令行使用個人訪問令牌,使用如下命令:

磚配置——令牌

該命令以發出提示符開始:

數據庫主機(應該從https://):開始

輸入您的工作區URL和格式https:// <實例名稱> .cloud.www.eheci.com.要獲取工作區URL,請參見工作區實例名稱、url和id

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

令牌:

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

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

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

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

雖然不推薦,但可以使用您的Databricks用戶名和密碼,而不是Databricks個人訪問令牌進行身份驗證。運行配置並遵循提示。的.databrickscfgFile包含一個默認的profile條目:

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

重要的

命令行不工作. netrc文件.你可以有一個. netrc文件用於其他目的,但是CLI不會使用它. netrc文件。

CLI 0.8.0及以上版本支持以下環境變量:

  • DATABRICKS_HOST

  • DATABRICKS_USERNAME

  • DATABRICKS_PASSWORD

  • DATABRICKS_TOKEN

環境變量的設置優先於配置文件中的設置。

測試身份驗證設置

為了檢查驗證設置是否正確,可以執行如下命令,替換為< someone@example.com >與您的Databricks工作區用戶名:

databricks workspace ls /Users/

如果成功,則執行此命令列出指定工作空間路徑中的對象

連接配置文件

Databricks CLI配置支持多種連接配置文件。同樣安裝的Databricks CLI可以用於對多個Databricks工作區進行API調用。

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

配置——token——profile 

.databrickscfgFile包含一個相應的配置文件條目:

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

使用連接配置文件:

數據ricks  ——profile 

如果——簡介<配置文件名稱>不指定,則使用默認配置文件。如果沒有找到默認配置文件,將提示使用默認配置文件配置命令行。

測試連接配置文件

要檢查是否正確地設置了連接配置文件,可以運行如下命令,替換為< someone@example.com >與您的Databricks工作區用戶名和<默認>使用其中一個連接配置文件名稱:

databricks workspace ls /Users/——profile 

如果成功,則執行此命令列出指定工作空間路徑中的對象在指定的連接概要文件的工作空間中。對要測試的每個連接配置文件運行此命令。

別名命令組

例如,有時用命令組的名稱作為每個CLI調用的前綴可能不方便工作空間ls.為了方便用戶使用,可以將命令組別名為較短的命令。例如,縮短工作空間lsdwls在伯恩再次shell中,可以添加別名dw = "磚工作空間”到適當的bash配置文件。通常,該文件位於~ / . bash_profile

提示

磚已經別名fsdbfsfsls而且dbfsls是等價的。

使用CLI

本節將向您展示如何獲得CLI幫助、解析CLI輸出和調用每個命令組中的命令。

顯示CLI命令組幫助信息

您可以通過運行列出任何命令組的子命令<集團>——幫助(或<集團>- h).例如,您可以通過運行列出DBFS CLI子命令fs- h

磚fs - h

顯示CLI子命令幫助

您可以通過運行列出子命令的幫助<集團><子命令>——幫助(或<集團><子命令>- h).例如,您可以通過運行列出DBFS複製文件子命令的幫助fscp- h

Databricks fs cp -h

使用金橋解析CLI輸出

有些Databricks CLI命令輸出來自API端點的JSON響應。有時,解析出JSON的某些部分並將其輸送到其他命令中會很有用。例如,要複製作業定義,您必須使用設置一個領域工作得到命令,並將其用作工作創建命令。在這些情況下,我們建議您使用該實用程序金橋

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

工作——輸出列表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[] | {name: .cluster_name, id: .cluster_id}]'
名稱:"My Cluster 1",“id”:“1234 - 567890 grip123”},"name": "My Cluster 2"“id”:“2345 - 678901 patch234”

你可以安裝金橋例如在macOS上使用Homebrew釀造安裝金橋或者在Windows上使用Chocolatey喬科省安裝金橋.如需更多信息金橋,請參閱金橋手冊

JSON字符串參數

字符串參數的處理方式取決於你的操作係統:

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

工作現在,作業標識9——jar-params”(“20180505”、“alantest”)”

必須將JSON字符串參數括在雙引號中,字符串中的引號字符必須在前麵.例如:

工作現在,作業標識9——jar-params“(\“20180505 \”,\“alantest \]”

故障排除

以下部分提供了一些關於Databricks CLI常見問題的故障排除技巧。

使用EOF和配置不工作

對於Databricks CLI 0.12.0及以上版本,使用文件結尾(EOF)序列將參數傳遞給配置命令無效。例如,以下腳本會導致Databricks CLI忽略參數,並且不會拋出錯誤消息:

#不要這樣做。databricksUrl< workspace-url >databricksToken數據ricks配置——token< < EOFdatabricksUrl美元databricksToken美元EOF

要解決此問題,請執行以下操作之一:

  • 使用其他編程配置選項之一,如設置身份驗證

  • 手動添加宿主而且令牌.databrickscfg中所述文件設置身份驗證

  • 將Databricks CLI的安裝調至0.11.0或更低,然後再次運行腳本。