更新时间:2024-06-19 GMT+08:00

CREATE EXTERNAL SCHEMA

功能描述

创建EXTERNAL SCHEMA,即外部模式。

创建EXTERNAL SCHEMA来访问hive端创建的表。用户可以使用外部模式名作为前缀进行访问,若无模式名前缀,则访问当前模式下的命名对象。

CREATE EXTERNAL SCHEMA语法仅云原生数仓3.0版本支持。

注意事项

  • 只要拥有当前数据库CREATE权限的用户,就可以创建外部SCHEMA。
  • 创建命名对象时不可用EXTERNAL SCHEMA作为前缀修饰,即不支持在EXTERNAL SCHEMA下创建对象。目前只支持通过使用EXTERNAL SCHEMA对hive端创建的表进行SELECT、INSERT和INSERT OVERWRITE操作。
  • CREATE EXTERNAL SCHEMA不支持在新模式中创建对象的子命令。

语法格式

  • 根据指定的名字创建EXTERNAL SCHEMA。
    1
    2
    3
    4
    5
    6
    CREATE EXTERNAL SCHEMA schema_name 
        WITH SOURCE source_type
        DATABASE 'db_name'
        SERVER srv_name
        METAADDRESS 'address'
        CONFIGURATION 'confpath';
    

参数说明

  • schema_name

    外部模式名字。

    取值范围:字符串,要符合标识符的命名规范。

    • 模式名不能和当前数据库里其他的模式重名。
    • 模式的名字不可以“pg_”开头。
  • SOURCE

    外部元数据存储引擎的类型,当前source_type仅支持Hive。

  • DATABASE

    指定外部SCHEMA所对应的hive中数据库。

    external schema与hive中的数据库是多对一的对应关系。

  • SERVER

    取值范围:已存在的FOREIGN SERVER。

    通过external schema关联foreign server以达到访问外部数据的目的。

  • METAADDRESS

    表示hivemetastore通讯接口。

  • CONFIGURATION

    表示hivemetastore相关配置文件存放路径。

如果当前搜索路径上的模式中存在同名对象时,需要明确指定引用对象所在的模式。可以通过命令SHOW SEARCH_PATH来查看当前搜索路径上的模式。

示例

创建名称为ex1的EXTERNAL SCHEMA:

1
2
3
4
5
6
CREATE EXTERNAL SCHEMA ex1
    WITH SOURCE hive
         DATABASE 'demo'
         SERVER hdfs_server
         METAADDRESS   '***.***.***.***:***'
         CONFIGURATION  '/MRS/config'

相关链接

ALTER EXTERNAL SCHEMA