<script></script><script></script>
http://blog.csdn.net/karen_wang/archive/2011/03/28/6284154.aspx
1、需要的jar包:
commons-codec-1.4.jar
commons-logging-1.0.4.jar
hadoop-0.20.2-core.jar
hbase-0.20.6.jar
log4j-1.2.15.jar
zookeeper-3.2.2.jar
2、已有表结构:
1、表名:scores
2、列族:
course:art
course:math
grade:
3、scan 'scores'的内容:
ROW COLUMN+CELL
Jerry column=course:art, timestamp=1301294630194, value=80
Jerry column=course:math, timestamp=1301294630132, value=100
Jerry column=grade:, timestamp=1301294630073, value=2
Jim column=course:art, timestamp=1301294630363, value=97
Jim column=course:math, timestamp=1301294630305, value=100
Jim column=grade:, timestamp=1301294630247, value=3
Tom column=course:art, timestamp=1301294630015, value=97
Tom column=course:math, timestamp=1301294629987, value=87
Tom column=grade:, timestamp=1301294629931, value=1
4、代码:
-
package org.myhbase;
-
-
import java.io.IOException;
-
import java.util.ArrayList;
-
import java.util.List;
-
-
import org.apache.hadoop.conf.Configuration;
-
import org.apache.hadoop.hbase.HBaseConfiguration;
-
import org.apache.hadoop.hbase.KeyValue;
-
import org.apache.hadoop.hbase.client.Get;
-
import org.apache.hadoop.hbase.client.HTable;
-
import org.apache.hadoop.hbase.client.Result;
-
import org.apache.hadoop.hbase.client.ResultScanner;
-
import org.apache.hadoop.hbase.client.Scan;
-
import org.apache.hadoop.hbase.filter.FilterList;
-
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
-
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
-
import org.apache.hadoop.hbase.io.Cell;
-
import org.apache.hadoop.hbase.util.Bytes;
-
-
public class HBaseBasic03 {
- private static HBaseConfiguration hbaseConfig=null;
- static{
- Configuration config=new Configuration();
- config.set("hbase.zookeeper.quorum","192.168.10.149,192.168.10.44,192.168.10.49");
- config.set("hbase.zookeeper.property.clientPort", "2181");
- hbaseConfig=new HBaseConfiguration(config);
- }
-
- /**
-
* get方式,通过rowKey查询
-
* @param tablename
-
* @param rowKey
-
* @throws IOException
-
*/
- public static void selectByRowKey(String tablename,String rowKey) throws IOException{
- HTable table=new HTable(hbaseConfig,tablename);
- Get g = new Get(Bytes.toBytes(rowKey));
- Result r=table.get(g);
- for(KeyValue kv:r.raw()){
- System.out.println("column: "+new String(kv.getColumn()));
- System.out.println("value: "+new String(kv.getValue()));
- }
- }
-
- /**
-
* get方式,通过rowKey、column查询
-
* @param tablename
-
* @param rowKey
-
* @param column
-
* @throws IOException
-
*/
- public static void selectByRowKeyColumn(String tablename,String rowKey,String column) throws IOException{
- HTable table=new HTable(hbaseConfig,tablename);
- Get g = new Get(Bytes.toBytes(rowKey));
- g.addColumn(Bytes.toBytes(column));
- Result r=table.get(g);
- for(KeyValue kv:r.raw()){
- System.out.println("column: "+new String(kv.getColumn()));
- System.out.println("value: "+new String(kv.getValue()));
- }
- }
-
-
- public static void selectByFilter(String tablename,List<String> arr) throws IOException{
- HTable table=new HTable(hbaseConfig,tablename);
- FilterList filterList = new FilterList();
- Scan s1 = new Scan();
- for(String v:arr){ // 各个条件之间是“与”的关系
- String [] s=v.split(",");
- filterList.addFilter(new SingleColumnValueFilter(Bytes.toBytes(s[0]),
- Bytes.toBytes(s[1]),
- CompareOp.EQUAL,Bytes.toBytes(s[2])
- )
- );
- // 添加下面这一行后,则只返回指定的cell,同一行中的其他cell不返回
-
// s1.addColumn(Bytes.toBytes(s[0]), Bytes.toBytes(s[1]));
- }
- s1.setFilter(filterList);
- ResultScanner ResultScannerFilterList = table.getScanner(s1);
- for(Result rr=ResultScannerFilterList.next();rr!=null;rr=ResultScannerFilterList.next()){
- for(KeyValue kv:rr.list()){
- System.out.println("row : "+new String(kv.getRow()));
- System.out.println("column : "+new String(kv.getColumn()));
- System.out.println("value : "+new String(kv.getValue()));
- }
- }
- }
-
- public static void main(String [] args) throws IOException{
-
- // 按rowkey查询,查询Tom行的所有cell
- HBaseBasic03.selectByRowKey("scores","Tom");
-
- // 按rokey 和 column 来查询,查询Tom行course列族的所有列值
- HBaseBasic03.selectByRowKeyColumn("scores","Tom","course");
-
- // Filter多条件查询,条件:查询 course列族中art列值为97 ,且 course列族中math列值为100的行
- List<String> arr=new ArrayList<String>();
- arr.add("course,art,97");
- arr.add("course,math,100");
- HBaseBasic03.selectByFilter("scores",arr);
-
- }
-
- }
相关推荐
hbase query封装:封装了hbase的filter,可以使用sql-like的方式操作hbase。 动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。 insert,update支持: 建立在hbase的checkAndPut之上。 ...
hbase query封装:封装了hbase的filter,可以使用sql-like的方式操作hbase。 动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。 insert,update支持: 建立在hbase的checkAndPut之上。 hbase多版本...
2.9. Bloom Filter 3. 升级 3.1. 从HBase 0.20.x or 0.89.x 升级到 HBase 0.90.x 3.2. 从 0.90.x 到 0.92.x 4. The HBase Shell 4.1. 使用脚本 4.2. Shell 技巧 5. 数据模型 5.1. 概念视图 5.2. 物理视图 5.3. 表 ...
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
提供可视化查询、元数据管理和支持预分区建表三大功能特点响应式设计Hbase数据/操作可视化提供包括Rowkey、版本号、Scan时间和各类Filter在内的高级查询提供元数据管理提供命名空间管理创建表时支持通过设置起止...
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
Nosql HMIN 313-NoSQL Claroline课程资料 HBase安装 ... Java查询:Put,Scanner,Filter ... 23/09的放映 课程: 入门课程结束 TP的连续性 放映09/30 班级 课程 放大Neo4J Java API 服务器没用吗?
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
在此项目中,我实现了Bloom Bloom过滤器,编码Bloom Bloom过滤器,Counting Bloom Filter计数。 这些用于Google Bigtable,Apache HBase,Apache Cassandra和PostgreSQL等系统中。 Google Bigtable,Apache HBase,...
SVN/IDEA开发⼯具 分布式版本管理⼯具Git与Github Mysql⾼级 Mycat实现MySQL的分布式、分库分表、读写分离 Nginx反向代理、负载均衡、动静分离 JVM内存模型、参数调优 JUC线程⾼级 分布式架构注册中⼼Zookeeper 虚拟...
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
本资源为大数据基础到中高级教学资源,适合稍微有点大数据或者java基础的人群学习,资源过大,上传乃是下载链接,不多说,上目录: 1_java基础2 l3 a2 a$ t7 J2 b+ `- p 2_java引入ide-eclipse 3_java基础知识-循环...
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
ilter:所有的过滤器都在服务端生效,以保证被过滤掉的数据不会被传送到客户端 •过滤器是在HBase服务器端上执行判断操作 •过滤器可以应用到行键(RowFilter),列限定符...•FilterList可以组合使用多个Filter
《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地...
Hadoop是一个开源的MapReduce平台,设计运行在大型分布式集群环境中,提供查询和分析服务。尤其适用于大数据系统,Hadoop为苹果、eBay、LinkedIn、雅虎和Facebook等公司提供重要软件环境。它为开发者进行数据存储、...
6.4.5 在MapReduce 中优化用户的Java 代码 6.4.6 数据序列化 6.5 本章小结 第4 部分 数据科学. 7 数据结构和算法的运用 7.1 使用图进行数据建模和解决问题 7.1.1 模拟图 7.1.2 最短路径算法 技术...