`
刘小小尘
  • 浏览: 62415 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hbase 读写遍历

 
阅读更多

设置多个filter

代码如下:

package com.pzoom.xiaochen.javaHbase;

import java.io.IOException;
import java.util.Arrays;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
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.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.FilterList.Operator;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.junit.Test;

public class TestFilter {
	private static Configuration conf = null;
	private static HTable tableKeyword = null ;
	/**
	 * 初始化配置
	 */
	static {
		Configuration HBASE_CONFIG = new Configuration();
		HBASE_CONFIG.set("hbase.zookeeper.quorum", "192.168.1.171,192.168.1.172,192.168.1.173");
		HBASE_CONFIG.set("hbase.zookeeper.property.clientPort", "2181");
		conf = HBaseConfiguration.create(HBASE_CONFIG);
		try {
			tableKeyword = new HTable(conf, "tab_keyword");
			tableKeyword.setAutoFlush(false);
		} catch (IOException e) {
			e.printStackTrace();
		};
	}
	
	@Test
	public void testFilter1() throws IOException {
//		HTable hTable = new HTable("tab_keyword");  
		Scan scan = new Scan();
		SingleColumnValueFilter aFilter = new SingleColumnValueFilter(
				"content".getBytes(), "id".getBytes(), CompareOp.EQUAL, "f8d0c4489f4ddf5e".getBytes());
		aFilter.setFilterIfMissing(true);
		
		SingleColumnValueFilter bFilter = new SingleColumnValueFilter(
				"content".getBytes(), "netword".getBytes(), CompareOp.EQUAL, "BAIDU".getBytes());
		bFilter.setFilterIfMissing(true);
		
		FilterList filter = new FilterList(Operator.MUST_PASS_ONE, Arrays.asList((Filter) aFilter, bFilter)) ;
		scan.setFilter(filter);
		
		ResultScanner rs = tableKeyword.getScanner(scan);
		for(Result r : rs) {
			for(KeyValue kv : r.raw()) {
				System.out.println("qu = " + new String(kv.getQualifier()) + ",va = " + new String(kv.getValue()));
			}
		}
	}
}

上面的代码容易出错的地方在于,需要导入HBase的类所在的包。导入时需要选择包,由于类可能出现在HBase的各个子包中,所以要选择好,下面列出常用的包。尽量用HBase的包


下面列出HBase常用的操作

(1)时间戳到时间的转换.单一的时间戳无法给出直观的解释。

public String GetTimeByStamp(String timestamp)
 {

  long datatime= Long.parseLong(timestamp);
     Date date=new Date(datatime);  
     SimpleDateFormat   format=new   SimpleDateFormat("yyyy-MM-dd HH:MM:ss");  
     String timeresult=format.format(date);
     System.out.println("Time : "+timeresult);
     return timeresult;
 }

(2)时间到时间戳的转换。注意时间是字符串格式。字符串与时间的相互转换,此不赘述。

public String GetStampByTime(String time)
 {
  String Stamp="";
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Date date;
  try
  {
   date=sdf.parse(time);
   Stamp=date.getTime()+"000";
   System.out.println(Stamp);
  }catch(Exception e){e.printStackTrace();}
  return Stamp;

 } 




分享到:
评论

相关推荐

    Java通过api 操作hbase 0.98

    在集群中创建java项目调用api来操作hbase,主要涉及对hbase的创建表格,删除表格,插入数据,删除数据,查询一条数据,查询所有数据等操作。 具体流程如下: 1.创建项目 2.获取jar包到项目的lib目录下(这边试用的事...

    Hbase操作示例 Hbase的读写例子

    本人原创, 1.Hbase连接需要改Hbase包中的两个配置文件,加上Hbase所在机器ip及端口 2.HBaseDMLT初始化环境 3.MapDataIni为建表 4.MapDataInsert为写数据 5.MapDataDelete为删除数据 6.MapDataRead为读数据

    HBASE学习分享

    HBASE的主要原理解读:包括HBase 读写逻辑、HBase region拆分和合并

    hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架

    对HBase的API做了一层抽象,统一了HBase1.x和HBase2.x的实现,并提供了读写HBase的ORM的支持,同时,sdk还对HBase thrift 的客户端API进行了池化封装,(类似JedisPool),消除了直接使用原生API的各种问题,使之...

    gohbase:Pure-Go HBase客户端

    Golang HBase客户端 这是的纯客户端。 当前状态:测试版。支持的版本HBase的> = 1.0安装go get github.com/tsuna/gohbase用法示例创建一个客户client := gohbase . NewClient ( "localhost" )插入一个单元格// ...

    大数据查询——HBase读写设计与实践

    本文来自于InfoQ,这个项目主要解决check和opinion2张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询。本项目主要解决check和opinion2张历史数据表(历史数据是指当业务发生过程中...

    YCSB之HBase压力测试.pdf

    本文讲解如何安装和配置YCSB,如何使用YCSB给Hbase加载测试数据,如何使用YCSB命令测试Hbase读写性能。主要解释了各个命令行参数的作用。

    HbaseTemplate 操作hbase

    java 利用 sping-data-hadoop HbaseTemplate 操作hbase find get execute 等方法 可以直接运行

    读写HBase数据.pdf

    Spark及pyspark的操作应用 读写HBase数据

    pinpoint的hbase初始化脚本hbase-create.hbase

    搭建pinpoint需要的hbase初始化脚本hbase-create.hbase

    hbase 完全使用手册

    hbase完全参考手册,不过是英文版。非常全面hbase英文参考手册

    HBase(hbase-2.4.9-bin.tar.gz)

    HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...

    HBase数据库设计.doc

    1. HBase有哪些基本的特征? 1 HBase特征: 1 2. HBase相对于关系数据库能解决的问题是什么? 2 HBase与关系数据的区别? 2 HBase与RDBMS的区别? 2 3. HBase的数据模式是怎么样的?即有哪些元素?如何存储?等 3 1...

    Hbase权威指南(HBase: The Definitive Guide)

    作为google bigtable架构的开源实现,hbase能够支持数以十亿计的记录数和数以百万计的字段,与此同时它还能够保证常量级的读写性能。很多it管理层正在质疑hbase。而这本书提供了很多有意义的答案,无论你是否正在...

    hbase-2.3.5单机一键部署工具

    注意:zookeeper3.4.13和hbase2.3.5都是采用docker-compose方式部署 原文链接:https://blog.csdn.net/m0_37814112/article/details/120915194 说明:使用外部zookeeper3.4.13之hbase2.3.5一键部署工具,支持部署、...

    java大数据作业_3HBase

    1. 请用java集合的代码描述HBase的表结构 2. 请简述HBase中数据写入最后导致Region分裂的全过程 3. 如果设计一个笔记的表,表中要求有笔记的属性和笔记的内容,怎么做 4. HBase部署时如何指定多个zookeeper 5. HBase...

    Hbase资源整理集合

    HBase 官方文档.pdf HBase的操作和编程.pdf HBase Cpressr优化与实验 郭磊涛.pdf null【HBase】Data Migratin frm Gri t Clu Cmputing - Natural Sienes .pdf 分布式数据库HBase快照的设计与实现.pdf 【HBase】...

    hbase-1.4.9-bin.tar.gz

    hbase官方推荐稳定版1.4.9 HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。 HBase是一个数据模型,类似于谷歌的大表... HBase在Hadoop的文件系统之上,并提供了读写访问。

    实验三:熟悉常用的HBase操作

    A.3实验三:熟悉常用的HBase操作 本实验对应第5章的内容。 A.3.1 实验目的 (1)理解HBase在Hadoop体系结构中的角色。(2)熟练使用HBase操作常用的 Shell命令。(3)熟悉HBase操作常用的 Java API。 A.3.2 实验平台 (1...

Global site tag (gtag.js) - Google Analytics