怎么在eclipse上开发hbase程序?

12 篇文章 0 订阅

1.hbase目录中的lib中的jar包导入,然后将src目录中的java下的包导入。

2.示例程序:

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.Writer;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Random;

 

importorg.apache.hadoop.hbase.HBaseConfiguration;

importorg.apache.hadoop.hbase.HColumnDescriptor;

importorg.apache.hadoop.hbase.HTableDescriptor;

importorg.apache.hadoop.hbase.client.Get;

importorg.apache.hadoop.hbase.client.HBaseAdmin;

importorg.apache.hadoop.hbase.client.HTable;

importorg.apache.hadoop.hbase.client.Put;

importorg.apache.hadoop.hbase.client.Result;

importorg.apache.hadoop.hbase.util.Bytes;

 

 

publicclass server {

   publicstaticvoid main(String args[]) {

      try

      {

         HBaseConfiguration config =new HBaseConfiguration();//获得Hbase配置参数 

         //config.clear();

         config.set("hbase.master","10.28.0.185:60000");

      config.set("hbase.zookeeper.quorum","10.28.0.186,10.28.0.187,10.28.0.188");

      // config.set("hbase.rootdir", "hdfs://localhost.localdomain:9000/hbase");

         //config.set("hbase.cluster.distributed","true");

         config.set("hbase.zookeeper.property.clientPort", "2223");

         //config.set("zookeeper.session.timeout","60000");

      // config.set("hbase.regionserver.port", "61234");

         config.set("hbase.master.port", "62345");

         //config.set("HBASE_MANAGER_ZK", "true");

           HBaseAdmin admin =new HBaseAdmin(config);//新建一个数据库管理员 

           if (admin.tableExists("info")) { 

               System.out.println("drop table"); 

              admin.disableTable("info");//关闭一个表 

              admin.deleteTable("info");//删除一个表 

           } 

           System.out.println("create table"); 

           HTableDescriptortableDescripter =new HTableDescriptor("info".getBytes());//新建一个scores表的描述 

          tableDescripter.addFamily(new HColumnDescriptor("details:"));//在描述里添加列族 

          admin.createTable(tableDescripter);//根据配置好的描述建表 

           HTable htable =new HTable(config,"info");//返回表scores的实例

          

           htable.setAutoFlush(true);

          htable.setWriteBufferSize(1024 * 1024 * 100);

          

           byte[] rowkey = Bytes.toBytes(1);

         Put put = new Put(rowkey);

      put.add(Bytes.toBytes("details"),Bytes.toBytes("name"),Bytes.toBytes("liuyue"));

      put.add(Bytes.toBytes("details"),Bytes.toBytes("num"),Bytes.toBytes("24"));

      put.add(Bytes.toBytes("details"),Bytes.toBytes("time"),Bytes.toBytes("2011"));

         htable.put(put);

        

         htable.flushCommits();

        

         Get get=new Get(Bytes.toBytes(1));//新建Get实例,用来根据条件返回一个指定行里的数据 

           Resultr=htable.get(get);//返回一个指定行里的数据 

           byte[] value1 = r.getValue(Bytes.toBytes("details:name"));

           byte[] value2 = r.getValue(Bytes.toBytes("details:num"));

           byte[] value3 = r.getValue(Bytes.toBytes("details:time"));//根据列key=course:math,返回value

        

           System.out.println(new String(value1));

           System.out.println(new String(value2));

           System.out.println(new String(value3));

         htable.close();

      }

      catch(Exception e)

      {

         e.printStackTrace();

      }

   }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值