创建和管理目录

这篇文章展示了如何在Unity Catalog中创建和管理目录。目录包含模式(数据库),模式包含表和视图。

需求

  • 您必须是Databricks metastore管理员或已被授予metastore上的CREATE CATALOG特权

  • 您的Databricks帐户必须在优质及以上计划

  • 你必须有一个统一目录metastore链接到工作区在这里执行目录创建。

  • 计算资源用于运行笔记本或Databricks SQL创建目录的数据库必须使用符合Unity catalog的访问模式。

创建目录

要创建目录,可以使用数据资源管理器或SQL命令。

  1. 登录到与metastore链接的工作空间。

  2. 点击数据图标数据

  3. 单击创建目录按钮。

  4. (可选)指定数据存放的位置管理表将在目录中存储。

    只有当您不希望此目录中的托管表存储在为metastore配置的默认根存储位置中时,才在此处指定位置。看到创建一个Unity Catalog metastore

    指定的路径必须在外部位置配置中定义,并且必须具有创建管理存储外部位置上的特权。您还可以使用该路径的子路径。看到管理外部位置和存储凭证

  5. 为您的目录分配权限。看到Unity Catalog特权和安全对象

  6. 点击保存

  1. 在笔记本或Databricks SQL编辑器中运行以下SQL命令。括号中的项目是可选的。替换占位符值:

    • < catalog_name >:目录的名称。

    • < location_path >:可选的。如果希望此目录中的托管表存储在不同于为metastore配置的默认位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”s3: / /部门/金融/产品的).要求Databricks运行时11.3及以上。

    • < >的评论:可选描述或其他注释。

    创建目录如果存在<catalog_name>管理位置' < location_path >”评论<评论>];

    例如,创建一个名为例子

    创建目录如果存在例子
  2. 为目录分配特权。看到Unity Catalog特权和安全对象

  1. 在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符值:

    • < catalog_name >:目录的名称。

    • < location_path >:可选的。如果希望此目录中的托管表存储在不同于为metastore配置的默认位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”s3: / /部门/金融/产品的).要求Databricks运行时11.3及以上。

    • < >的评论:可选注释。

    火花sql"CREATE CATALOG [IF NOT EXISTS]  [MANAGED LOCATION ''] [COMMENT < COMMENT >]"

    例如,创建一个名为例子

    火花sql"创建目录如果不存在的例子"

    参数说明请参见创建目录

  2. 为目录分配特权。看到Unity Catalog特权和安全对象

  1. 在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符值:

    • < catalog_name >:目录的名称。

    • < location_path >:可选的。如果希望此目录中的托管表存储在不同于为metastore配置的默认位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”s3: / /部门/金融/产品的).要求Databricks运行时11.3及以上。

    • < >的评论:可选注释。

    图书馆SparkRsql"CREATE CATALOG [IF NOT EXISTS]  [MANAGED LOCATION ''] [COMMENT < COMMENT >]"

    例如,创建一个名为例子

    图书馆SparkRsql"创建目录如果不存在的例子"
  2. 为目录分配特权。看到Unity Catalog特权和安全对象

  1. 在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符值:

    • < catalog_name >:目录的名称。

    • < location_path >:可选的。如果希望此目录中的托管表存储在不同于为metastore配置的默认位置的位置,则提供存储位置路径。类型中必须定义此路径外部位置配置,你必须有创建管理存储外部位置配置上的特权。您可以使用外部位置配置中定义的路径或子路径(换句话说,“s3: / /部门/金融”s3: / /部门/金融/产品的).要求Databricks运行时11.3及以上。

    • < >的评论:可选注释。

    火花sql"CREATE CATALOG [IF NOT EXISTS]  [MANAGED LOCATION ''] [COMMENT < COMMENT >]"

    例如,创建一个名为例子

    火花sql"创建目录如果不存在的例子"
  2. 为目录分配特权。看到Unity Catalog特权和安全对象

创建目录时,会自动创建两个模式(数据库):默认的而且information_schema

方法创建目录Databricks Terraform提供商而且databricks_catalog.可以通过使用检索有关目录的信息databricks_catalogs

下一个步骤

现在你可以向目录中添加模式(数据库)

删除目录

要删除(或删除)目录,可以使用数据资源管理器或SQL命令。

必须删除目录中的所有模式information_schema在删除目录之前。这包括自动创建的默认的模式。

  1. 登录到与metastore链接的工作空间。

  2. 点击数据图标数据

  3. 数据窗格的左侧,单击要删除的目录。

  4. 在详细信息窗格中,单击左侧的三点菜单创建数据库按钮并选择删除

  5. 删除目录对话框中,单击删除

在笔记本或Databricks SQL编辑器中运行以下SQL命令。括号中的项目是可选的。替换占位符< catalog_name >

参数说明请参见删除目录

如果你使用下降目录没有级联选项时,必须删除目录中的所有模式information_schema才能删除目录。这包括自动创建的默认的模式。

下降目录如果存在<catalog_name>限制|级联

例如,删除名为疫苗以及它的模式:

下降目录疫苗级联

在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符< catalog_name >

参数说明请参见删除目录

如果你使用下降目录没有级联选项时,必须删除目录中的所有模式information_schema才能删除目录。这包括自动创建的默认的模式。

火花sql"DROP CATALOG [IF EXISTS]  [RESTRICT | CASCADE]"

例如,删除名为疫苗以及它的模式:

火花sql“DROP目录疫苗级联”

在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符< catalog_name >

参数说明请参见删除目录

如果你使用下降目录没有级联选项时,必须删除目录中的所有模式information_schema才能删除目录。这包括自动创建的默认的模式。

图书馆SparkRrsql"DROP CATALOG [IF EXISTS]  [RESTRICT | CASCADE]"

例如,删除名为疫苗以及它的模式:

图书馆SparkRsql“DROP目录疫苗级联”

在笔记本中运行以下SQL命令。括号中的项目是可选的。替换占位符< catalog_name >

参数说明请参见删除目录

如果你使用下降目录没有级联选项时,必须删除目录中的所有模式information_schema才能删除目录。这包括自动创建的默认的模式。

火花sql"DROP CATALOG [IF EXISTS]  [RESTRICT | CASCADE]"

例如,删除名为疫苗以及它的模式:

火花sql“DROP目录疫苗级联”