HTable:这个是table对象,通过他来完成对hbase表的各种操作,删除,更新,创建,查询
RowFilter:对rowkey过滤查询的类
QualifierFilter:对子列做过滤查询的类
FilterList:复合filter的实现类
Get:rowkey定位器
Scan:查询扫描器
ResultScanner:查询结果扫描器
Result:单个查询结果
KeyValue:查询结果中的keyvalue原子项
//场景一,通过rowkey,列族,子列直接定位value
Configuration conf = Configuration.create();
HTable table = new HTable(conf,”mytable”);
Get get = new Get(“rowkey1”.getBytes());
get.addFamily(“myfamily”.getBytes());
Result rs = table.get(get);
If(rs.isEmpty()){
System.out.println(“no record”);
}else{
List<KeyValue> kvList = rs.list();
for(KeyValue kv : kvList){
System.out.println(new String(kv.getRow(),”UTF-8”) + “->”);
System.out.println(new String(kv.getQualifier (),”UTF-8”) + “:”);
System.out.println(new String(kv.getValue(),”UTF-8”) );
}
}
//场景二,使用rowkey的模糊匹配来查询
Configuration conf = Configuration.create();
HTable table = new HTable(conf,”mytable”);
Scan sc = new Scan(“somewords”)
sc.addFamily(“myfamily”.getBytes());
ResultScanner rsan = table.getScanner(sc);
Resullt rs = rsan.next();
If(rs==null){
System.out.println(“no record”);
}else{
While(rs!=null){
List<KeyValue> kvList = rs.list();
for(KeyValue kv : kvList){
System.out.println(new String(kv.getRow(),”UTF-8”) + “->”);
System.out.println(new String(kv.getQualifier (),”UTF-8”) + “:”);
System.out.println(new String(kv.getValue(),”UTF-8”) );
}
rs = rsan.next();
}
}
//场景三,使用rowkey和子列的filter进行条件查询
Configuration conf = Configuration.create();
HTable table = new HTable(conf,”mytable”);
Scan sc = new Scan()
sc.addFamily(“myfamily”.getBytes());
RowFilter filter1 = new RowFilter(CompareOp.EQUAL, new RegexStringComparator(“^”+accountlike+”~(.*)”));//利用正则表达式来查找rowkey
QualifierFilter filter2 = new QualifierFilter(CompareOp.LESS_OR_EQUAL,new BinaryComparator(“stop”.getBytes()));
QualifierFilter filter3 = new QualifierFilter(CompareOp.GREATER_OR_EQUAL,new BinaryComparator(“start”.getBytes()));
FilterList flist = new FilterList(FilterList.Operator.MUST_PASS_ALL);
flist.addFilter(filter1);
flist.addFilter(filter2);
flist.addFilter(filter3);
sc.addFilter(flist);
ResultScanner rsan = table.getScanner(sc);
Resullt rs = rsan.next();
If(rs==null){
System.out.println(“no record”);
}else{
While(rs!=null){
List<KeyValue> kvList = rs.list();
for(KeyValue kv : kvList){
System.out.println(new String(kv.getRow(),”UTF-8”) + “->”);
System.out.println(new String(kv.getQualifier (),”UTF-8”) + “:”);
System.out.println(new String(kv.getValue(),”UTF-8”) );
}
rs = rsan.next();
}
}
未完待续。。。
分享到:
相关推荐
自行制作的HBase 1.2.0 Javadoc API CHM版本。内容抽取自官方站点网页
HBase API chm hadoop 分布式 java HBase0.90.4_API.chm
(2)熟练使用HBase操作常用的 Shell命令。(3)熟悉HBase操作常用的 Java API。 A.3.2 实验平台 (1)操作系统:Linux。 (2)Hadoop 版本:2.7.1或以上版本。(3)HBase版本:1.1.2或以上版本。(4) JDK 版本:1.7或以上...
HBase的Python语言接口 Zohmg is a data store for aggregation of multi-dimensional time series data, built on top of Hadoop, Dumbo and HBase. 标签:zohmg
Hbase的JavaAPI 包括表的增删改查
Hbase调用JavaAPI实现批量导入操作.docx
赠送jar包:hbase-metrics-api-1.4.3.jar; 赠送原API文档:hbase-metrics-api-1.4.3-javadoc.jar; 赠送源代码:hbase-metrics-api-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-metrics-api-1.4.3.pom; ...
HBASE
Java Hbase jar api hbase-0.20.6.jar hadoop-core-0.20.1.jar commons-logging-1.1.1.jar zookeeper-3.3.0.jar log4j-1.2.91.jar
jar包已打好,改动配置即可使用
使用JavaAPI实现HBase的ddl(创建表、删除表、修改表(添加列族等))、dml(添加数据、删除数据)、dql(查询数据(get、scan))等操作 除此之外还包含一些其他操作:命名空间的应用、快照的应用等 对应(《HBase...
hbase 1.0 对api做了较大改动,该文件对此做了详细说明
最好用的开发api
hbase java api 访问 增加修改删除(一) 详情请看:http://blog.csdn.net/wild46cat/article/details/53306621
HBase Java API类介绍
序 1. 入门 1.1. 介绍 1.2. 快速开始 2. Apache HBase (TM)配置 2.1. 基础条件 2.2. HBase 运行模式: 独立和...3.4. 从0.20x或0.89x升级到0.90.x 4. HBase Shell 4.1. 使用脚本 4.2. Shell 技巧 5. 数据模型
最近看了hbase的源码根据源码写了一些scala调动hbase表的API,话不多说直接上代码!Hadoop的版本是2.7.3,scala版本是2.1.1,hbase的版本是1.1.2 如果版本不同可以修改pom的依赖项,但要注意版本冲突。 并且在scala...
HBase 的常用Java API HBase 主要包括 5 大类操作:HBase 的配置、HBase 表的管理、列族的管理、列的管理、数据操作等。 1)org.apache.hadoop.hbase.HBaseConfiguration HBaseConfiguration 类用于管理 HBase 的...
Hbase笔记 —— 利用JavaAPI的方式操作Hbase数据库(往hbase的表中批量插入数据)
2019-8____2019-10工作期间的java版hiveApi,hbaseApi和spark版本的hiveApi,hbaseApi