第 7 章 Hbase 和 MapReduce 结合
Hbase 只是一个单纯的数据存储框架, 没有任何的分析能力.
我们可以让 Hbase 和 MapReduce 结合起来, 就扩展出来了数据分析功能.
为什么需要使用 MapReduce
用 MapReduce 的原因有两点:
统计的需要:
我们知道 HBase 的数据都是分布式存储在 RegionServer上的,所以对于类似传统关系型数据库的 group by 操作,扫描器是无能为力的,只有当所有结果都返回到客户端的 时候,才能进行统计。
这样做一是慢,二是会产生很大的网络开 销,所以使用 MapReduce 在服务器端就进行统计是比较好的方 案。
性能的需要:
说白了就是“快”!如果遇到较复杂的场景,在扫描器上添加多个过滤器后,扫描的性能很低;
或者当数据量很大 的时候扫描器也会执行得很慢,原因是扫描器和过滤器内部实现 的机制很复杂,虽然使用者调用简单,但是服务器端的性能就不敢保证了。