数据仓库服务 GaussDB(DWS)-创建OBS外表:示例二

时间:2023-11-01 16:15:35

示例二

例如,在 GaussDB (DWS)数据库中,创建一个format参数为 CS V的只写外表,用于导出CSV文件。设置的参数信息如下所示:

  • location

    规划导出数据中,通过获取数据源文件的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),默认为 'off'。
    • 字段分隔符(delimiter)为','。
    • header(指定导出数据文件是否包含标题行)

      指定导出数据文件是否包含标题行,标题行一般用来描述表中每个字段的信息。

      OBS导出数据时不支持该参数为ture,使用缺省值false,不需要设置,表示导出的数据文件第一行不是标题行(即表头)。

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

 1 2 3 4 5 6 7 8 91011121314151617181920212223242526
DROP FOREIGN TABLE IF EXISTS product_info_output_ext2;CREATE FOREIGN TABLE product_info_output_ext2(    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',AC CES S_KEY 'access_key_value_to_be_replaced',SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced')WRITE ONLY ;

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

CREATE FOREIGN TABLE
support.huaweicloud.com/devg-811-dws/dws_04_0253.html