[英]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的保留字。
您可能應該使用if
或case
代替。
以下是一些示例,來自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.