timescaledb-parallel-copy安装使用

1、、环境

OS:centos7
DB:postgresql10.11.3 + timescaleDB1.4.1

2、介绍

timescaledb-parallel-copy是一个命令行程序,用于并行化 PostgreSQL 的内置COPY功能,用于将数据批量插入TimescaleDB

该工具的目的是通过 COPY 同时运行多个文件来加快大型数据的迁移。除了并行化工作负载之外,该工具还提供了一些标记来改善复制体验。
3、下载安装

[root@panghu /]# yum install golang
[root@panghu /]# su - postgres
# 临时启用Go Modules 功能
[postgres@panghu ~]$ export GO111MODULE=on
# 临时设置 环境变量
[postgres@panghu ~]$ export GOPROXY=https://goproxy.io,direct
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔
[postgres@panghu ~]$ export GOPRIVATE=git.mycompany.com,github.com/my/private
[postgres@panghu ~]$ go get github.com/timescale/timescaledb-parallel-copy/cmd/timescaledb-parallel-copy
[postgres@panghu ~]$ cd ./go/bin/

4、使用
将数据从名为data.csv的文件批量插入到名为sample的数据库中的(超)表test中:

#单线程
[postgres@panghu ~]$ timescaledb-parallel-copy --db-name test --table sample --file data.csv

# 2 个线程
[postgres@panghu ~]$ timescaledb-parallel-copy --db-name test --table sample --file data.csv --workers 2

# 2 个线程,每30秒输出一次进度
[postgres@panghu ~]$ timescaledb-parallel-copy --db-name test --table sample --file data.csv --workers 2 --reporting-period 30s

#将文字字符串 'NULL' 视为 NULL: 
[postgres@panghu ~]$ timescaledb-parallel-copy --db-name test --table sample --file data.csv --copy-options " NULL 'NULL' CSV "

属性说明

  • batch-size int
    每次插入的行数 (默认5000)
  • columns string
    CSV 中使用的逗号分隔列
  • connection string
    PostgreSQL连接参数 (默认使用本地连接"host=localhost user=postgres sslmode=disable")
  • copy-options string
    传递给 COPY 的其他选项 (例如 NULL 'NULL') (默认"CSV")
  • db-name string
    目标表所在的数据库
  • file string
    要读取的文件
  • header-line-count int
    标题行数 (默认是1)
  • limit int
    要插入的总行数, 0 表示全部插入
  • log-batches
    是否对单个批次计时
  • reporting-period duration
    报告插入统计数据的时间间隔, 如果为 0,则不会报告中间结果
  • schema string
    目标表的 schema (默认是"public")
  • skip-header
    跳过输入的第一行
  • split string
    要拆分的字符(默认为“,”)
  • table string
    插入的目标表(默认为“test_table”)
  • token-size int
    令牌的最大大小。 默认情况下,是 64KB,因此任何小于该值的值都将被忽略(默认值 65536)
  • truncate
    在插入之前截断目标表
  • verbose
    打印有关复印统计信息的更多信息
  • version
    显示此工具的版本
  • workers int
    要发出的并行请求数(默认为 1)

真实测试

[postgres@panghu bin]$ ./timescaledb-parallel-copy --db-name=bridge --table=tb_hypertable --verbose --reporting-period=1s --file=/tmp/data_small.csv --connection='host=localhost user=postgres password=yourpwd sslmode=disable' --workers=2
at 1s, row rate 124929.23/sec (period), row rate 124929.23/sec (overall), 1.250000E+05 total rows
at 2s, row rate 139986.70/sec (period), row rate 132456.19/sec (overall), 2.650000E+05 total rows
at 3s, row rate 105004.61/sec (period), row rate 123307.95/sec (overall), 3.700000E+05 total rows
at 4s, row rate 139997.44/sec (period), row rate 127479.74/sec (overall), 5.100000E+05 total rows
at 5s, row rate 130013.91/sec (period), row rate 127986.46/sec (overall), 6.400000E+05 total rows
at 6s, row rate 119749.71/sec (period), row rate 126611.40/sec (overall), 7.600000E+05 total rows
at 7s, row rate 140278.32/sec (period), row rate 128559.77/sec (overall), 9.000000E+05 total rows
COPY 1000000, took 7.603663623s with 2 worker(s) (mean rate 131515.549554/sec)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容