我需要一个我很难理解的Hive查询。
我有一个像这样的时间序列:
time source word1 word2 ...etc
2012-02-01 23:43:16.9988243 0001 2B3B FAF0
2012-02-01 23:43:16.9993561 0002 2326 ABAA
2012-02-01 23:43:16.9998879 0002 2327 ABAA
我需要一个这样的查询,如果 source
满足特定条件时,除了该记录外,它还应该从第二个记录开始及时返回一个或多个非常接近的记录 source
满足不同的条件。
到目前为止,我的尝试是这样的:
SELECT time
FROM messages C
JOIN messages D on
D.time
BETWEEN C.time - INTERVAL '0.001' SECOND
AND C.time + INTERVAL '0.001' SECOND
WHERE C.source = '0001'
AND D.Source = '0002'
AND C.word1 = '2B3B'
AND D.word2 = 'ABAA'
它应该返回上面示例数据中的第一个和第二个记录(不应该返回第三个,因为时间比.001秒远)。
但查询不起作用。错误消息是
FAILED: SemanticException '0.001' encountered with 0 children
1条答案
按热度按时间bis0qfac1#
这将是一个幼稚的解决方案:
这是性能良好的解决方案
插图
事件a和b将被工会的上层所有人抓住。
事件b和c将被工会的下半部分抓住。