HBase時(shí)間軸一致性:讀取API和用法

2018-07-05 14:01 更新

閱讀API和用法

Shell

您可以使用Consistency.TIMELINE語(yǔ)義在shell中進(jìn)行讀取,如下所示:

hbase(main):001:0> get 't1','r6', {CONSISTENCY => "TIMELINE"}

您可以模擬區(qū)域服務(wù)器暫?;蜃兊貌豢捎?,并從輔助副本執(zhí)行讀取操作:

$ kill -STOP <pid or primary region server>

hbase(main):001:0> get 't1','r6', {CONSISTENCY => "TIMELINE"}

使用掃描也是類(lèi)似的:

hbase> scan 't1', {CONSISTENCY => 'TIMELINE'}

Java

您可以為Get和Scans設(shè)置一致性,并按如下方式執(zhí)行請(qǐng)求:

Get get = new Get(row);
get.setConsistency(Consistency.TIMELINE);
...
Result result = table.get(get);

您還可以傳遞多個(gè)獲?。?/p>

Get get1 = new Get(row);
get1.setConsistency(Consistency.TIMELINE);
...
ArrayList<Get> gets = new ArrayList<Get>();
gets.add(get1);
...
Result[] results = table.get(gets);

以及掃描:

Scan scan = new Scan();
scan.setConsistency(Consistency.TIMELINE);
...
ResultScanner scanner = table.getScanner(scan);

您可以通過(guò)調(diào)用Result.isStale()方法來(lái)檢查結(jié)果是否來(lái)自主區(qū)域:

Result result = table.get(get);
if (result.isStale()) {
  ...
}
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)