首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HBaseStorage()获取Apache中一个记录的所有版本

使用HBaseStorage()获取Apache中一个记录的所有版本
EN

Stack Overflow用户
提问于 2013-08-13 14:37:16
回答 1查看 974关注 0票数 0

我用的是猪拉丁文的org.apache.pig.backend.hadoop.hbase.HBaseStorage()。有可能得到一个值的所有版本吗?

在HBase Shell中,命令如下:

代码语言:javascript
复制
get 'table', 'cf:column', {COLUMN => 'cf:column', VERSIONS => 5}

在猪身上也有可能吗?

输入样本:

我的HBase表如下所示:

代码语言:javascript
复制
hbase(main):019:0> put 'mytable', 'mykey1', 'cf:onlyoneclumn', 'value 1'
0 row(s) in 0.0070 seconds

hbase(main):020:0> put 'mytable', 'mykey1', 'cf:onlyoneclumn', 'value 2'
0 row(s) in 0.0070 seconds

hbase(main):021:0> put 'mytable', 'mykey1', 'cf:onlyoneclumn', 'value 3'
0 row(s) in 0.0050 seconds

hbase(main):022:0> put 'mytable', 'mykey1', 'cf:onlyoneclumn', 'value 4'
0 row(s) in 0.0050 seconds

hbase(main):023:0> get 'mytable', 'mykey1'
COLUMN                CELL                                                      
 cf:onlyoneclumn      timestamp=1376470137654, value=value 4                    
1 row(s) in 0.0370 seconds

hbase(main):024:0> get 'mytable', 'mykey1',  {COLUMN => 'cf:onlyoneclumn', VERSIONS => 5}
COLUMN                CELL                                                      
 cf:onlyoneclumn      timestamp=1376470137654, value=value 4                    
 cf:onlyoneclumn      timestamp=1376470136632, value=value 3                    
 cf:onlyoneclumn      timestamp=1376470135411, value=value 2                    
3 row(s) in 0.0140 seconds
EN

回答 1

Stack Overflow用户

发布于 2013-08-14 07:00:39

当前(0.11.1) HBaseStorage是带有读取HBase表的猪类,它不支持它。它只支持以下内容

optString -装载机选项。已知选项:在解析列名(默认值为空格或逗号)时,将行键加载为第一列-loadKey= -lt=maxKeyVal -gte=minKeyVal -lte=maxKeyVal -limit=numRowsPerRegion -limit=numRowsPerRegion最大行数,以检索每个区域-delim=char分隔符以用于解析列名(默认值为空格或逗号)当解析列名(默认为真)要缓存的行数(更快的扫描,更多内存)时,-ignoreWhitespace=(真为假)忽略空格。为了更快地加载,-noWAL=(true\ false )将写入设置为false。-caster=(HBaseBinaryConverter|Utf8StorageConverter) -minTimestamp= Scan的最小timeRange -maxTimestamp=扫描时间戳最大timeRange -timestamp= Scan的指定时间戳timeRange Utf8StorageConverter是默认的,但要非常小心地使用, 因为这可能导致数据丢失(请参阅http://hbase.apache.org/book.html#perf.hbase.client.putwal)。

您可以做的是获得HBaseStorage代码,并构建支持它的自己的装载机

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18212047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档