GaussDB 200支持将存在远端服务器上的TEXT、CSV和FIXED格式的数据导入到集群中。本文介绍使用GDS(Gauss Data Service)工具将远端服务器上的数据导入GaussDB 200。环境如下表:

1、准备源数据

这里从PostgreSQL数据库中,使用copy命令导出一个csv格式的文件,如下:

rhnschema=> copy rhnpackagefile to '/tmp/rhnpackagefile.csv' with csv;

2、安装并启动GDS

创建用户以及用户组

[root@hd04 bin]# groupadd gdsgrp

[root@hd04 bin]# useradd -g gdsgrp gds_user

创建相关目录

分别创建存放源数据以及GDS安装目录(自定义)。

[root@hd04 ~]# mkdir /opt/bin --GDS安装目录

[root@hd04 ~]# mkdir /opt/data --源数据存放目录

[root@hd04 ~]# chown -R gds_user:gdsgrp /opt/bin/gds

[root@hd04 ~]# chown -R gds_user:gdsgrp /opt/data

拷贝源数据到数据目录

[root@hd04 ~]# su - gds_user

[gds_user@hd04 ~]$ scp root@hd01:/tmp/rhnpackagefile.csv /opt/data

安装GDS服务

GDS工具位于GassDB安装包里,需要单独解压出来,以redhat的安装包为例,如下:

[root@hd04 ~]# tar -xzf GaussDB_200_6.5.1_RHEL.tar.gz

解压后找到GaussDB-Kernel-V300R002C00-REDHAT-64bit-Gds.tar.gz压缩包,并解压至GDS安装目录。

[gds_user@hd04 ~]$ cd /opt/bin

[gds_user@hd04 bin]$ tar -xzf /tmp/GaussDB-Kernel-V300R002C00-REDHAT-64bit-Gds.tar.gz

然后以root用户修改/etc/profile,加入以下内容:

[root@hd04 ~]# vi /etc/profile

export LD_LIBRARY_PATH="/opt/bin/lib:$LD_LIBRARY_PATH"

此处主要是配置GDS库路径,因为它依赖了Cjson动态库。

启动GDS服务

[root@hd04 ~]# su - gds_user

[gds_user@hd04 ~]$ /opt/bin/gds/gds -d /opt/data -p 192.168.120.25:5000 -H 192.168.110.1/24,192.168.120.1/24 -l /opt/bin/gds/gds_log.txt -D

GDS的启动模式有两种:非ssl传输数据模式和ssl加密方式传输数据模式。上面使用的是非ssl传输数据模式。

对于ssl模式,需要将GaussDB创建的GDS证书拷贝到GDS的安装目录里,如下:

[gds_user@hd04 ~]$ cd /opt/bin/

[gds_user@hd04 bin]$ scp -r root@hd01:/opt/huawei/Bigdata/mppdb/core/share/sslcert/gds ./

以ssl模式启动GDS服务如下:

[gds_user@hd04 ~]$ /opt/bin/gds/gds -d /opt/data -p 192.168.120.25:5000 -H 192.168.110.1/24 -l /opt/bin/gds/gds_log.txt -D --enable-ssl --ssl-dir /opt/bin/gds

参数说明如下图所示:

3、创建表并导入数据

这里需要创建外表以及目标表,语句如下:

外表参数如下图所示:

创建目标表,如下:

使用如下命令导入数据:

rhnschema=# INSERT INTO rhnpackagefile2 SELECT * FROM f_rhnpackagefile;

INSERT 0 27942567

在导入过程中,如果出现数据格式错误,系统会记录到一张error表里(创建外表时指定的表)。

4、优化导入数据的查询性能

在数据导入完成后,执行ANALYZE语句生成表统计信息。执行计划生成器会使用这些统计数据,以生成最有效的查询执行计划。

如果导入过程中,进行了大量的更新或删除行时,应运行VACUUM FULL命令,然后运行ANALYZE命令。大量的更新和删除操作,会产生大量的磁盘页面碎片,从而逐渐降低查询的效率。VACUUM FULL可以将磁盘页面碎片恢复并交还操作系统。

rhnschema=# VACUUM FULL rhnpackagefile2;

VACUUM

rhnschema=# ANALYZE rhnpackagefile2;

ANALYZE

5、停止GDS服务

导入完成后,如果不需要GDS服务,可以将其停止。以gds_user用户,查询出GDS服务的进程号将其kill掉即可。

6、使用外表并行导出数据

使用GDS工具将数据从数据库导出到普通文件系统中,适用于高并发、大量数据导出的场景。通过外表设置的导出模式、导出数据格式等信息来指定待导出的数据文件,利用多DN并行的方式,将数据从数据库导出到数据文件中,从而提高整体导出性能。不支持直接导出文件到HDFS文件系统。

CN只负责任务的规划及下发,把数据导出的工作交给了DN,释放了CN的资源,使其有能力处理外部请求。

通过让各个DN都参与数据导出,充分利用各个设备的计算能力及网络带宽。

GaussDB 200支持的导出模式有Local和Remote模式。

Remote模式:将集群中的业务数据导出到集群之外的主机上。

支持多个GDS服务并发导出,但1个GDS在同一时刻,只能为1个集群提供导出服务。

配置与集群节点处于统一内网的GDS服务,导出速率受网络带宽影响,推荐的网络配置为10GE。

支持数据文件格式:TEXT、CSV和FIXED。单行数据大小需<1GB。

Local模式:将集群中的业务数据导出到集群节点所在主机上。一种专门为大量小文件而定制的一种策略。

数据将均匀切割并生成到集群节点上指定的文件夹下,需占用集群节点的磁盘空间。

支持数据文件格式:TEXT、CSV和FIXED。单行数据大小需<1GB。

创建外表

SQL如下图:

导出数据

rhnschema=# insert into f_rhnpackagerepodata select *from rhnpackagerepodata;

INSERT 0 94519

gds文件 导出_GaussDB 200使用GDS服务导入导出数据相关推荐

  1. ie如何导入html文件类型,Magicodes.IE: 导入导出通用库,支持Dto导入导出以及动态导出,支持Excel、Word、Pdf和Html。...

    Magicodes.IE 导入导出通用库,支持Dto导入导出以及动态导出,支持Excel.Word.Pdf和Html. 疯狂的徽章 GitHub Azure DevOps Build Status: ...

  2. mysql怎么加载bak文件_MySQL数据库(表)的导入导出(备份和还原)

    一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb ...

  3. edge如何导入html文件收藏夹,Win10 edge浏览器如何导入/导出收藏夹中的网站

    Windows10系统自带了Edge浏览器,其因为强大的功能而一直深受用户们的喜爱.不过,最近有用户咨询,Edge浏览器中收藏夹的网站该如何导入或导出呢?由于Edge浏览器默认就是无法导出收藏夹的,但 ...

  4. mysql 分区 导出_mysql普通表变成分区表导入导出

    环境:tidb.linux 1.先确认主键.创建分区表(用于代替原表) SELECT column_name FROM INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` WH ...

  5. android手机导出联系人,OPPO Reno如何批量导入/导出联系人?

    准备换新手机,怎么将联系人号码全部存到新机里呢?现在的手机都有导入/导出联系人的功能,很方便哦! OPPO Reno如何批量导入/导出联系人? 1.依次进入手机[设置]-[系统应用]-[电话本]-[导 ...

  6. oracle导入导出还原,Oracle 备份 还原 数据库 导入导出

    导出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP ROWS=N //不保存数据: 导出 EXP USER/PASSWORD@ODBC FILE=C:\***.DMP  ...

  7. mysql字符集导出_关于mysql字符集及导入导出

    MySQL字符集设置 • 系统变量: – character_set_server:默认的内部操作字符集 – character_set_client:客户端来源数据使用的字符集 – characte ...

  8. postman导出请求url_Postman使用手册1——导入导出和发送请求查看响应

    导读: 现在的web和移动开发,常常会调用服务器提供restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用.这里介绍一下如何在chrome浏览器利用postma ...

  9. npoi的mvc怎么ajax导出,asp.net mvc利用NPOI导入导出Excel解决方法

    asp.net mvc利用NPOI导入导出Excel 导出Excel 2003没有问题,导出Excel2007老是出现无法访问已关闭的流,请帮忙解决,或是哪位有mvc导入导出excel的工具类能提供, ...

  10. mysql本地导入导出_MySQL本地登录及数据库导入导出

    注意:本地MySQL服务要开启 更新整个数据库 1.将正式服务器上的数据库做备份 登录到正式服务器,执行如下命令:(注意空格) mysqldump -uroot –p密码 数据库名 -P 接口 --d ...

最新文章

  1. 【转】超简单利用UGUI制作圆形小地图
  2. Linux C编程--线程操作2--线程同步详解
  3. 微软宣布加入 OpenJDK,打不过就改变 Java 未来!
  4. Matlab 模拟退火算法模型代码
  5. python 断点下载_python多进程断点续传分片下载器
  6. JavaScript类库
  7. pycharm git 超详细教程
  8. SQL Server 聚集索引 clustered index 非聚集索引Nonclustered Indexes键查找查找Key Lookup执行计划过程详解
  9. ES6箭头函数和模板字符串
  10. Lombok开发指南
  11. 前端学PHP之面向对象系列第六篇——简单图形面积计算器实现
  12. PHP base64数据与图片的互相转换
  13. TexStudio快捷键
  14. 将 vCenter Server vSphere 软件从 VMware vSphere 6.5 升级到 6.7
  15. 敏捷开发流程下的测试(一)敏捷测试核心
  16. python语法注释原则
  17. objective-c教程_Objective-C Hello世界教程
  18. 关于hive报错expression not in group by key ‘.....‘
  19. 第二课 MC9S08DZ60之多功能时钟发生器S08MCGV1
  20. 虚拟化基本知识及virtio-net初探

热门文章

  1. Jaden Casing Strings
  2. Python学习笔记(10)——舆情数据评分系统搭建
  3. 线性代数---(2)n维向量组
  4. 网页被劫持怎么修复?主页被劫持修复方法
  5. pe怎么看计算机mac地址,Win10查看本机mac地址方法|电脑mac地址怎么查
  6. 性别检测识别、年龄检测识别
  7. Chrome调试工具使用及waterfall含义详解
  8. WinServer-the security database on the server does not have a computer account for
  9. QLabel文字过长显示不全处理方法
  10. 使用js jquery去搭建完成京东购物车