我已经给出了查询,兼容teradata。它使用sqoop导入了维度选项卡中的表。尝试在配置单元上执行,但不幸与配置单元兼容。
SELECT fact_1_id,
fact_2_id,
SUM(sales_value) AS sales_value,
GROUPING(fact_1_id) AS f1g,
GROUPING(fact_2_id) AS f2g
FROM dimension_tab
GROUP BY CUBE (fact_1_id, fact_2_id)
ORDER BY fact_1_id, fact_2_id;
然后我试着让它和Hive兼容。参考:wiki
幸运的是,cube在hive中可用,但语法不同
i、 e.带立方体的事实1\u id、事实2\u id。但是表单文档grouping()在配置单元中不可用。
如果配置单元中有grouping()函数,请帮助我。或者如何在配置单元上运行查询?
1条答案
按热度按时间zwghvu4y1#
如果你没有
NULL
的值id
,只需使用简单的逻辑:这个逻辑(不是
WITH CUBE
,当然)将在teradata和hive中工作。否则,如果确实有空值,则可以使用
GROUPING__ID
:注:
GROUPING__ID
取决于表达式在group by
,所以重新安排group by
可以更改标志的含义。