import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes; import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List; public class HBaseDemo { private static final String TABLE_NAME = "speech";
// private static final String CF_DEFAULT = "cf1";
// public static final byte[] QUALIFIER = "col1".getBytes();
// private static final byte[] ROWKEY = "999".getBytes(); public static void main(String[] args) {
Configuration config = HBaseConfiguration.create();
String zkAddress = "hb-bp17t03zm5o7p75s1-002.hbase.rds.aliyuncs.com:2181,hb-bp17t03zm5o7p75s1-003.hbase.rds.aliyuncs.com:2181,hb-bp17t03zm5o7p75s1-004.hbase.rds.aliyuncs.com:2181";
config.set(HConstants.ZOOKEEPER_QUORUM, zkAddress);
Connection connection = null; try {
connection = ConnectionFactory.createConnection(config);
//
// System.out.println("==========Get data==========");
Table table = connection.getTable(TableName.valueOf(TABLE_NAME));
try {
// // Get data
// Get get = new Get(ROWKEY);
// Result r = table.get(get);
// List<Cell> cs = r.listCells();
// for (Cell cell : cs){
// String rowKey = Bytes.toString(CellUtil.cloneRow(cell));
// //取行键
// long timestamp = cell.getTimestamp(); //取时间戳
// String family = Bytes.toString(CellUtil.cloneFamily(cell));
// //取到族列
// String qualifier =
// Bytes.toString(CellUtil.cloneQualifier(cell)); //取到修饰名
// String value = Bytes.toString(CellUtil.cloneValue(cell));
// //取到值
//
// System.out.println("===> rowKey : " + rowKey +", timestamp :
// "+timestamp + ", family : "+ family+", qualifier :
// "+qualifier+", value : " +value );
// } DateFormat df3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); // Scan data
System.out.println("==========Scan data Start==========");
System.out.println(df3.format(System.currentTimeMillis()));
String start = "rokid-12016-12-18 11:37:23010116004126";
String end = "rokid-12016-12-18 16:30:48010116000832";
Scan scan = new Scan(start.getBytes(),end.getBytes());
ResultScanner rs = table.getScanner(scan);
for (Result result : rs) {
List<Cell> cs1 = result.listCells();
for (Cell cell : cs1) {
String rowKey = Bytes.toString(CellUtil.cloneRow(cell));
long timestamp = cell.getTimestamp();
String family = Bytes.toString(CellUtil.cloneFamily(cell));
String qualifier = Bytes.toString(CellUtil.cloneQualifier(cell));
String value = Bytes.toString(CellUtil.cloneValue(cell));
//System.out.println(" ===> rowKey : " + rowKey + ", timestamp : " + timestamp + ", family : "
// + family + ", qualifier : " + qualifier + ", value : " + value);
}
}
System.out.println(df3.format(System.currentTimeMillis()));
System.out.println("==========Scan data Over==========");
config.setLong(HConstants.HBASE_REGIONSERVER_LEASE_PERIOD_KEY,3000000);
// Delete data
//System.out.println("==========Delete data Start==========");
//System.out.println(df3.format(System.currentTimeMillis())); //String start = "rokid-112017-01-18 03:34:590201011650000021";
//String end = "rokid-12016-02-08 00:24:46010116000035"; //Scan scan1 = new Scan(start.getBytes(),end.getBytes());
//ResultScanner rs1 = table.getScanner(scan1);
//List<Delete> ld = new ArrayList<Delete>();
//for (Result result : rs1) {
// ld.add(new Delete(result.getRow()));
// // List<Cell> cs1 = result.listCells();
// // for (Cell cell : cs1) {
// // table.delete(new Delete(CellUtil.cloneRow(cell)));
// // }
//}
//System.out.println(ld.size());
//System.out.println(df3.format(System.currentTimeMillis()));
//table.delete(ld);
//System.out.println(df3.format(System.currentTimeMillis()));
//System.out.println("==========Delete data Over==========");
} finally {
if (table != null)
table.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
try {
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

文章参考:Hbase新版本JavaAPI编程实战及基本操作方法封装:

http://blog.csdn.net/tanggao1314/article/details/51408166

待续。。。

Hbase1.1.x Java版之批量查删操作的更多相关文章

  1. MongoDB安装、CURD增改查删操作、应用场景

    NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL".非关系型的数据存储 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 ...

  2. Java典型应用彻查1000例:图形与网络游戏开发 PDF 扫描版[68M]

    <Java典型应用彻查1000例·图形与网络游戏开发>实例丰富,编排合理,可以让有初级Java基础的读者,从陌生到完全熟练地设计网络游戏,进而掌握3D立体绘图方法,适合作为Java网络游戏 ...

  3. PetaPojo —— JAVA版的PetaPoco

    背景 由于工作的一些原因,需要从C#转成JAVA.之前PetaPoco用得真是非常舒服,在学习JAVA的过程中熟悉了一下JAVA的数据组件: MyBatis 非常流行,代码生成也很成熟,性能也很好.但 ...

  4. Java API 快速速查宝典

    Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...

  5. 网页爬虫的设计与实现(Java版)

    网页爬虫的设计与实现(Java版)     最近为了练手而且对网页爬虫也挺感兴趣,决定自己写一个网页爬虫程序. 首先看看爬虫都应该有哪些功能. 内容来自(http://www.ibm.com/deve ...

  6. 解决Java版CKFinder无法显示缩略图问题

    这些天在写我的Java EE项目的时候用到了CKEditor和CKFinder,但是在用CKFinder的时候无法显示图片的缩略图,但是官网上的demo上却有缩略图,我一直以为是自己配置错误了,我把官 ...

  7. Elasticsearch 6.4基本操作 - Java版

    1. Elasticsearch Java API有四类client连接方式 TransportClient RestClient Jest Spring Data Elasticsearch 其中T ...

  8. 阿里云短信验证解决方案(java版)(redis存储)

    最近搞了一个互联网项目的注册,需要写一个手机号验证(由于之前没有轮子,只能自己摸索了); 1:基本思路: 1>购买了阿里云短信服务->下载阿里云短信发送demo(java版); 2> ...

  9. Java连接MySQL数据库及简单的增删查改操作

    主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...

随机推荐

  1. sonarqube 指定jdk

    D:\sonarqube-6.3\conf\wrapper.conf wrapper.java.command=D:/other/jdk1.8.0_25/bin/java

  2. springmvc自己定义拦截器

    Spring MVC也能够使用拦截器对请求进行拦截处理,用户能够自己定义拦截器来实现特定的功能,自己定义的拦截器必须实现HandlerInterceptor接口. 直接看下样例: package co ...

  3. 〖Linux〗zigbee实验之cc2430移植tinyos2.x的步骤(Ubuntu13.10)

    开发环境:Ubuntu13.10 1. 添加源,并安装tinyos-2.11:sudo gedit  /etc/apt/sources.list #往里边添加deb http://tinyos.sta ...

  4. 【docker】挂载web应用

    现在将webapps目录挂载在宿主机目录,方便运维 docker run -p 8090:8080 --name app -v /usr/app:/usr/local/tomcat/webapps d ...

  5. 【Docker】安装并测试安装成功

    1.环境描述 Centos 7 2.安装步骤 通过命令yum install docker安装 等待下载安装-,出现下图,按y继续 继续等待-出现下图按y继续 再继续等待- 知道出现上图表示安装完毕 ...

  6. oracle卸载清除注册表(彻底卸载)

    用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢? 那就是直接注册表清除,步骤如下: . 开始->设置->控制面板-& ...

  7. springmvc中同步/异步请求参数的传递以及数据的返回

    注意: 这里的返回就是返回到jsp页面 **** controller接收前台数据的方式,以及将处理后的model 传向前台***** 1.前台传递数据的接受:传的属性名和javabean的属性相同 ...

  8. HDUOJ-----I NEED A OFFER!

    I NEED A OFFER! Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Tot ...

  9. 常见Web前端开发笔试题

    1.什么是web标准? WEB标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentation)和行为 (Behavior). 对应的标准也分 ...

  10. 安卓请求网络错误 直接在main Thread 进行网络操作出现maintreamexception

    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites ...