在线客服
扫描二维码
下载博学谷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海量数据入仓的解决方案。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据是如何做到目标用户精准营销
大数据是如何做到目标用户精准营销?营销的核心是“人”,哪怕拥有大数据加持,也应以“人”为本。大数据一般取材于日常工作生活,通过分析、挖掘我们的日常行为产生的数据资源,以指导、影响日常工作生活决策,甚至影响整个行业的生存与发展。
11407
2019-04-10 00:08:24
Hadoop的联邦机制 大数据学习总结
Hadoop的NN所使用的资源受所在服务的物理限制,不能满足实际生产需求。本文来谈谈大数据学习之Hadoop的联邦机制,主要内容包括:Hadoop的局限与不足、联邦的实现、主要优点、配置和操作。
7185
2019-08-27 20:31:19
推荐零基础学习大数据的10本经典图书
学习大数据并不是一蹴而就的事情,及时工作多年的开发工程师都需要不断的补充新鲜的知识内容。目前学习大数据知识可以通过视频和图书两种方式学习,视频的优势在于能够将老师的个人开发经验传授给学习者,而图书的优势在于能够随时翻阅,内容比较丰富。这里为大家推荐零基础学习大数据的8本经典图书,希望同学们能够通过不同的学习途径充分掌握大数据开发技能。
5448
2020-09-14 16:01:31
大数据开发和大数据分析该怎么选择?
大数据开发主要是负责大数据挖掘,大数据清洗处理,大数据建模等,负责大规模数据的处理和应用,工作以开发为主与大数据可视化分析工程师相互配合,从数据中挖掘出价值为企业业务发展提供支持。
4473
2021-01-15 10:09:54
狂野大数据课程怎么样?项目实战多吗?
狂野大数据课程作为数字化人才的职场提升课程采用的是线上授课模式,学习该课程无需脱产对在职人群而言一边工作一边实现自我价值提升可谓一举两得。这门课程有一定门槛,课程适合有⼀定的IT⾏业经验,想要转⾏进⼊⼤数据开发或者有技术深造需求的同学。
4105
2022-09-16 15:31:39
