按条件查询与删除数据-----HBase(伪分布)学习笔记
2015-01-26 20:20
573 查看
/* * 删除RowKey所有行 * 非空判断√ */ public static void deleteRows(String tablename,String RowKey){ HTable h=null; HBaseAdmin ha=null; Get get=new Get(Bytes.toBytes(RowKey)); try{ ha=new HBaseAdmin(config); if(ha.tableExists(tablename)){ h=new HTable(config,tablename); Delete d=new Delete(Bytes.toBytes(RowKey)); if(h.exists(get)){ h.delete(d); System.out.println("删除成功"); }else{ System.out.println("滚犊子!!!"); } }else{ System.out.println("表呢?你的表那!!"); } }catch(Exception e){ e.printStackTrace(); }finally{ try { h.close(); } catch (IOException e) { e.printStackTrace(); } } } /* * 删除指定一行的数据 * */ public static void deleteRow(String tablename,String RowKey,String family,String qualifier){ HTable h=null; try { h=new HTable(config,tablename); Delete d=new Delete(Bytes.toBytes(RowKey)); d.deleteColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier)); h.delete(d); System.out.println("删除成功!"); } catch (IOException e) { e.printStackTrace(); }finally{ try { h.close(); } catch (IOException e) { e.printStackTrace(); } } } /* * 按条件查询(应用filter) */ @SuppressWarnings("deprecation") public static void GetByParam(String tablename,String Family,String qualifier,String value){ HTable h=null; ResultScanner rs=null; try { h=new HTable(config,tablename); Filter f=new SingleColumnValueFilter(Bytes.toBytes(Family),Bytes.toBytes(qualifier),CompareOp.EQUAL,Bytes.toBytes(value) ); Scan scan=new Scan(); scan.setFilter(f); scan.addColumn(Bytes.toBytes(Family),Bytes.toBytes(qualifier)); rs=h.getScanner(scan); System.out.println("行 列簇 列名 值 时间戳"); for (Result r : rs) { for (KeyValue kv : r.raw()) { System.out.println(kv.getRowOffset()+" "+Family+" "+qualifier+" "+new String(kv.getValue())+" "+ kv.getTimestamp()); } } } catch (IOException e) { e.printStackTrace(); }finally{ try{ rs.close(); h.close(); }catch(Exception e){ e.printStackTrace(); } } } /* * 按条件查询value * 参数:表名,行,列簇,列名 */ public static void get(String tablename,String rowKey,String Family,String qualifier)throws Exception{ HConnection connection = HConnectionManager.createConnection(config); HTableInterface table = connection.getTable(TableName.valueOf(tablename)); try { System.out.println("开始获取------哔哔哔"); Get get=new Get(rowKey.getBytes()); get.addColumn(Family.getBytes(), qualifier.getBytes()); Result r=table.get(get); for(KeyValue kv:r.raw()) { System.out.println("您要查的值为"+new String(kv.getValue())); } } finally { table.close(); connection.close(); } }
本文出自 “大包子” 博客,请务必保留此出处http://dabaozi.blog.51cto.com/8032088/1608571
相关文章推荐
- MySQL 5.6学习笔记(查询数据、插入、更新、删除数据)
- JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询
- SQL学习笔记5 组合查询 插入/更新/删除数据 创建和操纵表
- sqlite学习笔记5:插入数据,查询数据和删除数据
- jQuery学习笔记--ajax查询,jQuery解析返回的json数据 详解
- Jim's游戏外挂学习笔记4—查找怪数据数组的内存分布和地址
- MySQL入门很简单-学习笔记 - 第11章 插入、更新与删除数据
- android 数据库 SQLiteOpenHelper和ContentProvider学习笔记---添加修改删除数据之联系人(二)
- ASP.NET学习笔记---- 数据查询与展示GridView
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- extjs学习笔记(六) grid中数据的保存,添加和删除
- 【个人学习笔记10之--数据修改之插入数据,更新数据,删除数据.】
- jQuery学习笔记--ajax查询,jQuery解析返回的json数据 详解
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- SQL Server 学习(2)IF语句、多条件判断(CASE)、删除表中数据(Truncate)、AND 或是 OR 条件链接
- Silverlight 3 关于数据添加,删除,修改,条件查询的一点代码
- ASP.NET学习笔记---- 数据查询与展示GridView
- 统计学 学习笔记 (五)—— 掌握数据的整体状态 数据的分布特性
- MySQL入门很简单-学习笔记 - 第11章 插入、更新与删除数据