摘要:本文主要向大家介绍了hbase+JAVA语言实例,Scan查询所有、get根据rowkey查询一行或一列数据,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
本文主要向大家介绍了hbase+JAVA语言实例,Scan查询所有、get根据rowkey查询一行或一列数据,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
hbase+java实例,Scan查询所有、get根据rowkey查询一行或一列数据
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
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.HTablePool;
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.SingleColumnValueExcludeFilter;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.util.Bytes;
/***
* 从表student查询数据
* 查询所有
* 根据主键查询一行
* 根据主键和列族查询列族/某一列
*
*
* @author Administrator
*
*/
public class ShowRecord {
private static Configuration hbaseconfig = null;
static{
Configuration conf = new Configuration();
conf.set("hbase.zookeeper.quorum","*.*.*.*");
conf.set("hbase.zookeeper.property.clientPort","2181");
hbaseconfig = HBaseConfiguration.create(conf);
}
public static void main(String[] args) {
//注意字段查询区分大小写
/***
* 查询表student
*/
//查询所有
//ShowRecord.showAllRecords("student");
//根据主键rowKey查询一行数据
//ShowRecord.showOneRecordByRowKey("student", "200977100709");
//根据主键查询某行中的一列
//ShowRecord.showOneRecordByRowKey_cloumn("student", "200977100709","name");
//ShowRecord.showOneRecordByRowKey_cloumn("student", "200977100709","info:age");
}
/****
* 使用scan查询所有数据
* @param tableName
*/
public static void showAllRecords(String tableName)
{
System.out.println("start==============show All Records=============");
HTablePool pool = new HTablePool(hbaseconfig,1000);
//创建table对象
HTable table = (HTable) pool.getTable(tableName);
try {
//Scan所有数据
Scan scan = new Scan();
ResultScanner rss = table.getScanner(scan);
for(Result r:rss){
System.out.println("\n row: "+new String(r.getRow()));
for(KeyValue kv:r.raw()){
System.out.println("family=>"+new String(kv.getFamily(),"utf-8")
+" value=>"+new String(kv.getValue(),"utf-8")
+" qualifer=>"+new String(kv.getQualifier(),"utf-8")
+" timestamp=>"+kv.getTimestamp());
}
}
rss.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("\n end==============show All Records=============");
}
/***
* 根据主键rowKey查询一行数据
* get 'student','010'
*/
public static void showOneRecordByRowKey(String tableName,String rowkey)
{
HTablePool pool = new HTablePool(hbaseconfig,1000);
HTable table = (HTable) pool.getTable(tableName);
try {
Get get = new Get(rowkey.getBytes()); //根据主键查询
Result r = table.get(get);
System.out.println("start===showOneRecordByRowKey==row: "+"\n");
System.out.println("row: "+new String(r.getRow(),"utf-8"));
for(KeyValue kv:r.raw()){
//时间戳转换成日期格式
String timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss").format(new Date(kv.getTimestamp()));
//System.out.println("===:"+timestampFormat+" ==timestamp: "+kv.getTimestamp());
System.out.println("\nKeyValue: "+kv);
System.out.println("key: "+kv.getKeyString());
System.out.println("family=>"+new String(kv.getFamily(),"utf-8")
+" value=>"+new String(kv.getValue(),"utf-8")
+" qualifer=>"+new String(kv.getQualifier(),"utf-8")
+" timestamp=>"+timestampFormat);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("end===========s
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号