創建和管理模式(數據庫)

本文展示了如何在Unity Catalog中創建和管理模式(數據庫)。模式包含表、視圖和函數。在裏麵創建模式目錄

需求

  • 你必須有使用目錄而且創建模式數據權限在模式的父目錄上。metastore管理員或目錄的所有者都可以授予您這些特權。如果您是一個metastore管理員,您可以將這些特權授予自己。

  • 您的Databricks帳戶必須在優質及以上計劃

  • 你必須有一個統一目錄metastore鏈接到工作區在這裏執行模式創建。

  • 計算資源用於運行筆記本或Databricks SQL創建目錄的數據庫必須使用符合Unity catalog的訪問模式。

創建一個模式

要創建模式(數據庫),可以使用數據資源管理器或SQL命令。

  1. 登錄到與metastore鏈接的工作空間。

  2. 點擊數據圖標數據

  3. 數據窗格中,單擊要在其中創建模式的目錄。

  4. 在詳細信息窗格中,單擊創建數據庫

  5. 為模式命名,並添加有助於用戶理解模式用途的注釋。

  6. (可選)指定數據存放的位置管理表將存儲在模式中。

    ..注意:此選項僅在使用Databricks SQL或運行Databricks Runtime 11.3或更高版本的集群時出現。

    隻有在不希望將此模式中的托管表存儲在為metastore配置的默認根存儲位置或為編目指定的托管存儲位置(如果有的話)時,才在此處指定位置。看到創建一個Unity Catalog metastore

    指定的路徑必須在外部位置配置中定義,並且必須具有創建管理存儲外部位置上的特權。您還可以使用該路徑的子路徑。看到管理外部位置和存儲憑證

  7. 點擊創建

  8. 為您的目錄分配權限。看到Unity Catalog特權和安全對象

  9. 點擊保存

  1. 在筆記本或Databricks SQL編輯器中運行以下SQL命令。括號中的項目是可選的。你可以用任何一種模式數據庫.替換占位符值:

    • < catalog_name >:模式的父目錄的名稱。

    • < schema_name >:模式的名稱。

    • < location_path >:可選的。僅當使用Databricks SQL或運行Databricks Runtime 11.3或更高版本的集群時可用。如果希望將此模式中的托管表存儲在不同於編目或metastore的根存儲位置的位置,則提供存儲位置路徑。類型中必須定義此路徑外部位置配置,你必須有創建管理存儲外部位置配置上的特權。您可以使用外部位置配置中定義的路徑或子路徑(換句話說,“s3: / /部門/金融”s3: / /部門/金融/產品的).

    • < >的評論:可選描述或其他注釋。

    • < property_key >< property_value >...:可選的。要為模式設置的Spark SQL屬性和值。

    參數說明請參見創建模式

    使用目錄<目錄>;CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]  [MANAGED LOCATION ''] [COMMENT < COMMENT >] [WITH DBPROPERTIES ()];

    可以選擇省略使用目錄語句和替換< schema_name >< catalog_name >。< schema_name >

  2. 為模式分配特權。看到Unity Catalog特權和安全對象

  1. 在筆記本上運行以下SQL命令。括號中的項目是可選的。你可以用任何一種模式數據庫.替換占位符值:

    • < catalog_name >:模式的父目錄的名稱。

    • < schema_name >:模式的名稱。

    • < location_path >:可選的。僅當使用Databricks SQL或運行Databricks Runtime 11.3或更高版本的集群時可用。如果希望將此模式中的托管表存儲在不同於編目或metastore的根存儲位置的位置,則提供存儲位置路徑。類型中必須定義此路徑外部位置配置,你必須有創建管理存儲外部位置配置上的特權。您可以使用外部位置配置中定義的路徑或子路徑(換句話說,“s3: / /部門/金融”s3: / /部門/金融/產品的).

    • < >的評論:可選注釋。

    • < property_key >< property_value >...:要為模式設置的Spark SQL屬性和值。

    有關參數說明和更多選項,請參見創建模式

    火花sql"使用目錄<目錄>"火花sql"CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]  ""[MANAGED LOCATION ''] ""[COMMENT < COMMENT >] "[WITH DBPROPERTIES ()]"

    可以選擇省略使用目錄語句和替換< schema_name >< catalog_name >。< schema_name >

  2. 為模式分配特權。看到Unity Catalog特權和安全對象

  1. 在筆記本上運行以下SQL命令。括號中的項目是可選的。你可以用任何一種模式數據庫.替換占位符值:

    • < catalog_name >:模式的父目錄的名稱。

    • < schema_name >:模式的名稱。

    • < location_path >:可選的。僅當使用Databricks SQL或運行Databricks Runtime 11.3或更高版本的集群時可用。如果希望將此模式中的托管表存儲在不同於編目或metastore的根存儲位置的位置,則提供存儲位置路徑。類型中必須定義此路徑外部位置配置,你必須有創建管理存儲外部位置配置上的特權。您可以使用外部位置配置中定義的路徑或子路徑(換句話說,“s3: / /部門/金融”s3: / /部門/金融/產品的).

    • < >的評論:可選注釋。

    • < property_key >< property_value >...:要為模式設置的Spark SQL屬性和值。

    參數說明請參見創建模式

    圖書館SparkRsql"使用目錄<目錄>"sql粘貼"CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]  ""[MANAGED LOCATION ''] ""[COMMENT < COMMENT >] "[WITH DBPROPERTIES ()]"9月""))

    可以選擇省略使用目錄語句和替換< schema_name >< catalog_name >。< schema_name >

  2. 為模式分配特權。看到Unity Catalog特權和安全對象

  1. 在筆記本上運行以下SQL命令。括號中的項目是可選的。你可以用任何一種模式數據庫.替換占位符值:

    • < catalog_name >:模式的父目錄的名稱。

    • < schema_name >:模式的名稱。

    • < location_path >:可選的。如果希望將此模式中的托管表存儲在與編目或亞存儲的根存儲位置不同的托管位置,則提供存儲位置路徑。類型中必須定義此路徑外部位置配置,你必須有創建管理存儲外部位置配置上的特權。您可以使用外部位置配置中定義的路徑或子路徑(換句話說,“s3: / /部門/金融”s3: / /部門/金融/產品的).要求Databricks運行時11.3及以上。

    • < >的評論:可選注釋。

    • < property_key >< property_value >...:要為模式設置的Spark SQL屬性和值。

    參數說明請參見創建模式

    火花sql"使用目錄<目錄>"火花sql"CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]  "+"[MANAGED LOCATION ''] "+"[COMMENT < COMMENT >] "+[WITH DBPROPERTIES ()]"

    可以選擇省略使用目錄語句和替換< schema_name >< catalog_name >。< schema_name >

  2. 為模式分配特權。看到Unity Catalog特權和安全對象

方法創建模式Databricks Terraform提供商而且databricks_schema.可以使用檢索模式id列表databricks_schemas

下一個步驟

現在你可以向模式中添加表

刪除模式

要刪除(或刪除)模式(數據庫),可以使用Data Explorer或SQL命令。要刪除模式,您必須是它的所有者。

在刪除模式之前,必須刪除模式中的所有表。

  1. 登錄到與metastore鏈接的工作空間。

  2. 點擊數據圖標數據

  3. 數據窗格的左側,單擊要刪除的模式(數據庫)。

  4. 在詳細信息窗格中,單擊右上角的三點菜單,選擇刪除

  5. 刪除數據庫對話框中,單擊刪除

在筆記本或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 >

參數說明請參見刪除模式

如果你使用下降模式沒有級聯選項,則必須先刪除模式中的所有表,然後才能刪除它。

圖書館SparkRsql"DROP SCHEMA [IF EXISTS]  [RESTRICT | CASCADE]"

例如,刪除名為inventory_schema以及它的表格:

圖書館SparkRsql“DROP SCHEMA inventory_schema CASCADE”

在筆記本中運行以下SQL命令。括號中的項目是可選的。替換占位符< schema_name >

參數說明請參見刪除模式

如果你使用下降模式沒有級聯選項,則必須先刪除模式中的所有表,然後才能刪除它。

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

例如,刪除名為inventory_schema以及它的表格:

火花sql“DROP SCHEMA inventory_schema CASCADE”