更新时间:2024-10-14 GMT+08:00
步骤4:将数据导入GaussDB
- 使用如下语句在GaussDB中创建目标表product_info,用于存储导入的数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
openGauss=# DROP TABLE IF EXISTS product_info; openGauss=# CREATE TABLE product_info ( 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) ) WITH ( orientation = column, compression=middle ) DISTRIBUTE BY hash (product_id);
- (可选)本例步骤1中没有创建索引,不用执行这一步。若目标表存在索引,在数据导入过程中,将增量更新索引信息,影响数据导入性能。建议在执行数据导入前,先删除目标表的索引。在数据导入完成后,再重新创建索引。
- 假定在导入表“product_info”上的“product_id”字段上存在普通索引“product_idx”。在执行数据导入前,请先删除相关索引。
1
openGauss=# DROP INDEX product_idx;
- 在数据导入完成后,重建索引。
1
openGauss=# CREATE INDEX product_idx ON product_info(product_id);
- 打开enable_stream_operator。
1
openGauss=# set enable_stream_operator=on;;
- 在重建索引过程中,用户可以通过临时增加GUC参数“maintenance_work_mem”/“psort_work_mem”来加快索引的重建。
- 外表的并行导入需要开启stream算子才能够使用。
- enable_stream_operator设置为on会影响性能,如果该会话后续还有别的sql执行,建议设置set enable_stream_operator=off,如果没有,则直接断开会话即可。
- 假定在导入表“product_info”上的“product_id”字段上存在普通索引“product_idx”。在执行数据导入前,请先删除相关索引。
- 将数据源文件中的数据通过外表“product_info_ext”导入到表“product_info”中。
1
openGauss=# INSERT INTO product_info SELECT * FROM product_info_ext ;
出现以下信息,说明数据导入成功。1
INSERT 0 20
- 执行SELECT命令查询目标表product_info,查看导入到GaussDB中的数据。
1
openGauss=# SELECT count(*) FROM product_info;
查询结果显示结果如下,表示导入成功。
1 2 3 4
count ------- 20 (1 row)
父主题: 教程:使用GDS从远端服务器导入数据