GaussDB 200导入导出基础知识
一:导入导出简介
1、数据导入导出方式
数据导入导出含有2个方式;copy/GDS(GDS:GAUSSDB DATA SERVER)
2、应用场景:
gds是主要应用于本地以及跨服务的大数据量导入导出,适用于windows环境的数据导入导出。
copy则用于小数据本地导入导出,不能实现跨服务的导入导出。
3、gds的安装包
目前已封装到gaussdb数据库。
注:HDFS的集群环境,启动前需要source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile环境变量。
4、目标
均实现数据的快速方便导入(代替批量insert功能),导出数据库中表数据存为数据文件。
二:COPY导入导出
2.1 数据导入copy..from。
Eg:
copy table_name from '/home/xuman/test' with (delimiter '|',FORMAT 'TEXT');
实现了数据文件test的将导入至表中。
2.2 数据copy。。to导出
Eg:
copy table_name to '/home/xuman/test1' with (delimiter '|',FORMAT 'TEXT');
copy (SELECT * FROM TABLE_NAME) to '/home/xuman/test2' with (delimiter '|',FORMAT 'TEXT');
实现了将表中数据或查询结果导出至指定目录下的数据文件test2。
三:gds数据导入导出
3.1导入导出流程图
导入:
gds(启动,导入数据文件目录)----> read外表foreign table (gds)---->insert into table select * from foreign_table--->数据文件存入数据库;
导出:
gds(启动,导出数据文件目录)---->write外表foreign table(gds)---->insert into foreign_table select * from table--->表中数据导出为文件
3.2 gds工具启动基本参数
gds
–h查看
-d dir Set data directory.(指定到数据文件所在的目录)
-p port Set GDS listening port.
ip:port Set GDS listening ip address and port.
1024~65535,正整数。port监听端口的默认值:8098
-l log_file Set log file.
-t worker_num Set number of worker thread in multi-thread mode, the upper limit is 32. If without setting, the default value is 1.
-D Run the GDS as a daemon process.
-r Read the working directory recursively.
注:gds数据文件存放的服务器启动
示例:
gds -p 11000 -d /data/xm_mpp/mpp_test/Testcase/data -l /data/xm_mpp/mpp_test/Testcase/output/gds_test.log –t 3 –D
3.3 数据文件导入过程
--创建外表
create foreign table f_gds_test
(
C_INT INT,
c_char char(10)
)
server gsmpp_server
options (location 'gsfs://10.185.178.243:11000/gds_test', mode 'normal',format 'text', delimiter ',',encoding 'UTF8',null '')
log into err_ f_gds_test
per node reject limit '1000';
--普通表
create table gds_test
(
C_INT INT,
c_char char(10)
);
--数据导入过程
insert into gds_test select * from f_gds_test;
--查询错误表及导入数据
select * from err_ f_gds_test;
select * from gds_test;
--外表是不存储数据的
3.4 表数据导出至数据文件
--创建write外表
create foreign table w_gds_test
(
C_INT INT,
c_char char(10)
)
server gsmpp_server
options (location 'gsfs://10.185.178.243:11000/',format 'text',delimiter ',',encoding 'UTF8',null '') write only;
--数据导出
INSERT INTO w_gds_test SELECT * FROM gds_test;
cat /data/xm_mpp/mpp_test/Testcase/data/w_gds_test.dat.0
3,4
5,6
1,2
--write外表不支持查询
- 点赞
- 收藏
- 关注作者
评论(0)