我正在使用配置单元在HBase表上运行选择查询。
我想检索时间戳值低于X的所有行。
我的问题是如何创建这样的选择查询(我是否需要以特定的方式创建Hive表?)
答案 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)转换为给定时区和从给定时区转换。