Java操作hbase CURD

来源:互联网 发布:淘宝扣分对店铺的影响 编辑:程序博客网 时间:2024/05/16 14:04
/** * 根据 rowkey删除一条记录 * @param tablename 表名 * @param rowkey 主键 */ public static void deleteRow(String tablename, String rowkey)  {try {HTable table = new HTable(configuration, tablename);List list = new ArrayList();Delete d1 = new Delete(rowkey.getBytes());list.add(d1);table.delete(list);System.out.println("删除行成功!");} catch (IOException e) {e.printStackTrace();}} 


/** * 按rowKey查询单条记录 * @param tableName 表名 * @param rowKey 主键 */public static void QueryByRowKey(String tableName,String rowKey) {HTablePool pool = new HTablePool(configuration, 1000);HTableInterface table = pool.getTable(tableName);try {Get scan = new Get(rowKey.getBytes());// 根据rowkey查询Result r = table.get(scan);System.out.println("获得到rowkey:" + new String(r.getRow()));for (KeyValue keyValue : r.raw()) {System.out.println("列族:" + new String(keyValue.getFamily())+ "列:" + new String(keyValue.getQualifier()) + "====值:" + new String(keyValue.getValue()));}} catch (IOException e) {e.printStackTrace();}}

/** * 按单个列族单个列单个值查询 * @param tableName 表名 * @param object 列族,列,值 */public static void QueryByObject(String tableName,HashMap<String, String> object) {try {HTablePool pool = new HTablePool(configuration, 1000);HTableInterface table = pool.getTable(tableName);//family 列族//qualifier 列//value 值Filter filter = new SingleColumnValueFilter(Bytes.toBytes(object.get("family")), Bytes.toBytes(object.get("qualifier")), CompareOp.EQUAL, Bytes.toBytes(object.get("value")));Scan s = new Scan();s.setFilter(filter);ResultScanner rs = table.getScanner(s);for (Result r : rs) {System.out.println("获得到rowkey:" + new String(r.getRow()));for (KeyValue keyValue : r.raw()) {System.out.println("列族:" + new String(keyValue.getFamily())+ "列:" + new String(keyValue.getQualifier())+ "====值:" + new String(keyValue.getValue()));}}} catch (Exception e) {e.printStackTrace();}}/** * 组合条件查询 * @param tableName 表名 * @param list 多个 列族,列,值 */public static void QueryByListObject(String tableName , ArrayList<HashMap<String, String>> list) {try {HTablePool pool = new HTablePool(configuration, 1000);HTableInterface table = pool.getTable(tableName);List<Filter> filters = new ArrayList<Filter>();for (HashMap<String, String> object : list) {Filter filter = new SingleColumnValueFilter(Bytes.toBytes(object.get("family")), Bytes.toBytes(object.get("qualifier")), CompareOp.EQUAL, Bytes.toBytes(object.get("value")));filters.add(filter);}FilterList filterList1 = new FilterList(filters);Scan scan = new Scan();scan.setFilter(filterList1);ResultScanner rs = table.getScanner(scan);for (Result r : rs) {System.out.println("获得到rowkey:" + new String(r.getRow()));for (KeyValue keyValue : r.raw()) {System.out.println("列族:" + new String(keyValue.getFamily())+ "列:" + new String(keyValue.getQualifier())+ "====值:" + new String(keyValue.getValue()));}}rs.close();} catch (Exception e) {e.printStackTrace();}}


0 0