• COPY 导入数据方法

    • 1、生成数据文件
    • 2、替换分隔符
      • 2.1 使用gpadmin用户COPY数据到Greenplum中
      • 2.2使用非gpadmin用户COPY数据到Greenplum中
    • 3、查看效果
    • 4、查看官网说明
    • 5、Shell脚本导入数据
    • 6、性能总结
      • 6.1千兆网卡的性能总结

        • 6.1.1 数据量的大小
        • 6.1.2 查看数据的内容
        • 6.1.3 开始导数据
        • 6.1.4 查看表的详细信息
      • 6.2  万兆网卡的性能总结
        • 6.2.1 数据量的大小
        • 6.2.2 查看数据的内容
        • 6.2.3 开始导数据
        • 6.2.4 查看表的详细信息
      • 6.3 监控信息
        • 6.3.1 主节点网卡信息
        • 6.3.2 主节点的磁盘读写信息
        • 6.3.3 主节点的CPU使用率信息
        • 6.3.4 数据节点网卡信息
        • 6.3.5 数据节点的磁盘读写信息
        • 6.3.6 数据节点的CPU使用率信息
  • COPY 导出数据方法
    • 1 查看表中的数据文件
    • 2 导出CSV数据文件
    • 3 查看导出的数据格式

COPY 导入数据方法

1、生成数据文件

$ cat source.txt

11111ddd22222

2、替换分隔符

2.1 使用gpadmin用户COPY数据到Greenplum中

$ cat replaceScript.sh

#!/bin/sh

# 生成隐藏字符
soh=`echo 1 | awk '{printf("%c", $1)}'`
replaceWord=$1

# 替换开始
sed -i 's/'$replaceWord'/'$soh'/g'  $2

# 插入到greenplum数据库
cd /greenplum/soft/greenplum-db-5.8.0/bin
./psql -d ***** -h 192.****** -p 5432 -U gpadmin -c "COPY xiaoxu_test.xiaoxu_test  FROM '/home/xiaoxu/gpload_test/$2' WITH csv DELIMITER E'\001'  LOG ERRORS SEGMENT REJECT LIMIT 3000 ROWS";

标红的部分最好不用,这样可以确保数据的准确性。

E'\001' : 是ascii分隔符,详情请查看:https://blog.csdn.net/xfg0218/article/details/80901752

2.2使用非gpadmin用户COPY数据到Greenplum中

安装psql命令

#yum install postgresql -y

psql -d ****** -h 192.168.****** -p 5432 -U gpadmin -c "\\COPY xiaoxu_test.xiaoxu_test  FROM '/home/xiaoxu/gpload_test/$2' WITH csv DELIMITER E'\001'  LOG ERRORS SEGMENT REJECT LIMIT 3000 ROWS";

注意\\的问题

3、查看效果

$ sh psqlInsert.sh  ddd   source.txt 
COPY 1

ddd: 是分隔符

source.txt:带有分隔符的文件

4、查看官网说明

http://postgresql.ru.net/manual/sql-copy.html

5、Shell脚本导入数据

#  vi copyToGreenplum.sh

#!bin/sh

# 获取为文件所在的位置
basepath=$(cd `dirname $0`; pwd)

# scheam名字
scheamname='xiaoxu_test'

# 表名字
tablename='*******_20180812_20180812'

# 数据库名字
gpdatabase='******'

# gp服务器ip
gpip='192.168.******'

#gp port
gpport='2345'

# gp user
gpuser='gpadmin'

# 需要插入的文件的名字
dirfilename='mv_*****_20180812.csv'

# 替换双引号与隐藏字符
# sh asciiReplaceScriptAll.sh

# gp copy 开始时间
gpinsert_time=`date +'%Y-%m-%d %H:%M:%S'`

echo -e "GP COPY 数据开始...."

# 执行插入操作
psql -d $gpdatabase -h $gpip -p $gpport -U $gpuser -c "COPY $scheamname.$tablename FROM '$basepath/$dirfilename' WITH csv DELIMITER E'\001'";

# gp copy 结束时间

gpinsert_endtime=`date +'%Y-%m-%d %H:%M:%S'`
gpinsert_start_seconds=$(date --date="$gpinsert_time" +%s)
gpinsert_ent_seconds=$(date --date="$gpinsert_endtime" +%s)
time_of_use=$((end_seconds-start_seconds))

echo -e "\t $((time_of_use/3600)) h $((time_of_use%3600/60)) m $((time_of_use%3600%60)) s"

6、性能总结

6.1千兆网卡的性能总结

6.1.1 数据量的大小

$ du -sh mv_*******_20180812.csv 
130G mv_*******_20180812.csv

6.1.2 查看数据的内容

$ head -n 1 mv_*******_20180812.csv 
310000645D0435BED45B39E0531ECDA8C0463F2018020413595200008546上海佐洽房地产经纪有限公司闵行第一分公司3101120018106392151K7032018-02-02 00:00:00200000150214137361900-01-01 00:00:002018-02-02 00:00:002018-02-02 00:00:0031011210*************************000000000001900-01-01 00:00:0002018-08-08 09:54:29.000000,E20180204,E20180205,E20180206,E20180207,E20180212,E20180718,E2015030410e635326b318d6881ca0214c0831e6e65P01MA1GBWMN991310112MA1GBWMN9972E3B618BF6B3365E0531ECDA8C05E49E20150304D9FC431BDDA2CF143DDB0A89F76036F7**************

6.1.3 开始导数据

$ sh copyToGreenplum.sh
GP COPY 数据开始....
COPY 90700000
GP COPY 总耗时: 2 小时 32 分钟 8 秒

$ sh copyToGreenplum.sh
GP COPY 数据开始....
o0COPY 90700000
GP COPY 总耗时: 2 小时 54 分钟 35 秒

$ sh copyToGreenplum.sh
GP COPY 数据开始....
o0COPY 90700000
GP COPY 总耗时: 2 小时 46 分钟 35 秒

6.1.4 查看表的详细信息

select count(*) from*******_20180812;
2,7210,0000

select pg_size_pretty(pg_relation_size('*******_20180812')) 
137 GB

6.2  万兆网卡的性能总结

6.2.1 数据量的大小

$ du -sh mv_enterprisebaseinfo_20180812.csv 
130G mv_enterprisebaseinfo_20180812.csv

6.2.2 查看数据的内容

$ head -n 1 mv_enterprisebaseinfo_20180812.csv 
310000645D0435BED45B39E0531ECDA8C0463F2018020413595200008546上海佐洽房地产经纪有限公司闵行第一分公司3101120018106392151K7032018-02-02 00:00:00200000150214137361900-01-01 00:00:002018-02-02 00:00:002018-02-02 00:00:0031011210*************************000000000001900-01-01 00:00:0002018-08-08 09:54:29.000000,E20180204,E20180205,E20180206,E20180207,E20180212,E20180718,E2015030410e635326b318d6881ca0214c0831e6e65P01MA1GBWMN991310112MA1GBWMN9972E3B618BF6B3365E0531ECDA8C05E49E20150304D9FC431BDDA2CF143DDB0A89F76036F7*******************

6.2.3 开始导数据

$ time psql -d stagging -h 192.168.***** -p 5432 -U gpadmin -c "COPY xiaoxu.*******_20180812_20180814 FROM '/home/xiaoxu/greenplum-load-data/oracle-export-greenplum/mv_*******_20180812.csv' WITH csv DELIMITER E'\001' LOG ERRORS SEGMENT REJECT LIMIT 3000 ROWS"
COPY 90700000

real 22m13.116s
user 0m0.003s
sys 0m0.002s

6.2.4 查看表的详细信息

select pg_size_pretty(pg_relation_size('*******_20180812_20180812')) 
137 GB

select count(*) from *******_20180812_20180812;
2,7210,0000

分布键详细信息

select gp_segment_id,count(1) from *******_20180812_20180814 group by 1;

6.3 监控信息

6.3.1 主节点网卡信息

6.3.2 主节点的磁盘读写信息

6.3.3 主节点的CPU使用率信息

6.3.4 数据节点网卡信息

6.3.5 数据节点的磁盘读写信息

6.3.6 数据节点的CPU使用率信息

COPY 导出数据方法

1 查看表中的数据文件

2 导出CSV数据文件

$ psql -d ***** -h 192.168****** -p 5432 -U gpadmin -c "copy datafix.xiaoxu_df_entname to '/home/xiaoxu/shujudingzheng/data-dir/entname.csv' WITH DELIMITER AS E'\u0001' "
COPY 11807

3 查看导出的数据格式

$ head -n 3 entname.csv 
11000020e38b8c4353938c014370906a7e0004中赣核(北京)投资发展有限公司
440000440125125021998031700074许村龙渡电镀厂
440000P-4da509af-be89-4ef8-b24a-4a4e97a96b57海宁市许巷乡郭湾村房屋装潢服务部

Greenplum常用导数据方法及性能测试相关推荐

  1. cfd计算linux windows,CFD计算分析时常用的数值模拟方法 | 坐倚北风

    在运用计算流体力学CFD进行数值计算分析仿真时常用的离散化方法有:有限差分法.有限元法和有限体积法. 1.有限差分法 有限差分法是数值解法中最经典的方法.它是将求解区域划分为差分网格,用于有限个网格节 ...

  2. 几种常用的优化方法梯度下降法、牛顿法、)

                                                                       几种常用的优化方法 1. 前言 熟悉机器学习的童鞋都知道,优化方法 ...

  3. python编程求导数_Python分享导数的方法

    #coding:utf-8#一阶导def fun1(X, WINDOW = 5):result = []for k in range(WINDOW, len(X)-WINDOW):mid = (X[k ...

  4. 功能测试常用6种方法_建筑管道常用的8种连接方法

    暖通风向标 本文来源 建筑工程鲁班联盟 建筑管道根据用途和管材,常用的连接方法有:螺纹连接.法兰连接.焊接.沟槽连接(卡箍连接).卡套式连接.卡压连接.热熔连接.承插连接等. 1. 螺纹连接 螺纹连接 ...

  5. SQLserver 常用函数适用方法(转载)

    SQL Server 常用函数使用方法(持续更新) 之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值 ...

  6. 数据维度爆炸怎么办?详解5大常用的特征选择方法

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Edwin Jarvis,cnblog博客整理 在许多机器学习相关 ...

  7. 爬虫之常用数据解析方法

    爬虫之常用数据解析方法

  8. selenium提取数据之driver对象的常用属性和方法

    selenium提取数据之driver对象的常用属性和方法 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标 ...

  9. 尚硅谷学习笔记-节点的常用属性和方法

    节点的常用属性和方法[图片在末尾] 方法: 通过具体的元素节点调用 getElementsByTagName() 方法,获取当前节点的指定标签名孩子节点 appendChild( oChildNode ...

最新文章

  1. 基于Go语言来理解Tensorflow
  2. mybatis的注解开发之三种动态sql
  3. Ubuntu中使用WPS
  4. c++面向对象的程序设计
  5. ios加速计(可以用来检测摇动,自定义反应灵敏度)
  6. 最近在北京做银行软件项目亲身感受小总结
  7. HTML坐标不随着屏幕大小改变,HTML热区map坐标,随窗口大小自适应办法(javascript)...
  8. zTree v2.6 - v3.0 文件对比
  9. python课后题答案第二章_Python编程:从入门到实践——练习题答案(第二章)
  10. 【BZOJ3083】遥远的国度,树链剖分练习
  11. Java SringBoot demo
  12. python能做什么游戏-Python有做大型游戏的潜力吗?
  13. android交友php,android交友约会社交APP完整源码Dating App 3.7(服务端+客户端)
  14. 三轴机械臂逆运动学解算(附代码)
  15. c语言 输出1到n之间的全部素数,输出1到n中所有的素数
  16. kernel 打印时间戳
  17. 实时动态定位(RTK)
  18. 怎样在服务器上设置无线上网,设置无线路由器步骤 电信无线路由器的设置方法...
  19. sdcard/DCIM/.thumbnails文件夹里的庞然大物 是这样来的
  20. 【蓝桥真题5】带三百人训练了十天精选蓝桥真题,看看他们都练些什么(三门语言题解)

热门文章

  1. 网络传输中的三张表,MAC地址表、ARP缓存表以及路由表
  2. 中国地震局监测司与多个省份地震局台网中心信息化负责人莅临云创
  3. 解决STL文件导入SolidWorks中无法拉伸切除的问题
  4. C语言基础题----------注水问题
  5. Java stream流式计算详解
  6. android手机应用移到tv,这些电视APP装进手机同样好用(附安装方法)
  7. 使用tomcat打开html文件,为什么tomcat可以打开html文件,不能打开jsp文件呢?
  8. vnc viewer中文版,超好用的几款vnc viewer中文版
  9. 输出2000-3000年之间的闰年
  10. EMC叶成辉:云存储是一门省钱的学问