堆棧CLI
β
這個特性是在β。
請注意
堆棧CLI需要磚CLI 0.8.3或以上。
堆棧CLI提供了一種方法來管理一堆磚資源,比如工作,筆記本電腦,和DBFS文件。你可以在本地存儲筆記本和DBFS文件並創建一個堆棧配置JSON模板定義映射從您的本地文件路徑在磚工作區,配置運行的工作筆記本。
使用堆棧CLI堆棧配置JSON模板部署和管理你的堆棧。
你跑磚煙囪的CLI子命令通過添加磚堆棧
。
磚煙囪——幫助
用法:磚煙囪的[選項]命令(ARGS)……(β)實用程序來部署和下載資源堆磚。選項:- v、版本(版本)——調試調試模式。顯示完整的堆棧跟蹤誤差。——概要文本使用CLI連接配置文件。默認的配置文件是“默認”。- h,幫助顯示此消息並退出。命令:部署部署一個堆棧的資源給一個JSON配置堆棧的用法:磚煙囪的部署[選項]CONFIG_PATH選項:- o,覆蓋包括覆蓋現有的工作區筆記本和DBFS文件(默認值:False)下載下載工作區筆記本一個堆棧的本地文件係統給定一個JSON堆棧配置模板。用法:磚堆下載[選項]CONFIG_PATH選項:- o,覆蓋包括覆蓋現有的工作區筆記本在本地文件係統(默認值:False)
一個堆棧的文件結構
樹
。├──筆記本|├──常見| |└──筆記本。scala |└──配置|├──環境。scala |└──設置。sql├──自由|└──圖書館。jar└──json
這個例子堆棧包含一個主要的筆記本筆記本/共同/ notebook.scala
以及配置的筆記本電腦筆記本/配置
文件夾中。有一個JAR庫依賴的堆棧lib / library.jar
。json
是協議棧的堆棧配置JSON模板。這就是傳遞到堆棧CLI堆棧的部署。
堆棧配置JSON模板
堆棧配置模板描述了堆棧配置。
貓json
{“名稱”:“example-stack”,“資源”:({“id”:“example-workspace-notebook”,“服務”:“工作區”,“屬性”:{“source_path”:“筆記本/共同/ notebook.scala”,“路徑”:“/用戶/ example@example.com/dev/notebook”,“object_type”:“筆記本”}},{“id”:“example-workspace-config-dir”,“服務”:“工作區”,“屬性”:{“source_path”:“筆記本/配置”,“路徑”:“/用戶/ example@example.com/dev/config”,“object_type”:“目錄”}},{“id”:“example-dbfs-library”,“服務”:“dbfs”,“屬性”:{“source_path”:“lib / library.jar”,“路徑”:“dbfs: / tmp / lib / library.jar”,“is_dir”:假}},{“id”:“example-job”,“服務”:“工作”,“屬性”:{“名稱”:“例子堆棧CLI工作”,“new_cluster”:{“spark_version”:“7.3.x-scala2.12”,“node_type_id”:“i3.xlarge”,“aws_attributes”:{“可用性”:“現貨”},“num_workers”:3},“timeout_seconds”:7200年,“max_retries”:1,“notebook_task”:{“notebook_path”:“/用戶/ example@example.com/dev/notebook”}}}]}
每個工作,工作區筆記本,工作區目錄,DBFS文件,或者DBFS目錄是定義為一個ResourceConfig。每一個ResourceConfig
代表一個工作區或DBFS資產包含的映射文件或目錄,它存在在本地(source_path
),它將存在於工作區或DBFS (路徑
)。
堆棧配置模板模式概述了堆棧配置模板的模式。
部署一個堆棧
你部署一個堆棧使用磚堆棧部署<配置文件>
命令。
磚煙囪的部署。/ json
堆棧部署期間,DBFS和工作區資產上傳到你的磚創建工作空間和工作。
在堆棧部署時,StackStatusJSON文件部署保存在相同的目錄堆棧配置模板名稱,添加部署
立即在. json
擴展:(例如,。/ config.deployed.json
)。這個文件是使用的堆棧CLI跟蹤過去的部署資源在您的工作區中。
堆棧狀態模式概述了模式的堆棧配置。
重要的
不要試圖編輯或移動堆棧狀態文件。如果你得到任何錯誤關於堆棧狀態文件,刪除文件和部署再試。
貓。/ config.deployed.json
{“cli_version”:“0.8.3”,“deployed_output”:({“id”:“example-workspace-notebook”,“databricks_id”:{“路徑”:“/用戶/ example@example.com/dev/notebook”},“服務”:“工作區”},{“id”:“example-workspace-config-dir”,“databricks_id”:{“路徑”:“/用戶/ example@example.com/dev/config”},“服務”:“工作區”},{“id”:“example-dbfs-library”,“databricks_id”:{“路徑”:“dbfs: / tmp / lib / library.jar”},“服務”:“dbfs”},{“id”:“example-job”,“databricks_id”:{“job_id”:123456年},“服務”:“工作”}),“名稱”:“example-stack”}
StackConfig
這些都是外領域的堆棧配置模板。所有字段是必需的。
字段名 |
類型 |
描述 |
---|---|---|
的名字 |
|
的名字堆棧。 |
資源 |
磚的資產。資源相關的三個服務(REST API名稱空間):工作區、工作,dbfs。 |
ResourceConfig
字段為每個ResourceConfig
。所有字段是必需的。
字段名 |
類型 |
描述 |
---|---|---|
id |
|
資源的一個惟一的ID。ResourceConfig的獨特性是執行。 |
服務 |
REST API服務資源的運作。之一: |
|
屬性 |
字段是不同的不同的 |
ResourceProperties
資源的屬性ResourceService。田野被歸類為那些使用或不使用磚REST API。列出所有字段都是必需的。
服務 |
字段中使用的REST API堆棧CLI |
字段隻在堆棧使用CLI |
---|---|---|
工作空間 |
路徑: object_type:ObjectType——筆記本對象類型。隻能 |
source_path: |
工作 |
任何領域的設置或new_settings結構。唯一字段不是必需的設置或new_settings結構但需要堆棧CLI是: 名稱: |
一個也沒有。 |
dbfs |
路徑: is_dir: |
source_path: |
ResourceService
每個資源屬於一個特定的服務與磚REST API。這些服務支持的堆棧CLI。
服務 |
描述 |
---|---|
工作空間 |
一個工作區筆記本或目錄。 |
工作 |
磚的工作。 |
dbfs |
DBFS文件或目錄。 |
StackStatus
創建一個堆棧狀態文件後一個堆棧使用CLI部署。頂級字段:
字段名 |
類型 |
描述 |
---|---|---|
的名字 |
|
的名字堆棧。這個字段是在相同的領域StackConfig。 |
cli_version |
|
磚CLI用於部署的版本的堆棧。 |
deployed_resources |
每個部署資源的狀態。中定義的每個資源StackConfig,相應的ResourceStatus生成。 |
ResourceStatus
字段名 |
類型 |
描述 |
---|---|---|
id |
|
stack-unique ID的資源。 |
服務 |
REST API服務資源的運作。之一: |
|
databricks_id |
物理部署資源的ID。實際的模式取決於資源的類型(服務)。 |
DatabricksId
取決於服務一個JSON對象的字段。
服務 |
在JSON |
類型 |
描述 |
---|---|---|---|
工作空間 |
路徑 |
字符串 |
筆記本或目錄的絕對路徑在一個磚工作區。命名是一致的工作區API 2.0。 |
工作 |
job_id |
字符串 |
工作標識所示一個磚的工作區。這可以用於更新已部署工作。 |
dbfs |
路徑 |
字符串 |
筆記本或目錄的絕對路徑在一個磚工作區。命名是一致的DBFS API 2.0。 |