从Elasticsearch导出数据到文件工具Python 和 elasticdump 对比【自己的体验】

工作中从Elasticsearch导出大批量数据到文件,因为Elasticsearch导出有限制,一次性最多导出10000条,虽然可以调大这个数值,但是对于Elasticsearch集群上千万甚至上亿条数据导出,这个参数调整就没什么意义了。

所以我使用了两种方式,一个是用Python模块elasticsearch的helpers.scan来导出数据,另一种使用elasticdump工具来导出数据

说一下这两种方式的体验

方式一: python helpers.scan

优点:在导出数据过程中可以对数据进行处理,对于Elasticsearch上存储的脏数据导出友好,速度还可以

缺点:在对Elasticsearch上规整的数据单纯导出时候,速度有点慢,因为查询的返回结果是unicode格式,还是个数组,输出到文件要稍微处理一下。

方式二:elasticdump

优点:因为是主要为Elasticsearch 备份功能实现的工具,在数据转移的功能上是挺丰富的,使用也简单,速度稍微快一点

缺点:导出过程中无法处理数据,所以最好导出规整的数据到文件。

测试

在导出8300万条数据大小46G到文件时,helpers.scan方式,对数据进行格式化,处理不规则字符,速度慢到无法忍受。

只导出数据时helpers.scan导出完数据要15个小时左右,使用elasticdump也没快多少,只用了13.5小时。

如果有人知道什么好方法,请告知。

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值