簡體   English   中英

Hadoop SQL-Impala和計算字段

[英]Hadoop SQL - Impala and a calculated field

我對Hadoop非常陌生,並嘗試像在SQL中那樣使用“計算”​​字段:

SELECT "one" as test, 
    CASE WHEN calculated test = "one" then "This works"
    else "Nope" 
    end as checker

但這似乎會產生錯誤:

AnalysisException:第1行的語法錯誤:... EST,計算出的測試=“一個”時為CASE,然后是“此工作...”不是,或者是REGEXP,RLIKE,然后原因:異常:語法錯誤

在Hadoop中無法使用“計算”​​字段嗎? 如果是這樣,我在做什么錯? 抱歉,如果我仍然缺少Hadoop的新奇事物。

它不是。 calculated的不是Impala SQL的保留字。

您可能應該使用ifcase代替。

以下是一些示例,來自Impala條件函數文章:IF,CASE,COALESCE,DECODE,NVL,ZEROIFNULL

 select if(1=1,'TRUE','FALSE') as IF_TEST; 

...

 select case x when 1 then 'one' when 2 then 'two' when 0 then 'zero' else 'out of range' end from t1; 

參考文獻:

下面的查詢可能以您想要的配置單元/黑斑羚的方式工作

select 
    case when test="one" then "this works"
    else "nope" end as checker 
    from 
    (select "one" as test) a;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM