Hadoop Hive Avro回忆刚刚写好的字段

Hadoop Hive Avro回忆刚刚写好的字段,hadoop,hive,avro,Hadoop,Hive,Avro,我正在使用配置单元并试图写入一个表,我想知道是否可以调用我刚刚写入的字段,以便创建另一个字段变量 Case When Substr(Upper(Trim(MBRCHR)),-3) rlike '[8-9][0-9][A-E]' Then Substr(Upper(trim(regexp_replace(MBRCHR,'[^0-9]',''))),1,Length(Upper(Trim(regexp_replace(MBRCHR,'[^0-9]',''))))-2)

我正在使用配置单元并试图写入一个表,我想知道是否可以调用我刚刚写入的字段,以便创建另一个字段变量

Case When Substr(Upper(Trim(MBRCHR)),-3) rlike '[8-9][0-9][A-E]'
    Then
        Substr(Upper(trim(regexp_replace(MBRCHR,'[^0-9]',''))),1,Length(Upper(Trim(regexp_replace(MBRCHR,'[^0-9]',''))))-2)
    Else
        Upper(trim(regexp_replace(MBRCHR,'[^0-9]+','')))
    End as MBR_DRVD,
Case when Length(MBR_DRVD) between 7 and 9
    Then ***** use this to derive the new field.
我试着这样写,但是因为MBR_DRVD不在我填充当前表的表中,所以它出错了


如果您有任何建议,我们将不胜感激。

不可能直接执行,您可以使用类似

select ....
Case when Length(MBR_DRVD) between 7 and 9
        Then ***** use this to derive the new field.
from (
select 
Case When Substr(Upper(Trim(MBRCHR)),-3) rlike '[8-9][0-9][A-E]'
    Then
        Substr(Upper(trim(regexp_replace(MBRCHR,'[^0-9]',''))),1,Length(Upper(Trim(regexp_replace(MBRCHR,'[^0-9]',''))))-2)
    Else
        Upper(trim(regexp_replace(MBRCHR,'[^0-9]+','')))
    End as MBR_DRVD,
...
from yourtable
) t;