无法将窗口调用分解为组。至少 1 个组必须仅依赖于输入列。还要检查循环依赖关系

Sti*_*uez 5 hadoop hive

我试图以后代方式按更新日期排序一组值,但遇到了这个奇怪的错误:

Failed to breakup Windowing invocations into Groups. At least 1 group must only depend on input columns. Also check for circular dependencies.
Run Code Online (Sandbox Code Playgroud)

我不确定这意味着什么,我有一个类似的行,上面有相同的代码并且它有效,不确定我是否不能有两次相同的分组代码。

  ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY update_timestamp) as id_update
Run Code Online (Sandbox Code Playgroud)

我期望它按 user_id 对其收到的不同更新进行分区。

Sti*_*uez 4

发现问题,分组键必须是查询列表的一部分,这意味着update_timestamp必须是选择列表的一部分。

从表 a 中选择 user_id, update_timestamp , ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY update_timestamp) 作为 id_update