创建模式

适用于:检查标记是的砖的SQL检查标记是的砖运行时9.1及以后

创建一个与指定的模式(数据库)的名字。如果一个具有相同名称的模式已经存在,就会抛出一个异常。

语法

创建模式(如果存在]schema_name(评论schema_comment](位置schema_directory|管理位置location_path](DBPROPERTIES({property_name=property_value}(,])]

参数

  • schema_name

    要创建的模式的名称。

  • 如果不存在

    创建一个模式的名字如果它不存在。如果一个具有相同名称的模式已经存在,什么也不会发生。

  • 位置schema_directory

    位置不支持在统一目录。如果你想指定一个存储位置的模式统一目录,使用管理位置

    schema_directory是一个字符串文字。文件系统的路径中指定的模式创建。如果指定的路径不存在在底层文件系统中,创建一个目录的路径。如果没有指定位置,默认的仓库目录中创建的模式,由静态配置的路径配置spark.sql.warehouse.dir

    警告

    如果一个模式(数据库)注册在你的工作空间层蜂巢metastore,模式使用级联选项会导致所有文件被删除递归模式位置,无论表类型(管理或外部)。

    如果模式注册metastore统一目录,统一的文件目录管理表递归地删除。然而,文件外部表不删除。你必须管理这些文件直接使用云存储提供商。

    因此,为了避免数据意外丢失,您不应该注册一个模式在一个蜂巢metastore位置与现有数据。你也不应该创建新的外部表在一个位置由蜂巢metastore模式或包含统一目录管理表。

  • schema_comment

    一个字符串文字。描述模式。

  • 管理位置location_path

    管理位置是可选的,需要统一目录。如果你想为一个模式指定一个存储位置注册在你的工作空间层蜂巢或第三方metastore使用位置代替。

    location_path必须是一个字符串文字。指定的路径存储根位置模式不同于存储根目录或metastore的位置。这条路必须定义在一个外部位置配置,你必须有创建管理存储特权在外部位置配置。您可以使用路径中定义外部位置配置或子路径(换句话说,“s3: / /部门/金融”s3: / /部门/金融/产品的)。在集群运行数据砖砖SQL或运行时支持11.3以上。

    另请参阅管理表在AWS配置存储桶和我的角色

  • DBPROPERTIES ({property_name = property_value} […])

    模式的属性键值对。

  • 选项

    设置连接类型特定的参数需要确定目录的连接。

    • 选项

      选择的关键。可以包含一个或多个的关键标识符由一个点或一个字符串文字。

      选择键必须是唯一的,是区分大小写的。

    • 价值

      选项的值。必须是一个值布尔,字符串,整数,或小数常数表达式。也可以调用的值秘密SQL函数。例如,价值密码可能由秘密(“secrets.r.us”,“postgresPassword”)而不是进入文字密码。

例子

——创建模式“customer_sc”。这与名字customer_sc抛出异常模式——已经存在。>创建模式customer_sc;——创建同名模式“customer_sc”只有在不存在。>创建模式如果存在customer_sc;——创建同名模式“customer_sc”只有在不存在——“评论”、“特定位置”和“数据库属性”。不支持统一的目录位置。>创建模式如果存在customer_sc评论这是客户模式”位置' / samplepath 'DBPROPERTIES(ID=001年,的名字=“约翰。”);——创建模式有不同的管理比metastore的存储位置。只在统一目录管理支持的位置。>创建模式customer_sc管理位置“s3: / /部门/金融”;——验证属性集。>描述模式扩展customer_sc;database_description_itemdatabase_description_value- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -数据库的名字customer_sc描述客户模式位置hdfs:/ /使hacluster/samplepath属性((ID,001年),(的名字,约翰))