www.3112.net > hBAsE mAprEDuCE 读写

hBAsE mAprEDuCE 读写

WordCountHbaseReaderMapper类继承了TableMapper< Text,Text>抽象类,TableMapper类专门用于完成MapReduce中Map过程与Hbase表之间的操作.此时的map(ImmutableBytesWritable key,Result value,Context context)方法,第一个参数

如果你自己用“调”api,来读写hbase的话,我觉得具体考虑的话是任务能否最终实现的问题了,毕竟mapreduce所做的工作很多,它自己的master,zookeeper,hbase的master之间的通信,计算任务的reduce和mapping,细节太多,考虑到mapreduce通常处理的数据量,即便不考虑fault tolerant 都不一定能有效协调各个任务,更何况怎么可能不考虑?所以,自己用java来实现的话,也许是个不错的学习过程,但是基本出不了东西,也就没有实用的可能

先看一个标准的hbase作为数据读取源和输出目标的样例:Configuration conf = HBaseConfiguration.create();Job job = new Job(conf, "job name ");job.setJarByClass(test.class);Scan scan = new Scan();TableMapReduceUtil.initTableMapperJob

1.在hbase中创建一个表例如:create 'test','info'2.配置环境在hadoop的安装目录下找到hadoop.env.sh配置文件,将一文件加入到此配置文件中(export HBASE_HOME=/usr/hbaseexport HADOOP_CLASSPATH=$HBASE_HOME/hbase-0.94.12.

先看一个标准的hbase作为数据读取源和输出目标的样例:Configuration conf = HBaseConfiguration.create();Job job = new Job(conf, "job name ");job.setJarByClass(test.class);Scan scan = new Scan();TableMapReduceUtil.initTableMapperJob

一般情况下都是一个map读取一个hbase region的数据

WordCountHbaseMapper程序和WordCount的Map程序一样,Map输入为每一行数据,例如”Hello World Bye World”,通过StringTokenizer类按空格分割成一个个单词, 通过context.write(word, one);输出为一系列键值对:. 详细源码请参考:WordCountHbaseWriter\src\com\zonesion\hbase\WordCountHbaseWriter.java

如果你自己用“调”api,来读写hbase的话,我觉得具体考虑的话是任务能否最终实现的问题了,毕竟mapreduce所做的工作很多,它自己的master,zookeeper,hbase的master之间的通信,计算任务的reduce和mapping,细节太多,考虑到mapreduce通常处理的数

package test;import java.io.IOException;import java.util.Map;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.

公司有一些实时数据处理的项目,存储用的是hbase,提供实时的检索,当然hbase里面存储的数据模型都是简单的,复杂的多维检索的结果是在es里面存储的,公司也正在引入Kylin作为OLAP的数据分析引擎,这块后续有空在研究下.接着上

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com