当前位置: 首页 > 知识库问答 >
问题:

为什么Hive在使用Order by date时出错?

史经业
2023-03-14

我试图在hive中编写一个查询,我看到了以下错误。“编译语句时出错:

失败:语义异常无法将窗口化调用拆分为组。至少有一个组必须只依赖于输入列。还要检查循环依赖关系。潜在错误:值边界表达式中不支持Primitve类型DATE。

我在Oracle sql中使用了相同的查询,它工作正常。我如何在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

共有1个答案

巴宏恺
2023-03-14

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

作为一种解决方法,请尝试将日期转换为字符串:

Over (Partition By Lower(email) Order By cast(C.regt_date as string) Desc)
 类似资料:
  • 我正在阅读Flink配置单元连接器代码,查找接口,它有很多实现类。但是我发现实现类使用反射API。为什么不导入依赖项,代码太晦涩了。

  • 我想在RxJava中实现一个下载一些文件的处理队列。我想下载的文件数量可能高达100个左右。 一切都是在Android上使用RxJava 1.1.1开发的 我做错了什么?

  • 我尝试对args()使用AspectJ pointcut,但在springboot和tomcat一起运行时,它会产生NullPointException。

  • 我喜欢通过摆弄代码来学习,最近我复制并粘贴了一个随机数生成器代码。然后我删除了所有代码行,这些代码行对于生成一个随机数来说是不必要的。最后一根稻草是我删除了srand中的“时间”。 (无符号) 时间(0)); 这里的“时间(0)”是什么意思? 它使用程序打开的时间来生成随机数的种子吗?这就是为什么删除它(时间)会使它不起作用吗?因为它没有种子? 而且 这是整个代码,我注意到它使用“rand”结果进

  • 数学: 如果你有这样一个等式: x可能是-4, 3, 10, 17, ..., 或者更一般地说: 其中k可以是任意整数。我不知道模运算是为数学定义的,但因子环肯定是。 蟒蛇: 在Python中,当您将与正一起使用时,总是会得到非负值: 结果: C: 将输出: ISO/IEC 14882:2003(E)-5.6乘法运算符: 二进制/运算符产生商,二进制%运算符产生第一个表达式除以第二个表达式的余数。