为什么Hive在使用"按日期排序"时给我带来错误



我正在尝试在配置单元中编写一个查询,并看到以下错误"编译语句时出错:

失败:SemanticException未能将Windowing调用分解为分组。至少有一个组必须仅依赖于输入列。同时检查循环依赖关系。潜在错误:Primitve类型不是DATE在值边界表达式中支持。

我在Oraclesql中使用了相同的查询,它运行良好。如何在Hive中通过编写有效订单?

Select   
Email,
FIRST_VALUE(C.abc_cust_id) Over (Partition By Lower(email) Order By C.regt_date
Desc)As CUSTOMER_ID
from table X

因为一些支持的基元类型(以前没有DATE类型(是在窗口化之后添加的,并且窗口化没有修复。参见HIVE-13973

作为一种变通方法,尝试将DATE强制转换为STRING:

Over (Partition By Lower(email) Order By cast(C.regt_date as string) Desc)

最新更新