文档首页 > > 开发指南> 使用Express查询OBS上的数据> 使用Express集群> 创建外部服务器和OBS外表

创建外部服务器和OBS外表

分享
更新时间: 2019/11/12 GMT+08:00

OBS外表需要在外部服务器中进行创建,外部服务器需要通过连接OBS的IP地址或域名,并且使用用户的AK、SK来创建,之后创建外表,和已经上传在OBS上的Express样例数据进行关联。

使用SQL客户端工具连接到集群后,就可以在SQL客户端工具中执行SQL语句,来创建外部服务器以及part表和lineitem外表。

  1. 使用SQL客户端工具连接DWS集群。

    连接集群的方法请参见使用Data Studio图形界面客户端连接集群章节。

  2. 创建外部服务器。

    创建外部服务器的语句如下,请参见语句下方的参数说明,将语句中的参数<OBS_Endpoint>、<Access_Key_Id>、<Secret_Access_Key>替换为实际值,然后再执行替换后的语句创建外部服务器。

    1
    2
    3
    4
    5
    6
    7
    8
    CREATE SERVER express_server
    FOREIGN DATA WRAPPER dfs_fdw
    OPTIONS (
        address '<OBS_Endpoint>',
        type 'obs',
        access_key '<Access_Key_Id>',
        secret_access_key '<Secret_Access_Key>'
    );
    

    参数说明:

    • <OBS_Endpoint>:请填写OBS的Endpoint地址。

      有关Endpoint的详细信息,请参见地区和终端节点

    • <Access_Key_Id>和<Secret_Access_Key>:即AK和SK,分别表示访问密钥ID和私有访问密钥。

      有关AK和SK的信息,请参见创建访问密钥(AK和SK)进行获取。

  3. 创建OBS外表。

    创建OBS外表的语句如下,其中,<obs_bucket_name>表示样例数据存储的OBS桶名,区域不同OBS桶名也不同。请根据集群所在的区域,将参数<obs_bucket_name>替换为相应区域下的OBS桶名,然后执行替换后的语句创建OBS外表。例如,各区域的OBS桶名如下:

    • 华北-北京一:dws-demo
    • 华东-上海二:dws-demo-cn-east-2
    • 华南-广州:dws-demo-cn-south-1
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    CREATE schema tpchobs_express;
    set current_schema = 'pchobs_express';
    CREATE FOREIGN TABLE PART
    (
            P_PARTKEY     BIGINT NOT NULL, 
            P_NAME        VARCHAR(55) NOT NULL, 
            P_MFGR        CHAR(25) NOT NULL, 
            P_BRAND       CHAR(10) NOT NULL, 
            P_TYPE        VARCHAR(25) NOT NULL,
            P_SIZE        BIGINT NOT NULL,
            P_CONTAINER   CHAR(10) NOT NULL,
            P_RETAILPRICE DECIMAL(15,2) NOT NULL,
            P_COMMENT     VARCHAR(23) NOT NULL
    )
    SERVER express_server
    OPTIONS(
        encoding 'utf-8',
        format 'text',
        chunksize '64',
        IGNORE_EXTRA_DATA 'on',
        foldername '/<obs_bucket_name>/tpch-obs-express/part/'
        )
    distribute by roundrobin;
    

分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区