在Hive 0.11中将分析函数包装到另一个函数中

在Hive 0.11中将分析函数包装到另一个函数中,hive,hiveql,Hive,Hiveql,我正在尝试以下方法: 选择ta_end_datetime_berekenen='Y'时的情况,然后(ta_update_datetime)在(由dn_waarde_van划分,dn_waarde_tot按ta_update_datetime排序)上方引导(ta_update_datetime),否则ea_end_datetime end_datetime end_datetime,ta_insert_datetime,ta_update_datetime从tmp_wtdh开始 但是,当我尝试此操

我正在尝试以下方法:

选择ta_end_datetime_berekenen='Y'时的情况,然后(ta_update_datetime)在(由dn_waarde_van划分,dn_waarde_tot按ta_update_datetime排序)上方引导(ta_update_datetime),否则ea_end_datetime end_datetime end_datetime,ta_insert_datetime,ta_update_datetime从tmp_wtdh开始

但是,当我尝试此操作时,会出现以下错误:

NoviablealException(86@[129:7:((KW_作为)标识符)|(KW_作为LPAREN标识符(逗号标识符)*RPAREN))?)

失败:分析异常行1:175在选择目标中的“上方”和“附近”缺少KW_端 第1行:254无法识别选择目标中“else”ea_end_datetime“end”附近的输入

我假设不可能将一个分析函数包装到另一个函数中,这对吗


这是在Hive 0.11中出现的。

不确定这是问题的根源,但您的查询似乎缺少一个
AS
关键字(请注意下面第8行的all caps
AS


不确定这是问题的根源,但您的查询似乎缺少一个
AS
关键字(请注意下面第8行的all caps
AS

select 
    case 
        when ta_end_datetime_berekenen = 'Y' 
    then 
        lead(ta_update_datetime) over ( partition by dn_waarde_van, dn_waarde_tot order by ta_update_datetime ) 
    else 
        ea_end_datetime 
    end AS ea_end_datetime, 
    ta_insert_datetime, 
    ta_update_datetime 
from tmp_wtdh_bestedingsklasse_10_s2_stap2