Hbase1.1.x Java版之批量查删操作
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版之批量查删操作的更多相关文章
- MongoDB安装、CURD增改查删操作、应用场景
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL".非关系型的数据存储 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 ...
- Java典型应用彻查1000例:图形与网络游戏开发 PDF 扫描版[68M]
<Java典型应用彻查1000例·图形与网络游戏开发>实例丰富,编排合理,可以让有初级Java基础的读者,从陌生到完全熟练地设计网络游戏,进而掌握3D立体绘图方法,适合作为Java网络游戏 ...
- PetaPojo —— JAVA版的PetaPoco
背景 由于工作的一些原因,需要从C#转成JAVA.之前PetaPoco用得真是非常舒服,在学习JAVA的过程中熟悉了一下JAVA的数据组件: MyBatis 非常流行,代码生成也很成熟,性能也很好.但 ...
- Java API 快速速查宝典
Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...
- 网页爬虫的设计与实现(Java版)
网页爬虫的设计与实现(Java版) 最近为了练手而且对网页爬虫也挺感兴趣,决定自己写一个网页爬虫程序. 首先看看爬虫都应该有哪些功能. 内容来自(http://www.ibm.com/deve ...
- 解决Java版CKFinder无法显示缩略图问题
这些天在写我的Java EE项目的时候用到了CKEditor和CKFinder,但是在用CKFinder的时候无法显示图片的缩略图,但是官网上的demo上却有缩略图,我一直以为是自己配置错误了,我把官 ...
- Elasticsearch 6.4基本操作 - Java版
1. Elasticsearch Java API有四类client连接方式 TransportClient RestClient Jest Spring Data Elasticsearch 其中T ...
- 阿里云短信验证解决方案(java版)(redis存储)
最近搞了一个互联网项目的注册,需要写一个手机号验证(由于之前没有轮子,只能自己摸索了); 1:基本思路: 1>购买了阿里云短信服务->下载阿里云短信发送demo(java版); 2> ...
- Java连接MySQL数据库及简单的增删查改操作
主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...
随机推荐
- 解决java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName'
今天使用mysql,用java程序往mysql中写数据,出现如下错误: Caused by: java.sql.SQLException: Incorrect string value: '\xD3\ ...
- Java基础2-容器篇
java基础2-容器篇 1.页首请关注 思维导航大纲 1.常用容器的类型层次结构 2.理解容器的常用思维大纲 a.空间 时间 concurrentModifyException 加载因子 3.常用类源 ...
- Android 4 编程入门经典
这是一本入门级的经典教才从Android编程入门到发布Android应用程序,每一个章节都是讲得很透,让人轻松的接受. 第1章 Android编程入门 1.1 Android简介 1.1.1 Andr ...
- java 时间戳和PHP时间戳 的转换[10位和13位]
2013-08-02 14:06 9826人阅读 评论(2) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结一下java 时间戳和PHP时间戳 的转换问题: 由于精度不同,导 ...
- SQL Server死锁排查经历 -基于SqlProfiler
提到sql server,想必最让人头疼的当属锁机制了.在默认的read committed隔离模式下,连最基本的select操作都要申请各种粒度的锁,而且在读取数据过程中会不断有锁升级.转化.在非 ...
- 【laravel5.4】引入自定义类库+卸载已有的自定义库(以引入钉钉应用为例)composer dumpautoload -o
本文之前,首先感谢: Azeroth_Yang 传送门:https://blog.csdn.net/zwrj1130/article/details/73467320 强烈建议引入的类 都是含有命名 ...
- 关于iOS 热更新(热修复)你必须知道的一种方法- JSPatch
本文为转载文章 . 版权归原文所有. 原文链接:iOS 5分钟集成热修复(JSPatch) 前言 在iOS中有很多种热修复方案,在这里我就不一一介绍了 这里有一篇介绍热修复的文章:iOS中的HotFi ...
- JQuery包装集size,length,index,slice,find,filter,is,children,next,nextAll,parent,parents,closest,siblings,add,end,andSelf的用法
在使用Jquery包装集的知识之前首先要注意三个概念(当前包装集.新包装集.包装集内部元素)的区别. <!DOCTYPE html> <html xmlns="http:/ ...
- Android清空Fragment回退栈
啊= =:国内的资料为什么都是抄来抄去的. 最后上了Stack Overflow才找到了正解. FragmentManager fragmentManager = getFragmentManager ...
- python os库学习笔记
os.getcwd(): 获取当前目录 os.name: 获取当前使用的操作系统 eg: print os.name os.remove(): 删除指定文件 eg: os.remove('test.t ...