数据仓库服务 GAUSSDB(DWS)-示例:多表并发导出操作步骤
多表并发导出操作步骤
通过创建的两个外表,将数据库中的两个表分别导出至OBS的桶中。
- 用户通过管理控制台登录到OBS数据服务器。在OBS数据服务器上,分别创建数据文件存放的两个桶“/input-data1”“/input-data2”,并创建每个桶下面的data目录“/input-data1/data”“/input-data2/data”。
- 在 GaussDB (DWS)数据库上,创建外表tpcds.customer_address_ext1和tpcds.customer_address_ext2分别用于OBS服务器接收导出的数据。
规划OBS与集群处于同一区域,需要导出的表为已存在的表tpcds.customer_address和tpcds.customer_demographics。
其中设置的导出信息如下所示:- 由于OBS服务器上的数据源文件存放目录为“/input-data1/data/ ”和/input-data2/data/ ,所以设置tpcds.customer_address_ext1参数“location”为“obs://input-data1/data/ ”,设置tpcds.customer_address_ext2参数“location”为“ obs://input-data2/data/”。
设置的数据格式信息是根据表从GaussDB(DWS)中导出时需要的详细数据格式参数信息指定的,参数设置如下所示:
- 数据源文件格式(format)为“ CS V”。
- 编码格式(encoding)为“UTF-8”。
- 字段分隔符(delimiter)为“E'\x08'”。
- 是否使用加密(encrypt),默认为“off”。
- (必选)用户获取OBS访问协议对应的AK值(access_key )。
- (必选)用户获取OBS访问协议对应的SK值(secret_access_key)。
用户在创建用户时已经获取了access_key和secret_access_key的密钥,请根据实际密钥替换示例中的内容。
根据以上信息,创建的外表如下所示:
认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
CREATE FOREIGN TABLE tpcds.customer_address_ext1 ( ca_address_sk integer , ca_address_id char(16) , ca_street_number char(10) , ca_street_name varchar(60) , ca_street_type char(15) , ca_suite_number char(10) , ca_city varchar(60) , ca_county varchar(30) , ca_state char(2) , ca_zip char(10) , ca_country varchar(20) , ca_gmt_offset decimal(5,2) , ca_location_type char(20) ) SERVER gsmpp_server OPTIONS(LOCATION 'obs://input-data1/data/', FORMAT 'CSV', ENCODING 'utf8', DELIMITER E'\x08', ENCRYPT 'off', AC CES S_KEY 'access_key_value_to_be_replaced', SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced' )Write Only;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
CREATE FOREIGN TABLE tpcds.customer_address_ext2 ( ca_address_sk integer , ca_address_id char(16) , ca_address_name varchar(20) , ca_address_code integer , ca_street_number char(10) , ca_street_name varchar(60) , ca_street_type char(15) , ca_suite_number char(10) , ca_city varchar(60) , ca_county varchar(30) , ca_state char(2) , ca_zip char(10) , ca_country varchar(20) , ca_gmt_offset decimal(5,2) ) SERVER gsmpp_server OPTIONS(LOCATION 'obs://input_data2/data/', FORMAT 'CSV', ENCODING 'utf8', DELIMITER E'\x08', QUOTE E'\x1b', ENCRYPT 'off', ACCESS_KEY 'access_key_value_to_be_replaced', SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced' )Write Only;
- 在GaussDB(DWS)数据库上,将数据表tpcds.customer_address和tpcds.warehouse并发导出到外表tpcds.customer_address_ext1和tpcds.customer_address_ext2中。
1
INSERT INTO tpcds.customer_address_ext1 SELECT * FROM tpcds.customer_address;
1
INSERT INTO tpcds.customer_address_ext2 SELECT * FROM tpcds.warehouse;
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- 云数据迁移_什么是CDM_-华为云
- 数据治理中心_数据开发_数据开发示例_使用教程-华为云