理论教育 Java API高级编程实战技巧

Java API高级编程实战技巧

时间:2023-06-14 理论教育 版权反馈
【摘要】:完成从统计单词出现频率,并将其写入到HBase 数据库。即:arg2.write; 替换成如下代码:需要注意的是必须指定FileOutputFormat.setOutputPath。为了方便HBase 从HDFS 中读写数据,其分别提供了TableMapper 类和TableReducer 类,它们是HBase 对Mapper 类和Reducer 类的继承,核心思想和上述代码类似。在Mapper 阶段会将扫描的结果以参数Result 的形式传入,直接读取其值并完成write 即可。HBase 写入数据完整代码如下:

Java API高级编程实战技巧

完成从统计单词出现频率,并将其写入到HBase 数据库。Map 阶段完成文件的读并将其转换成<单词,1>的形式,Reduce 阶段将写入文件代码替换成写入HBase代码即可。即:arg2.write(arg0, new IntWritable(sum)); 替换成如下代码:

需要注意的是必须指定FileOutputFormat.setOutputPath。首先,通过hbase shell建表:create 'wordcount', 'content'

完整代码如下:(www.daowen.com)

同样的,如果将上述HBase 数据读入到HDFS 文件只需要将map 阶段代码的读取过程替换为HBase 的数据读取过程即可。

为了方便HBase 从HDFS 中读写数据,其分别提供了TableMapper 类和TableReducer 类,它们是HBase 对Mapper 类和Reducer 类的继承,核心思想和上述代码类似。在MyReducer 阶段,通过put 存放要插入数据的相关信息,但不调用HTable 的put 方法,而是调用write(ImmutableBytesWritable, Mutation)完成数据插入操作。在Mapper 阶段会将扫描的结果以参数Result 的形式传入,直接读取其值并完成write 即可。同时通过TableMapReduceUtil.initTableReducerJob 和TableMapReduceUtil.initTableMapperJob 完成数据库表名和Reducer、Mapper 的绑定。HBase 写入数据完整代码如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈