欢迎投稿

今日深度:

HBase的基本操作,

HBase的基本操作,


主要用到HTable的put、delete、get等方法

详见下面代码

 

public class HBaseTestCase { static Configuration cfg=null; static { //默认加载classpath目录下的文件 cfg=HBaseConfiguration.create(); //cfg.addResource("ch2/hbase-site2.xml"); } public static void creatTable(String tablename) throws Exception { HBaseAdmin admin = new HBaseAdmin(cfg); if (admin.tableExists(tablename)) { System.out.println("table Exists!!!"); } else{ HTableDescriptor tableDesc = new HTableDescriptor(tablename); tableDesc.addFamily(new HColumnDescriptor("basic_info")); admin.createTable(tableDesc); System.out.println("create table ok ."); } } public static void addData (String tablename) throws Exception{ HTable table = new HTable(cfg, tablename); //添加1 row1 basic_info:name zhangLi ts默认 //Put put=new Put("row1".getBytes()); //put.add("basic_info".getBytes(),"name".getBytes(),"zhangLi".getBytes()); //添加2 row2 basic_info:name xuhao ts默认 KeyValue kv=new KeyValue("row2".getBytes(),"basic_info".getBytes(),"name".getBytes(),"xuhao".getBytes()); Put put=new Put("row2".getBytes()); put.add(kv); table.put(put); System.out.println("add data ok ."); } public static void getData(String tableName) throws IOException{ HTable table=new HTable(cfg,tableName); Get get=new Get("row1".getBytes()); Result rs=table.get(get); String value=new String(rs.getValue("basic_info".getBytes(), "name".getBytes())); System.out.println(value); //out:zhangLi } public static void getAllData (String tablename) throws Exception{ HTable table = new HTable(cfg, tablename); Scan s = new Scan(); ResultScanner rs = table.getScanner(s); for(Result r:rs){ for(KeyValue kv:r.raw()){ System.out.print(new String(kv.getRow())+" "); System.out.print(new String(kv.getFamily())+" "); System.out.print(new String(kv.getQualifier())+" "); System.out.print(String.valueOf(kv.getTimestamp())+" "); System.out.println(new String(kv.getValue())); } } //out:row1 basic_info name 1387520120966 zhangLi //row2 basic_info name 1387521140007 xuhao } public static void deleteData(String tablename) throws IOException{ HTable table = new HTable(cfg, tablename); Delete delete =new Delete("row1".getBytes()); //指定列,若不指定,则会删除整行 delete.deleteColumn("basic_info".getBytes(), "name".getBytes()); table.delete(delete); System.out.println("delete data ok ."); } public static void main (String [] agrs) { try { String tablename="teacher"; //HBaseTestCase.creatTable(tablename); //HBaseTestCase.addData(tablename); HBaseTestCase.getAllData(tablename); //HBaseTestCase.getData(tablename); //HBaseTestCase.deleteData(tablename); } catch (Exception e) { e.printStackTrace(); } } }

www.htsjk.Com true http://www.htsjk.com/hbase/40708.html NewsArticle HBase的基本操作, 主要用到HTable的put、delete、get等方法 详见下面代码   publicclass HBaseTestCase{ static Configuration cfg = null ; static { //默认加载 classpath 目录下的文件 cfg =HBaseConfiguration. create...
相关文章
    暂无相关文章
评论暂时关闭