Hive TODO: query over time-based window

先给自己挖一个坑:给 Hive 增加一个能够在滑动的时间窗口上查询的功能。

类似于下面的语句:

select symbol, min(ticks.timestamp, news.timestamp) as minT
  from StockTickEvent.win:time(30 sec) as ticks, NewsEvent.win:time(30 sec) as news
  where ticks.symbol = news.symbol

静态数据上进行基于时间的滑动窗口查询(哎,这名字起的)

难点是

  • 进行基于时间的滑动窗口查询的前提是数据按时间排序的,而静态的数据是不保证这点的,必须先按某个字段对数据进行排序。
  • 完备的语义定义。
  • 理解 Hive 的 Antlr 语法。并增加相应的语法。
  • 编写 Map Reduce, 把查询转化成最优的 Hadoop job。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注