hdfs://myha01/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
hadoop02:2181,hadoop03:2181,hadoop04:2181
htable表(table)
htabledescriptor列族(column family)
put列修飾符(column qualifier)
getscanner
// 宣告靜態配置
static configuration conf = null;
private static final string zk_connect_str = "hadoop01:2181,hadoop02:2181,hadoop03:2181,hadoop04:2181,hadoop05:2181";
static
public static void main(string args) throws exception ;
htable table = new htable(conf, tablename);
filter filter = new pagefilter(3);
byte lastrow = null;
int totalrows = 0;
while (true)
resultscanner scanner = table.getscanner(scan);
int localrows = 0;
result result;
while((result = scanner.next()) != null)
scanner.close();
if(localrows == 0) break;
} system.out.println("total rows:" + totalrows);
}/**
* 多種過濾條件的使用方法
* @throws exception
*/@test
public void testscan() throws exception{
htable table = new htable(conf, "person".getbytes());
scan scan = new scan(bytes.tobytes("person_zhang_000001"), bytes.tobytes("person_zhang_000002"));
//字首過濾器----針對行鍵
filter filter = new prefixfilter(bytes.tobytes("person"));
//行過濾器 ---針對行鍵
bytearraycomparable rowcomparator = new binarycomparator(bytes.tobytes("person_zhang_000001"));
rowfilter rf = new rowfilter(compareop.less_or_equal, rowcomparator);
rf = new rowfilter(compareop.equal , new substringcomparator("_2016-12-31_"));
//單值過濾器1完整匹配位元組陣列
new singlecolumnvaluefilter("base_info".getbytes(), "name".getbytes(), compareop.equal, "zhangsan".getbytes());
//單值過濾器2 匹配正規表示式
bytearraycomparable comparator = new regexstringcomparator("zhang.");
new singlecolumnvaluefilter("info".getbytes(), "name".getbytes(), compareop.equal, comparator);
//單值過濾器3匹配是否包含子串,大小寫不敏感
comparator = new substringcomparator("wu");
new singlecolumnvaluefilter("info".getbytes(), "name".getbytes(), compareop.equal, comparator);
//鍵值對元資料過濾-----family過濾----位元組陣列完整匹配
familyfilter ff = new familyfilter(compareop.equal ,
new binarycomparator(bytes.tobytes("base_info")) //表中不存在inf列族,過濾結果為空
);//鍵值對元資料過濾-----family過濾----位元組陣列字首匹配
ff = new familyfilter(
compareop.equal ,
new binaryprefixcomparator(bytes.tobytes("inf")) //表中存在以inf打頭的列族info,過濾結果為該列族所有行
);//鍵值對元資料過濾-----qualifier過濾----位元組陣列完整匹配
filter = new qualifierfilter(
compareop.equal ,
new binarycomparator(bytes.tobytes("na")) //表中不存在na列,過濾結果為空
);filter = new qualifierfilter(
compareop.equal ,
new binaryprefixcomparator(bytes.tobytes("na")) //表中存在以na打頭的列name,過濾結果為所有行的該列資料
);
HBase基礎知識
hbase的主要客戶端介面是由org.apache.hadoop.hbase.client包中的htable類提供的,通過該類,使用者可以完成向hbase儲存和檢索資料,以及刪除無效資料之類的操作。所有修改資料的操作都保證了行級別的原子性,寫操作中涉及的列的數目不會影響該行資料的原子性,行原子性會同...
HBase基礎知識
hbase官網 學習 hbase是乙個建立在hadoop檔案系統之上的分布式的 面向列的開源資料庫,源於google的一篇 bigtable 乙個結構化資料的分布式儲存系統 hbase是google bigtable的開源實現,它利用hadoop hdfs作為其檔案儲存系統,利用hadoop map...
HBase基礎知識
1.hbase簡介 hbase hadoop database,是乙個高可靠性 高效能 面向列 可伸縮的分布式儲存系統,利用hbase技術可在廉價pc server上搭建起大規模結構化儲存集群。hbase利用hadoop hdfs作為其檔案儲存系統,利用hadoop mapreduce來處理hbas...