Hive:如何按行时间戳检索数据

时间:2011-07-05 14:56:43

标签: hbase hive

我正在使用配置单元在HBase表上运行选择查询。

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

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

3 个答案:

答案 0 :(得分:2)

时间戳是与列值关联的属性。除非Hive在文档中有一个特定的约定来明确提供列时间戳,否则我怀疑你可以从Hive访问时间戳信息。

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

注意:在此工作之前,您必须确保您的代码位于每个regionserver的类路径中。这意味着您必须重新启动您的区域服务器。

答案 1 :(得分:1)

根据this Quora thread,两个时间戳函数are available in Hive 0.8

from_utc_timestamp(timestamp, string timezone)

to_utc_timestamp(timestamp, string timezone)

答案 2 :(得分:0)

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