文档首页 > > 开发指南> 导出数据> 并行导出数据到OBS> 创建OBS外表

创建OBS外表

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

操作步骤

  1. 根据规划导出数据中规划的路径,由此确定创建外表时使用的参数location的值。
  2. 用户获取OBS访问协议对应的AK值和SK值。获取访问密钥,请登录管理控制台,然后将鼠标移到右上角的用户名,单击“我的凭证”,再单击“管理访问密钥”,可以查看已有的访问密钥,也可以单击“新增访问密钥”进行创建。
  3. 梳理待导出数据的格式信息,确定创建外表时使用的数据格式参数的值。详细使用请参见数据格式参数
  4. 根据前面步骤确定的参数,创建OBS外表。外表的创建语法以及详细使用,请参考CREATE FOREIGN TABLE (OBS导入导出)

示例

例如,在DWS数据库中,创建一个外表。设置的参数信息如下所示:

  • location

    规划导出数据中,通过步骤2. 获取数据源文件的OBS路径,我们已经获取到数据源文件的OBS路径。

    因此,设置参数“location”为:

    location 'obs://mybucket/output_data/',
  • 访问秘钥(AK和SK)
    • 用户获取OBS访问协议对应的AK值(access_key)。
    • 用户获取OBS访问协议对应的SK值 (secret_access_key)。

    用户在创建用户时已经获取了access_key和secret_access_key的密钥,请根据实际密钥替换示例中的斜体内容。

  • 设置数据格式参数
    • 数据源文件格式(format)为CSV。
    • 编码格式(encoding)为UTF-8。
    • 使用加密(encrypt)为 'on'。
    • 字段分隔符(delimiter)为','。
    • header(指定导出数据文件是否包含标题行)

      使用缺省值false,不需要设置,表示导出的数据文件第一行不是标题行(即表头)。该参数只在format为CSV时有效。

根据以上信息,创建的外表如下所示:

DROP FOREIGN TABLE IF EXISTS product_info_output_ext;
CREATE FOREIGN TABLE product_info_output_ext
(
    product_price                integer        not null,
    product_id                   char(30)       not null,
    product_time                 date           ,
    product_level                char(10)       ,
    product_name                 varchar(200)   ,
    product_type1                varchar(20)    ,
    product_type2                char(10)       ,
    product_monthly_sales_cnt    integer        ,
    product_comment_time         date           ,
    product_comment_num          integer        ,
    product_comment_content      varchar(200)                   
) 
SERVER gsmpp_server 
OPTIONS(
location 'obs://mybucket/output_data/',
FORMAT 'CSV' ,
DELIMITER ',',
encoding 'utf8',
header 'false',
ACCESS_KEY 'access_key_value_to_be_replaced',
SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced'
)
WRITE ONLY ;

返回如下信息表示创建成功:

CREATE FOREIGN TABLE
分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区