如何实现HBase海量数据的高效入库策略?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1436个文字,预计阅读时间需要6分钟。
一、案例背景+现阶段业务数据存储在HBase中,这部分数据体量较大,达到数十亿。大数据需要增量同步这部分业务数据到数据仓库中,进行离线分析。目前主要的同步方式是通过……。
一、方案背景现阶段部分业务数据存储在HBase中,这部分数据体量较大,达到数十亿。大数据需要增量同步这部分业务数据到数据仓库中,进行离线分析,目前主要的同步方式是通过HBase的hive映射表来实现的。该种方式具有以下痛点:
-
需要对HBase表进行全表扫描,对HBase库有一定压力,同步数据同步速度慢。
-
业务方对HBase表字段变更之后,需要重建hive映射表,给权限维护带来一定的困难。
-
业务方对HBase表字段的变更无法得到有效监控,无法及时感知字段的新增,对数仓的维护带来一定的困难。
-
业务方更新数据时未更新时间戳,导致通过时间戳字段增量抽取时数据缺失。
-
业务方对表字段的更新新增无法及时感知,导致字段不全需要回溯数据。
基于以上背景,对HBase数据增量同步到数仓的场景,给出了通用的解决方案,解决了以上这些痛点。
二、方案简述 2.1 数据入仓构建流程 2.2 HBase数据入仓方案实验对比分别对以上三种实现方案进行合理性分析。
2.2.1 方案一
使用HBase的hive映射表。此种方案实现方式简单,但是不符合数仓的实现机制,主要原因有:
-
HBase表虽然是Hadoop生态体系的NoSQL数据库,但是其作为业务方的数据库,直接通过hive映射表读取,就类比于直接读取业务方Mysql中的视图,可能会对业务方数据库造成一定压力,甚至会影响业务的正常运行,违反数仓尽可能低的影响业务运行原则。
-
通过hive映射表的方式,从实现方式上来讲,增加了与业务方的耦合度,违反数仓建设解耦原则。
本文共计1436个文字,预计阅读时间需要6分钟。
一、案例背景+现阶段业务数据存储在HBase中,这部分数据体量较大,达到数十亿。大数据需要增量同步这部分业务数据到数据仓库中,进行离线分析。目前主要的同步方式是通过……。
一、方案背景现阶段部分业务数据存储在HBase中,这部分数据体量较大,达到数十亿。大数据需要增量同步这部分业务数据到数据仓库中,进行离线分析,目前主要的同步方式是通过HBase的hive映射表来实现的。该种方式具有以下痛点:
-
需要对HBase表进行全表扫描,对HBase库有一定压力,同步数据同步速度慢。
-
业务方对HBase表字段变更之后,需要重建hive映射表,给权限维护带来一定的困难。
-
业务方对HBase表字段的变更无法得到有效监控,无法及时感知字段的新增,对数仓的维护带来一定的困难。
-
业务方更新数据时未更新时间戳,导致通过时间戳字段增量抽取时数据缺失。
-
业务方对表字段的更新新增无法及时感知,导致字段不全需要回溯数据。
基于以上背景,对HBase数据增量同步到数仓的场景,给出了通用的解决方案,解决了以上这些痛点。
二、方案简述 2.1 数据入仓构建流程 2.2 HBase数据入仓方案实验对比分别对以上三种实现方案进行合理性分析。
2.2.1 方案一
使用HBase的hive映射表。此种方案实现方式简单,但是不符合数仓的实现机制,主要原因有:
-
HBase表虽然是Hadoop生态体系的NoSQL数据库,但是其作为业务方的数据库,直接通过hive映射表读取,就类比于直接读取业务方Mysql中的视图,可能会对业务方数据库造成一定压力,甚至会影响业务的正常运行,违反数仓尽可能低的影响业务运行原则。
-
通过hive映射表的方式,从实现方式上来讲,增加了与业务方的耦合度,违反数仓建设解耦原则。

