GaussDB 200导入导出基础知识

举报
平常心 发表于 2019/07/22 14:30:19 2019/07/22
【摘要】 一、导入导出简介 二、Copy导入导出 三、GDS数据导入导出

一:导入导出简介   

1、数据导入导出方式   

数据导入导出含有2个方式;copy/GDSGDS: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。   

57b42b2f5f1b9.gif

Eg:
copy table_name from '/home/xuman/test' with (delimiter '|',FORMAT 'TEXT');
实现了数据文件test的将导入至表中。

2.2 数据copy。。to导出   

57b42b2f7828a.gif

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 tablegds---->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 数据文件导入过程   

57b42d7109cb9.gif

--创建外表

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外表不支持查询



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。