hbase与hadoop结合(转) - 云计算 - 三路友社论坛 娱乐交友社区论坛 - SNS
返回列表 回复 发帖

hbase与hadoop结合(转)

默认的hadoop 执行后会将结果存储在文件中,这几天搞hbase ,考虑将二者结合 将结果存储在hbase中,改写hadoop的wordCount代码

首先下载hbase 与hadoop

安装过程不写了 网上一堆。。基本是同一篇(~_~!!!)
在启hbase的时候hadoop必须也起 否则用代码总是连接不上
写一class  用来封装对hbase的操作:
public class MyClient {

public  HTable createTableAndAddFamily(String tableName,String[] family) throws IOException {
  HBaseConfiguration config = new HBaseConfiguration();
  HBaseAdmin ha = new HBaseAdmin(config);
  if (!ha.tableExists(tableName)) {
      HTableDescriptor tableDec = new HTableDescriptor(tableName);
      for (int i = 0; i < family.length; i++) {
       tableDec.addFamily(new HColumnDescriptor(family+":"));
   }
      ha.createTable(tableDec);
  }
  HTable table = new HTable(config, tableName);
  return table;
}
public void addDateForTable(HTable table,String key, String family,String lable,String value) throws IOException {
  BatchUpdate batchUpdate = new BatchUpdate(key);
  batchUpdate.put(family+":"+lable, Bytes.toBytes(value));
  table.commit(batchUpdate);
}

在wordCount 引用上面的的方法 在做reduce的时候
public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> {
  

   MyClient my = new MyClient();
   

    public void reduce(Text key, Iterator<IntWritable> values,OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {
      int sum = 0;
      String[] family = {"word","sum"};
      HTable table = my.createTableAndAddFamily("wordCount", family);
      while (values.hasNext()) {
        sum += values.next().get();
      }
     my.addDateForTable(table, key.toString(),"sum", "", String.valueOf(sum));
      output.collect(key, new IntWritable(sum));
    }

之后重新打jar 运行hadoop 数据成功添加到hbase中
我每天都会在固定的时间被一种巨大的宁静所困扰也不会有所震撼,倒是被这件小事情震撼;也曾经有过许多的尘尘嚣侵扰,心灵也没有陡然宁静,倒是被这件小事情让坚硬的心柔软。有很多时候,满心的尘埃渐渐消失,周遭的一个色事物对我没有任何的意义,同时涤荡的无影无踪的还有那些无边的无聊和寂寞;爬上心壁的还有那些个斑驳的清凉人体艺术摄影生命,盈注着满满的清纯。有风的夜晚,我常常的整夜整夜睡不着觉,拥被而坐,看看洁白的月光暧昧着天空,深欧美人体艺术邃,妩媚。我拿了洗面奶使劲往牙刷上挤,结果挤了老半天也没有挤出来,低头一看,自己就笑了。重新拿起牙膏ps之家麻利的挤在牙刷上,生活须臾不可缺少的不只是思想的源泉,还有厌倦和唾弃。仰望快乐,是在饱受生活之后吧。ps其实这些心情,都可以左右的,尤其是我们自己可以在自己心田里左右。许多东西不需要理由!人难道大部分都是一个色活在矛盾中的吗?啊,好烦,该死的天气,热死啦!是自己的终究是自己的,不是自己的勉强也没有用的,所以亲ps爱的不要患得患失了如果有一天你们最终在一起了那是你们有缘份,如果没有在一起就是有缘无份。不知不觉辞职ps已经半个月了,不知道是因为这半个月难熬还这半个月真的办了好多事,总觉得像过了好几年似的。辞职以后我失人体艺术摄影去了原来无忧无虑的生活,原本以为自己是一个很不操心的人可是当自己真的独立的时候才发现原来每个人都会操ps之家心,只是没有把你逼到那个地步而已。呵呵,舍得舍得,真的是有舍才有得。
返回列表