HBASE实战(4):亿级数据从 MySQL 到 Hbase 的三种同步方案与实践(四)对比

Phoenix组件和原生Hbase查询的时间性能对比

  • 原生Hbase查询时间:

  1.  
    count 'mysql_data'
  2.  
     

enter image description here

Hbase查询时间为3856秒大约1小时7分钟

  • Hbase查询优化

  1.  
    count 'mysql_data', INTERVAL => 10000000
  2.  
     

每隔一千万查询一次:

enter image description here

间隔查询3372.5740秒,大约耗时:56分钟。

  • 协处理器

enter image description here

耗时:1874188毫秒=1874.188s秒,大约31分钟。

  • Phoenix查询时间:

 

可以看到Hbase查询时间为3956秒大约1小时多一点。

而Phoenix查询时间为2015.033秒,大约33分钟左右。

综上可得出,速度快慢**:协处理器>Phoenix查询>间隔count>普通count>全表scan**。

同步效率对比

sqoop导入,大约50h左右。kafka-thrift单条插入约等于sqoop导入。kafka-thrift批量插入,大约7h。kafka-flink,大约3-7h。

不同的同步方式,大家可以看到效率有着明显的差别,其中使用Flink效率最高,并且如果自己电脑是集群模式,那么效率就会更加的高!

优化点:Flink窗口收集设置,上游插入速度调整,下游接收调整等。

最后,几点策略总结如下:

  • 大数据需分割、批量插入

  • 插入有序

  • phoenix大数据查询需设超时时间。

  • Flink最稳定、效率最高、根据计算机性能影响。

  • Python thrift,可以批量与单条插入结合。

  • Sqoop需切分、虚拟内存需关闭。

  • HBase若崩溃,赶紧查Zookeeper。

本节到此,就结束了,如果你能坚持看到这里,就表示你学会了很多同步与插入方法,本节比较适合上手实践,欢迎大家与我进行交流!

 

posted @ 2020-12-13 13:06  秋华  阅读(298)  评论(0编辑  收藏  举报