【问题标题】:Search for the latest rows in terms of timestamp根据时间戳搜索最新的行
【发布时间】:2016-10-01 13:47:32
【问题描述】:

我正在寻找如何在由 Nutch 2.3 加载的 hbase 表中搜索最新行。

我用的是happybase和thrift,我发现的唯一例子就是这个链接https://happybase.readthedocs.io/en/happybase-0.4/tutorial.html#using-table-namespaces

【问题讨论】:

  • 嗨@Hakim 我的回答有用吗?除了 ,你还有什么发现吗?

标签: python hadoop hbase nutch happybase


【解决方案1】:

我不知道 python,所以我在 hbase shell 中解释这个.. 或多或少你应该能够在 python 中做到这一点。

Python方式:Convert timestamp since epoch to datetime.datetime

如何获取最新的时间戳以通过过滤器?

将数据记录到时间戳 将日期 '08/08/16 20:56:29' 从 hbase 日志转换为 时间戳,做:

     hbase(main):021:0> import java.text.SimpleDateFormat
                   hbase(main):022:0> import java.text.ParsePosition
                    hbase(main):023:0> SimpleDateFormat.new("yy/MM/dd HH:mm:ss").parse("08/08/16 20:56:29", ParsePosition.new(0)).getTime()
 => 1218920189000

在上面你可以尝试这样的事情:

scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}


hbase(main):001:0> scan

以下是此命令的一些帮助: 扫描一张桌子;传递表名和可选的扫描仪字典 规格。扫描仪规格可能包括以下一项或多项: TIMERANGE、过滤器、限制、STARTROW、STOPROW、时间戳、MAXLENGTH、 或列,缓存

一些例子:

  hbase> scan '.META.'
  hbase> scan '.META.', {COLUMNS => 'info:regioninfo'}
  hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
  hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
  hbase> scan 't1', {FILTER => "(PrefixFilter ('row2') AND (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter ( 123, 456))"}
  hbase> scan 't1', {FILTER => org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}

【讨论】:

  • 但我不能让happybase使用时间范围,因为它不受支持
  • Hakim :happybase 中有一个叫做时间戳过滤器的东西吗?
  • Hakim 我认为在这种语法 (scan(row_start=None, row_stop=None, row_prefix=None, columns=None, filter=None, timestamp=None, include_timestamp=False, batch_size=1000, scan_batching=None, limit=None, sorted_columns=False) 中,您可以通过与happybase 相关的过滤器不是吗? pls check
  • 我的回答有用吗?除了 ,你还有什么发现吗?
  • 抱歉来晚了,时间戳过滤器使用唯一的时间戳值,不能使用时间范围。
猜你喜欢
  • 2018-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 2021-12-16
  • 1970-01-01
  • 2013-01-10
相关资源
最近更新 更多