堆栈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)

部署一个堆栈,以一个工作区

这个子命令部署一个堆栈。看到堆栈设置学习如何建立一个堆栈。

砖烟囱的部署。/ json

堆栈配置JSON模板给一个例子json

下载堆栈笔记本变化

此子命令下载一个堆栈的笔记本。

砖堆下载。/ json

例子

堆栈设置

一个堆栈的文件结构

。├──笔记本|├──常见| |└──笔记本。scala |└──配置|├──环境。scala |└──设置。sql├──自由|└──图书馆。jar└──json

这个例子堆栈包含一个主要的笔记本笔记本/共同/ notebook.scala以及配置的笔记本电脑笔记本/配置文件夹中。有一个JAR库依赖的堆栈lib / library.jarjson是协议栈的堆栈配置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

这些都是外领域的堆栈配置模板。所有字段是必需的。

字段名

类型

描述

的名字

字符串

的名字堆栈。

资源

的列表ResourceConfig

砖的资产。资源相关的三个服务(REST API名称空间):工作区、工作,dbfs。

ResourceConfig

字段为每个ResourceConfig。所有字段是必需的。

字段名

类型

描述

id

字符串

资源的一个惟一的ID。ResourceConfig的独特性是执行。

服务

ResourceService

REST API服务资源的运作。之一:工作,工作空间,或dbfs

属性

ResourceProperties

字段是不同的不同的ResourceConfig服务。

ResourceProperties

资源的属性ResourceService。田野被归类为那些使用或不使用砖REST API。列出所有字段都是必需的。

服务

字段中使用的REST API堆栈CLI

字段只在堆栈使用CLI

工作空间

路径:字符串——远程工作区笔记本或目录的路径。(交货。/用户/ example@example.com/notebook)

object_type:ObjectType——笔记本对象类型。只能笔记本目录

source_path:字符串——当地的源路径工作区笔记本或目录。堆栈配置模板文件的相对路径或绝对路径在您的文件系统。

工作

任何领域的设置或new_settings结构。唯一字段不是必需的设置或new_settings结构但需要堆栈CLI是:

名称:字符串——工作部署的名称。为了没有创造太多的重复工作,堆栈CLI实施独特的名字堆栈部署工作。

一个也没有。

dbfs

路径:字符串——远程DBFS匹配路径。必须从dbfs: /。(交货。dbfs: / / / /样本/路径)

is_dir:BOOL——无论是DBFS路径是一个目录或一个文件中。

source_path:字符串——当地来源DBFS文件或目录的路径。堆栈配置模板文件的相对路径或绝对路径在您的文件系统。

ResourceService

每个资源属于一个特定的服务与砖REST API。这些服务支持的堆栈CLI。

服务

描述

工作空间

一个工作区笔记本或目录。

工作

砖的工作。

dbfs

DBFS文件或目录。

堆栈状态模式

StackStatus

创建一个堆栈状态文件后一个堆栈使用CLI部署。顶级字段:

字段名

类型

描述

的名字

字符串

的名字堆栈。这个字段是在相同的领域StackConfig

cli_version

字符串

砖CLI用于部署的版本的堆栈。

deployed_resources

的列表ResourceStatus

每个部署资源的状态。中定义的每个资源StackConfig,相应的ResourceStatus生成。

ResourceStatus

字段名

类型

描述

id

字符串

stack-unique ID的资源。

服务

ResourceService

REST API服务资源的运作。之一:工作,工作空间,或dbfs

databricks_id

DatabricksId

物理部署资源的ID。实际的模式取决于资源的类型(服务)。

DatabricksId

取决于服务一个JSON对象的字段。

服务

在JSON

类型

描述

工作空间

路径

字符串

笔记本或目录的绝对路径在一个砖工作区。命名是一致的工作区API 2.0

工作

job_id

字符串

工作标识所示一个砖的工作区。这可以用于更新已部署工作。

dbfs

路径

字符串

笔记本或目录的绝对路径在一个砖工作区。命名是一致的DBFS API 2.0