HBase 中加盐(Salting)之后的表如何读取:MapReduce 篇
前两篇文章,《HBase 中加盐(Salting)之后的表如何读取:协处理器篇》 和 《HBase 中加盐(Salting)之后的表如何读取:Spark 篇》 分别介绍了两种方法读取加盐之后的 HBase 表。本文将介绍如何在 MapReduce 读取加盐之后的表。
在 MapReduce 中也可以使用 《HBase 中加盐(Salting)之后的表如何读取:Spark 篇》 文章里面的 SaltRangeTableInputFormat 。剩余的就要求我们编写一个 Mapper,来解析查询出来的数据,代码如下:
[Java] 纯文本查看 复制代码
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
这个 Mapper 程序将查询出来的数据进行解析,其代码和 《HBase 中加盐(Salting)之后的表如何读取:协处理器篇》 里面的协处理器服务端的数据解析很类似。因为表有多个列,为了显示方便,我这里使用 \n 分隔符来分割每列的数据。
在这个场景下,HbaseMapper 类已经将数据解析好了,所以我们不需要编写 Reducer,我们直接把数据存储到 HDFS 上,所以我们的驱动程序实现就很简单了,如下:
[Java] 纯文本查看 复制代码
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
最后我们编译打包上面的类,然后使用下面命令运行这个 MapReduce 程序
[Shell] 纯文本查看 复制代码
|
1 |
|
我们可以看到
程序运行完之后,会在 hdfs://www.iteblog.com:8020/result/ 目录下生产最终的结果,如下:
[Shell] 纯文本查看 复制代码
|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 |
|
转载自过往记忆(https://www.iteblog.com/)