在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
如何解决HBase海量数据高效入仓的问题?数据仓库的数据来源于各方业务系统,高效准确的将业务系统的数据同步到数仓是数仓建设的根本。部分业务数据存储在HBase中,这部分数据体量较大达到数十亿。大数据需要增量同步这部分业务数据到数据仓库中进行离线分析,目前主要的同步方式是通过HBase的hive映射表来实现的。

这种方式目前存在的缺陷:需要对HBase表进行全表扫描对HBase库有一定压力同步数据同步速度慢;业务方对HBase表字段变更之后需要重建hive映射表给权限维护带来一定的困难;业务方对HBase表字段的变更无法得到有效监控无法及时感知字段的新增,对数仓的维护带来一定的困难;业务方更新数据时未更新时间戳导致通过时间戳字段增量抽取时数据缺失;业务方对表字段的更新新增无法及时感知导致字段不全需要回溯数据。
基于以上背景对HBase数据增量同步到数仓的场景给出了通用的解决方案,解决了以上这些痛点。
二、解决HBase海量数据高效入仓的方案简述
1、数据入仓构建流程
2、HBase数据入仓方案实验对比
分别对以上三种实现方案进行合理性分析:
方案一:
使用HBase的hive映射表。
此种方案实现方式简单,但是不符合数仓的实现机制,主要原因有:HBase表虽然是Hadoop生态体系的NoSQL数据库,但是其作为业务方的数据库,直接通过hive映射表读取,就类比于直接读取业务方Mysql中的视图,可能会对业务方数据库造成一定压力,甚至会影响业务的正常运行,违反数仓尽可能低的影响业务运行原则。
通过hive映射表的方式从实现方式上来讲,增加了与业务方的耦合度,违反数仓建设解耦原则。所以此种方案在此实际应用场景中是不应该采取的方案。
方案二:
根据业务表中的时间戳字段,抓取增量数据。
由于HBase是基于rowKey的NoSQL数据库,所以会存在以下几个问题:需要通过Scan全表,然后根据时间戳(updateTime)过滤出当天的增量,当数据量达到千万甚至亿级时,这种执行效率就很低,运行时长很长。由于HBase表更新数据时,不像MySQL一样,能自动更新时间戳,会导致业务方没有及时更新时间戳,那么在增量抽取数据的时候,会造成数据缺失的情况。所以此种方案存在一定的风险。
方案三:
根据HBase的timeRange特性(HBase写入数据的时候会记录时间戳,使用的是服务器时间),首先过滤出增量的rowKey,然后根据这些rowKey去HBase查询对应的数据。这种实现方案同时解决了方案一、方案二的问题。同时,能够有效监控业务方对HBase表字段的新增情况,避免业务方未及时通知而导致的数据缺失问题,能够最大限度的减少数据回溯的频率。
综上采用方案三作为实现HBase海量数据入仓的解决方案。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
云计算大数据培训班学费多少钱?
云计算大数据培训就业班学费多少钱?在互联网行业,云计算大数据技术可谓是夺人眼球,对于企业来说,云计算大数据技术为企业优化产业结构,大大节约了成本。对于从业者来说,提供了更多的就业机会,同时也让大家的加薪成为现实。从而很多同学想通过技术培训就业班进入云计算大数据技术领域。现在云计算大数据培训机就业班学费多少钱?
10016
2019-12-05 15:48:33
大数据HIve数据仓库应用案例讲解分析
如今,大数据的大浪已经把我们每个人都卷入其中,随着大数据技术一起引起大众注意的还有HIve数据仓库。作为大数据分析的核心工具之一,它一直发挥着为企业提供决策支持的重要作用。因此掌握Hive是入门大数据学习的关键之一,下面我们就一起来看看HIve数据仓库应用案例讲解。
8586
2019-09-20 16:55:35
大数据开发和大数据分析该怎么选择?
大数据开发主要是负责大数据挖掘,大数据清洗处理,大数据建模等,负责大规模数据的处理和应用,工作以开发为主与大数据可视化分析工程师相互配合,从数据中挖掘出价值为企业业务发展提供支持。
5111
2021-01-15 10:09:54
大数据spark框架常用数据类型RDD与DataFrame的区别
大数据spark框架常用数据类型RDD与DataFrame的区别,在spark中,RDD、DataFrame是最常用的数据类型,在Apache Spark 里面DF 优于RDD但也包含了RDD的特性,在使用的过程中分别介绍下两者的区别和各自的优势。
4292
2022-04-19 11:12:45
从后端开发转大数据开发怎么样?
你为什么从后端开发(Java/golang)转到大数据开发(Hadoop/Spark)?转大数据的最初原因很简单,就是好几个同事都转了,他们的收入瞬间提高了好多,于是在同事的内推我也就跟着转了,转完以后发现自己真的转对了。有以下几个理由:
5113
2022-06-30 14:25:06
