文档首页 > > 开发指南> SQL参考> SQL语法> CREATE SERVER

CREATE SERVER

分享
更新时间: 2019/06/24 09:14

功能描述

创建一个外部服务器。

外部服务器是存储HDFS集群信息、OBS服务器信息的载体或者为存储计算资源池信息的Dummy server。此语法只适用于SQL on Hadoop环境。

注意事项

默认只有系统管理员才可以创建外部服务器,否则需要对所使用的FOREIGN DATA WRAPPER授权才可以创建,授权语法为:

GRANT USAGE ON FOREIGN DATA WRAPPER fdw_name TO username;
ALTER USER username USEFT; 

其中fdw_name为FOREIGN DATA WRAPPER的名字,username为创建SERVER的用户名。

语法格式

CREATE SERVER server_name 
    FOREIGN DATA WRAPPER fdw_name
    OPTIONS ( { option_name ' value ' } [, ...] ) ;

参数说明

  • server_name

    server的名字。

    取值范围:长度必须小于等于64。

  • FOREIGN DATA WRAPPER fdw_name

    指定外部数据封装器的名字。

    取值范围:fdw_name是数据库初始化时系统创建的数据封装器,目前对于HDFS集群,fdw_name的名字只能是hdfs_fdw。

  • OPTIONS ( { option_name ' value ' } [, ...] )

    用于指定外部服务器的各类参数,详细的参数说明如下所示。

    • address

      HDFS集群的主备节点所在的IP地址以及端口或者为计算资源池Dummy server的信息。对应OBS server,指定的是OBS的IP地址或者是域名。

      说明:
      • 对于HDFS/Dummy server, address必须存在。
      • 针对HDFS的address option目前只支持点分十进制格式的IPv4格式,且address字符串中不能出现空格,多组address以逗号作为分隔符。IP和Port之间使用’:’来区分,IP、Port组推荐设置两组,分别对应HDFS namenode主备节点的address。若为dummy server时有两种形式:1. IP:Port,2. 域名:Port。
      • 对于OBS server不建议使用address参数,使用region参数代替。
    • region
      region参数表示OBS的IP地址或者域名。
      说明:

      region参数与address参数只能选择其中一个。对于OBS server,region参数与address参数都是可选的, 若两者都不选择,则读取defaultRegion的值,即安装集群时指定的region。

    • hdfscfgpath

      HDFS集群配置文件路径。该参数仅支持type为HDFS时设置。

      说明:

      hdfscfgpath option必须存在,且只能设置一个。

    • type

      表示dfs_fdw连接的是OBS或者HDFS或者是Dummy server。

      取值范围:

      • OBS表示连接的是OBS。
      • HDFS表示连接的是HDFS。
      • dummy表示server是计算资源池的链接server。
    • username
      • 连接计算资源池的用户名。
    • password
      • 连接计算资源池的用户名密码。
    说明:

    OBS server参数使用说明:

    • OBS server的Region、address参数只能选择其中一个。若存在region直接读取region map file对应的URL,若region、address都不存在则读取文件中defaultRegion对应region信息。
    • OBS外表的location、foldername 参数有且只有一个。
    各种类型的server参数支持如下表所示:
    表1 Server参数支持情况

    参数名称

    OBS server

    HDFS server

    Dummy Server

    access_key

    支持

    不支持

    不支持

    secret_access_key

    支持

    不支持

    不支持

    region

    支持

    不支持

    不支持

    encrypt

    支持

    不支持

    不支持

    address

    支持

    支持

    不支持

    password

    不支持

    不支持

    支持

    username

    不支持

    不支持

    支持

    type

    支持

    支持

    支持

    hdfscfgpath

    不支持

    不支持

    不支持

示例

建立一个hdfs_server,其中hdfs_fdw为数据库中存在的foreign data wrapper。

--创建hdfs_server。。
CREATE SERVER hdfs_server FOREIGN DATA WRAPPER HDFS_FDW OPTIONS 
   (address '10.10.0.100:25000,10.10.0.101:25000',
    hdfscfgpath '/opt/hadoop_client/HDFS/hadoop/etc/hadoop', 
    type 'HDFS'
) ;

--删除hdfs_server。
DROP SERVER hdfs_server;

建立一个obs_server,其中dfs_fdw为数据库中存在的foreign data wrapper。

--创建obs_server。
CREATE SERVER obs_server FOREIGN DATA WRAPPER DFS_FDW OPTIONS ( 
  address 'obs.abc.com', 
   access_key 'xxxxxxxxx', 
  secret_access_key 'yyyyyyyyyyyyy', 
  type 'obs'
);

--删除obs_server。
DROP SERVER obs_server;

建立一个Dummy server。

 CREATE SERVER dummy_server FOREIGN DATA WRAPPER DFS_FDW OPTIONS (address 'localhost:1503', username 'omm', password 'Gauss@123', type 'dummy');
CREATE SERVER
说明:

目前一个数据库中只支持一个dummy server。

相关链接

DROP SERVER ALTER SERVER

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区