创建和管理模式(数据库)
本文展示了如何在Unity Catalog中创建和管理模式(数据库)。模式包含表、视图和函数。在里面创建模式目录.
创建一个模式
要创建模式(数据库),可以使用数据资源管理器或SQL命令。
登录到与metastore链接的工作空间。
点击数据.
在数据窗格中,单击要在其中创建模式的目录。
在详细信息窗格中,单击创建数据库.
为模式命名,并添加有助于用户理解模式用途的注释。
(可选)指定数据存放的位置管理表将存储在模式中。
只有在不希望将此模式中的托管表存储在为metastore配置的默认根存储位置或为编目指定的存储位置(如果有的话)时,才在此处指定位置。看到创建一个Unity Catalog metastore.
指定的路径必须在外部位置配置中定义,并且必须具有
创建管理存储
外部位置上的特权。您还可以使用该路径的子路径。看到管理外部位置和存储凭证.点击创建.
为您的目录分配权限。看到Unity Catalog特权和安全对象.
点击保存.
在笔记本或Databricks SQL编辑器中运行以下SQL命令。括号中的项目是可选的。你可以用任何一种
模式
或数据库
.替换占位符值:< catalog_name >
:模式的父目录的名称。< schema_name >
:模式的名称。< location_path >
:可选的。如果希望将此模式中的托管表存储在不同于编目或metastore存储根位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储
外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”
或s3: / /部门/金融/产品的
).要求Databricks运行时11.3及以上。< >的评论
:可选描述或其他注释。< property_name >=< property_value >[,...]
:可选的。要为模式设置的Spark SQL属性和值。
参数说明请参见创建模式.
使用目录<目录>;CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]
[MANAGED LOCATION ' '] [COMMENT < COMMENT >] [WITH DBPROPERTIES ( )]; 可以选择省略
使用目录
语句和替换< schema_name >
与< catalog_name >。< schema_name >
.为模式分配特权。看到Unity Catalog特权和安全对象.
在笔记本上运行以下SQL命令。括号中的项目是可选的。你可以用任何一种
模式
或数据库
.替换占位符值:< catalog_name >
:模式的父目录的名称。< schema_name >
:模式的名称。< location_path >
:可选的。如果希望将此模式中的托管表存储在不同于编目或metastore存储根位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储
外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”
或s3: / /部门/金融/产品的
).要求Databricks运行时11.3及以上。< >的评论
:可选注释。< property_name >=< property_value >[,...]
:要为模式设置的Spark SQL属性和值。
有关参数说明和更多选项,请参见创建模式.
火花.sql("使用目录<目录>")火花.sql("CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]
" \"[MANAGED LOCATION ''] " \"[COMMENT < COMMENT >] "\[WITH DBPROPERTIES ()]" )可以选择省略
使用目录
语句和替换< schema_name >
与< catalog_name >。< schema_name >
.为模式分配特权。看到Unity Catalog特权和安全对象.
在笔记本上运行以下SQL命令。括号中的项目是可选的。你可以用任何一种
模式
或数据库
.替换占位符值:< catalog_name >
:模式的父目录的名称。< schema_name >
:模式的名称。< location_path >
:可选的。如果希望将此模式中的托管表存储在不同于编目或metastore存储根位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储
外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”
或s3: / /部门/金融/产品的
).要求Databricks运行时11.3及以上。< >的评论
:可选注释。< property_name >=< property_value >[,...]
:要为模式设置的Spark SQL属性和值。
参数说明请参见创建模式.
图书馆(SparkR)sql("使用目录<目录>")sql(粘贴("CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]
" ,"[MANAGED LOCATION ''] " ,"[COMMENT < COMMENT >] ",[WITH DBPROPERTIES ()]" ,9月=""))可以选择省略
使用目录
语句和替换< schema_name >
与< catalog_name >。< schema_name >
.为模式分配特权。看到Unity Catalog特权和安全对象.
在笔记本上运行以下SQL命令。括号中的项目是可选的。你可以用任何一种
模式
或数据库
.替换占位符值:< catalog_name >
:模式的父目录的名称。< schema_name >
:模式的名称。< location_path >
:可选的。如果希望将此模式中的托管表存储在不同于编目或metastore存储根位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储
外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”
或s3: / /部门/金融/产品的
).要求Databricks运行时11.3及以上。< >的评论
:可选注释。< property_name >=< property_value >[,...]
:要为模式设置的Spark SQL属性和值。
参数说明请参见创建模式.
火花.sql("使用目录<目录>")火花.sql("CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]
" +"[MANAGED LOCATION ''] " +"[COMMENT < COMMENT >] "+[WITH DBPROPERTIES ()]" )可以选择省略
使用目录
语句和替换< schema_name >
与< catalog_name >。< schema_name >
.为模式分配特权。看到Unity Catalog特权和安全对象.
方法创建模式Databricks Terraform提供商而且databricks_schema.可以使用检索模式id列表databricks_schemas.
下一个步骤
现在你可以向模式中添加表.
删除模式
要删除(或删除)模式(数据库),可以使用Data Explorer或SQL命令。
在删除模式之前,必须删除模式中的所有表。
登录到与metastore链接的工作空间。
点击数据.
在数据窗格的左侧,单击要删除的模式(数据库)。
在详细信息窗格中,单击右上角的三点菜单,选择删除.
在删除数据库对话框中,单击删除.
在笔记本或Databricks SQL编辑器中运行以下SQL命令。括号中的项目是可选的。替换占位符< schema_name >
.
参数说明请参见删除模式.
如果你使用下降模式
没有级联
选项,则必须先删除模式中的所有表,然后才能删除它。
下降模式[如果存在]<schema_name>[限制|级联]
例如,删除名为inventory_schema
以及它的表格:
下降模式inventory_schema级联
在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符< schema_name >
.
参数说明请参见删除模式.
如果你使用下降模式
没有级联
选项,则必须先删除模式中的所有表,然后才能删除它。
火花.sql("DROP SCHEMA [IF EXISTS] [RESTRICT | CASCADE]" )
例如,删除名为inventory_schema
以及它的表格:
火花.sql(“DROP SCHEMA inventory_schema CASCADE”)
在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符< schema_name >
.
参数说明请参见删除模式.
如果你使用下降模式
没有级联
选项,则必须先删除模式中的所有表,然后才能删除它。
图书馆(SparkR)sql("DROP SCHEMA [IF EXISTS] [RESTRICT | CASCADE]" )
例如,删除名为inventory_schema
以及它的表格:
图书馆(SparkR)sql(“DROP SCHEMA inventory_schema CASCADE”)
在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符< schema_name >
.
参数说明请参见删除模式.
如果你使用下降模式
没有级联
选项,则必须先删除模式中的所有表,然后才能删除它。
火花.sql("(DROP SCHEMA [IF EXISTS] [RESTRICT | CASCADE]" )
例如,删除名为inventory_schema
以及它的表格:
火花.sql(“DROP SCHEMA inventory_schema CASCADE”)