2

我正在使用 hive 在 HBase 表上运行选择查询。

我想检索时间戳值低于 X 的所有行。

我的问题是如何创建这样的选择查询(我是否需要以特定方式创建 Hive 表?)

4

3 回答 3

2

时间戳是与列值关联的属性。除非 Hive 在文档中调用了特定约定以使列时间戳明确可用,否则我怀疑您是否可以从 Hive 访问时间戳信息。

在 HBase 中,您可以构造扫描并为时间戳添加过滤条件。有一个示例,您可以在代码中建立这样的过滤器:/hbase/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java

注意:您必须确保您的代码在每个区域服务器的类路径中,然后才能正常工作。这意味着您将不得不重新启动您的区域服务器。

于 2011-07-06T16:23:54.000 回答
1

根据这个 Quora 线程, Hive 0.8 中提供了两个时间戳功能:

from_utc_timestamp(timestamp, string timezone)

to_utc_timestamp(timestamp, string timezone).

于 2012-12-24T22:17:56.787 回答
0

我相信 OP 正在寻求从创建时间戳匹配条件的表中选择行的能力。
AFAIK,Hive 没有公开这一点。
上面的两个函数用于将给定的时间戳值(被解释为 UTC)与给定的时区相互转换。

于 2013-01-05T20:41:35.447 回答