注释
此信息适用于 Databricks CLI 版本 0.205 及更高版本。 Databricks CLI 目前处于公共预览阶段。
Databricks CLI 的使用须遵守 Databricks 许可和 Databricks 隐私声明,包括任何数据使用规定。
tables
Databricks CLI 中的命令组包含用于管理 Unity 目录中表的命令。 表驻留在 Unity 目录的三级命名空间的第三层。 它包含数据行。
databricks 表创建
在指定的目录和架构中创建新表。
注释
此 API 仅支持创建 外部 Delta 表。 仅支持 TABLE_TYPE=EXTERNAL 和 DATA_SOURCE_FORMAT=DELTA。 通过此 API 创建表时不支持列掩码。
若要创建外部 Delta 表,除标准、权限和特权外,调用方还必须具有EXTERNAL_USE_SCHEMA父架构和EXTERNAL_USE_LOCATIONUSE_CATALOG外部位置。 CREATE_TABLEUSE_SCHEMACREATE_EXTERNAL_TABLE 该 columns 字段必须采用与 Spark 兼容的格式。
databricks tables create NAME CATALOG_NAME SCHEMA_NAME TABLE_TYPE DATA_SOURCE_FORMAT STORAGE_LOCATION [flags]
论据
NAME
相对于父架构的表的名称。
CATALOG_NAME
父目录的名称。
SCHEMA_NAME
相对于父目录的父架构的名称。
TABLE_TYPE
表的类型。 支持的值:EXTERNAL、、EXTERNAL_SHALLOW_CLONEFOREIGNMANAGED、MANAGED_SHALLOW_CLONEMATERIALIZED_VIEW、。 METRIC_VIEWSTREAMING_TABLEVIEW
DATA_SOURCE_FORMAT
表的数据源格式。 支持的值:AVRO、、CSV、 DELTADELTASHARINGHIVEICEBERGJSONORCPARQUETTEXT和其他值。
STORAGE_LOCATION
表的存储根 URL(表是必需的MANAGED)。EXTERNAL
选项
--json JSON
内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。
例子
以下示例创建外部 Delta 表:
databricks tables create my_table my_catalog my_schema EXTERNAL DELTA s3://my-bucket/my-table
databricks 表删除
从指定的父目录和架构中删除表。 调用者必须是父目录的所有者并拥有 USE_CATALOG 权限,且是父架构的所有者;或者是表的所有者,同时在父目录上有 USE_CATALOG 权限,在父架构上有 USE_SCHEMA 权限。
databricks tables delete FULL_NAME [flags]
论据
FULL_NAME
表的全名。
选项
例子
以下示例删除表:
databricks tables delete my_catalog.my_schema.my_table
databricks 表存在
判断特定目录和模式的元数据存储中是否存在某个表。 调用方必须满足以下要求之一:
- 元存储管理员
- 父目录的所有者
- 父架构的所有者,并对父目录具有
USE_CATALOG特权 - 对父目录具有
USE_CATALOG特权和对父架构具有USE_SCHEMA特权,同时必须是表的所有者,或者对表具有SELECT特权。 - 拥有父目录的
BROWSE权限 - 对父架构具有
BROWSE特权。
databricks tables exists FULL_NAME [flags]
论据
FULL_NAME
表的全名。
选项
例子
以下示例检查表是否存在:
databricks tables exists my_catalog.my_schema.my_table
databricks 表获取
从特定目录和架构的元存储中获取表。 调用方必须满足以下要求之一:
- 元存储管理员
- 父目录的所有者
- 父架构的所有者,并对父目录具有
USE_CATALOG特权 - 对父目录具有
USE_CATALOG特权和对父架构具有USE_SCHEMA特权,同时必须是表的所有者,或者对表具有SELECT特权。
databricks tables get FULL_NAME [flags]
论据
FULL_NAME
表的全名。
选项
--include-browse
是否在主体只能访问特定元数据的情况下,将表格包含在响应中。
--include-delta-metadata
是否应将增量元数据包含在响应中。
--include-manifest-capabilities
是否包含一个列示表格功能的清单。
例子
以下示例获取有关表的信息:
databricks tables get my_catalog.my_schema.my_table
以下示例获取包含增量元数据的表:
databricks tables get my_catalog.my_schema.my_table --include-delta-metadata
databricks 表列表
列出父目录和架构下当前元存储库的所有表。 调用方必须是元存储管理员、表的所有者或在该表上拥有 SELECT 权限。 对于后一种情况,调用方还必须是所有者,或者对 USE_CATALOG 父目录和 USE_SCHEMA 父架构具有特权。 不能保证数组中元素的特定排序。
databricks tables list CATALOG_NAME SCHEMA_NAME [flags]
论据
CATALOG_NAME
感兴趣表所在父目录的名称。
SCHEMA_NAME
表的父架构。
选项
--include-browse
是否在主体只能访问特定元数据的情况下,将表格包含在响应中。
--include-delta-metadata
是否应将增量元数据包含在响应中。
--include-manifest-capabilities
是否包含一个列示表格功能的清单。
--max-results int
要返回的最大表数。
--omit-columns
是否要从响应中省略表的列。
--omit-properties
是否从响应中省略表的属性信息。
--omit-username
是否应省略表的用户名(例如
--page-token string
用于发送下一页结果(分页)的不透明令牌。
例子
以下示例列出目录和架构中的所有表:
databricks tables list my_catalog my_schema
以下示例列出了省略某些列的表:
databricks tables list my_catalog my_schema --omit-columns
databricks 表列表摘要
列出元存储中架构和目录的表摘要。 返回的表摘要可以是:
- 当用户是元存储管理员时,会提供当前元存储以及父目录和架构中表的摘要。
- 对用户在当前元存储和父目录中拥有所有权或
SELECT特权的表和架构的摘要,用户必须对这些表拥有所有权或SELECT特权,对架构拥有所有权或USE_CATALOG特权,且对父目录拥有所有权或特权。
不能保证数组中元素的特定排序。
databricks tables list-summaries CATALOG_NAME [flags]
论据
CATALOG_NAME
感兴趣表所在父目录的名称。
选项
--include-manifest-capabilities
是否包含一个列示表格功能的清单。
--max-results int
要返回的表的最大摘要数。
--page-token string
不透明分页令牌根据上一个查询转到下一页。
--schema-name-pattern string
用于架构名称的 SQL LIKE 匹配模式(% 和 _)。
--table-name-pattern string
表名称使用的 sql LIKE 模式(% 和 _)。
例子
以下示例列出目录中表的摘要:
databricks tables list-summaries my_catalog
以下示例列出了具有架构名称模式的表摘要:
databricks tables list-summaries my_catalog --schema-name-pattern "prod_%"
以下示例列出了符合表名称模式的表的摘要。
databricks tables list-summaries my_catalog --table-name-pattern "fact_%"
全局标志
--debug
是否启用调试日志记录。
-h 或 --help
显示 Databricks CLI、相关命令组或相关命令的帮助。
--log-file 字符串
一个字符串,表示要将输出日志写入到的文件。 如果未指定此标志,则默认会将输出日志写入到 stderr。
--log-format 格式
日志格式类型,text 或 json。 默认值是 text。
--log-level 字符串
一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。
-o, --output 类型
命令输出类型为 text 或 json。 默认值是 text。
-p, --profile 字符串
要用于运行命令的 ~/.databrickscfg 文件中的配置文件名称。 如果未指定此标志,并且存在命名为 DEFAULT 的配置文件,则使用该配置文件。
--progress-format 格式
显示进度日志的格式: default、 append、 inplace或 json
-t, --target 字符串
如果适用,要使用的捆绑包目标