将来自配置单子查询1的数据集成到配置单元中的其他子查询中

时间:2014-12-23 15:18:37

标签: hive subquery

我有一个Hive表“tab”,表示以下两个字段:“timewindow product_id_scanned”

我需要一个查询来列出结果,例如:“product_id%count_seen_in_window”

从表面上看,查询看起来像: “通过id”

从标签组中选择id,count(distinct timewindow)/ tot

现在,tot来自代表时间间隔列表的查询: “从tab tot中选择不同的时间窗”

如何在一个查询中获取结果?

1 个答案:

答案 0 :(得分:0)

这是某些Hive限制的一种解决方法,但希望它有所帮助:

SELECT
  product_id_scanned, COUNT(DISTINCT timewindow)/tot
FROM (
    SELECT
      tab.product_id_scanned AS product_id_scanned,
      tab.timewindow AS timewindow,
      tot.tot AS tot
    FROM
      tab, (SELECT COUNT(DISTINCT timewindow) AS tot FROM tab) tot
  ) tot_added
GROUP BY product_id_scanned, tot;

虽然不是特别优雅,但这里的方法是创建一个中间表,其中tot值作为额外列附加到每一行。