Hive数据导入HBase引起数据膨胀引发的思考

Hive数据导入HBase引起数据膨胀引发的思考,第1张

概述在做一些数据的迁移,主要是将一些Hive处理之后的热数据导入到HBase中,但是遇到了一个很奇怪的问题:同样的数据到了HBase中,所占空间竟增长了好几倍!

最近朋友公司在做一些数据的迁移,主要是将一些Hive处理之后的热数据导入到HBase中,但是遇到了一个很奇怪的问题:同样的数据到了HBase中,所占空间竟增长了好几倍!详谈中,笔者建议朋友至少从几点原因入手分析:

HBase中的数据相对于Hive中的数据会新增一些附加信息导致磁盘占用的增加,比如布隆过滤器

Hive中的数据是否进行过压缩,比如snappy,压缩比还是很高的

row key和列族都会占据一定的空间,当数据量较大时,仅二者就会占据很多不必要的空间

建议将相同查询场景下的几个常用的列的值拼接成一个列,节省keyvalue结构化带来的开销

Hive和HBase都可以作为存储系统,不禁思考引入HBase做数据存储的原因?

通过scan、get可以批量、单条获取数据,通过bulkload、put可以批量、单条导入数据

在实际生产环境,通常将计算和存储进行分离,保证集群规模水平可扩展,易于提高整体的吞吐。通过单机性能优化和集群的扩容,确保业务大幅增长时,存储不能没有成为系统的瓶颈

弱schema的特性能够很好的应对业务数据频繁变化的情况,也能够方便支持一些特殊业务场景的数据逻辑

当然,除了上述原因,还有很多涉及底层的原理环节和实际的业务场景需求,这就要求我们对HBase有足够的了解。

 

关联文章:

深入探讨HBASE

HBase高级特性、rowkey设计以及热点问题处理

HBase中Memstore存在的意义以及多列族引起的问题和设计

 

关注微信公众号:大数据学习与分享,获取更对技术干货

总结

以上是内存溢出为你收集整理的Hive数据导入HBase引起数据膨胀引发的思考全部内容,希望文章能够帮你解决Hive数据导入HBase引起数据膨胀引发的思考所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1151705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存