codecamp

HBase时间轴一致性:读取API和用法

阅读API和用法

Shell

您可以使用Consistency.TIMELINE语义在shell中进行读取,如下所示:

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

您可以模拟区域服务器暂停或变得不可用,并从辅助副本执行读取操作:

$ kill -STOP <pid or primary region server>

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

使用扫描也是类似的:

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

Java

您可以为Get和Scans设置一致性,并按如下方式执行请求:

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

您还可以传递多个获取:

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);

您可以通过调用Result.isStale()方法来检查结果是否来自主区域:

Result result = table.get(get);
if (result.isStale()) {
  ...
}
HBase时间轴一致性:创建具有区域复制的表
HBase:为MOB配置列
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

HBase快速入门

HBase批量加载

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }