Hadoop SQL-Impala和一个计算字段
我对Hadoop非常陌生,并尝试使用SQL中的“计算”字段:Hadoop SQL-Impala和一个计算字段,sql,hadoop,impala,Sql,Hadoop,Impala,我对Hadoop非常陌生,并尝试使用SQL中的“计算”字段: SELECT "one" as test, CASE WHEN calculated test = "one" then "This works" else "Nope" end as checker 但这似乎产生了一个错误: AnalysisException:第1行中的语法错误:…est,CASE WHEN 计算测试=“一”然后“此工作…^遇到:标识符 预期:AND,BETWEEN,DIV,ILIKE
SELECT "one" as test,
CASE WHEN calculated test = "one" then "This works"
else "Nope"
end as checker
但这似乎产生了一个错误:
AnalysisException:第1行中的语法错误:…est,CASE WHEN
计算测试=“一”然后“此工作…^遇到:标识符
预期:AND,BETWEEN,DIV,ILIKE,IN,IREGEXP,IS,LIKE,NOT,OR,
REGEXP,RLIKE,然后由以下原因引起:异常:语法错误
在Hadoop中不能使用“计算”字段吗?如果可以,我做错了什么?如果我遗漏了Hadoop中新出现的明显内容,请道歉。不是。
computed
不是Impala SQL的保留词
您可能应该改用if
或case
以下是文章中的一些示例:
参考文献:
- 不是。
计算的
不是Impala SQL的保留字
您可能应该改用if
或case
以下是文章中的一些示例:
参考文献:
select
case when test="one" then "this works"
else "nope" end as checker
from
(select "one" as test) a;
下面的查询可能按照您在hive/impala中希望的方式工作
select
case when test="one" then "this works"
else "nope" end as checker
from
(select "one" as test) a;
使用单引号而不是双引号。我很感激,但不幸的是,这没有效果。请注意,我试图使用一个计算字段,单词“computed”“是什么导致了问题,否则它运行正常<代码>计算是我从SAS proc sql环境中了解到的。我不记得在任何其他数据库中见过它。使用单引号而不是双引号。我很感激,但不幸的是,这没有效果。请注意,我试图使用一个计算字段,单词“计算”是导致问题的原因,否则它运行正常<代码>计算是我从SAS proc sql环境中了解到的。我不记得在任何其他数据库中看到过它。谢谢,但重点是创建值,然后在同一语句中引用它。选择“一”作为测试,如果(测试=“一”,“真”,“假”)作为检查器。。。但是在这种情况下找不到变量“test”,我对此表示怀疑。Impala只支持SQL的一个子集,主要用于配置单元的兼容性,因为这是主要的用例。看看这可能会有帮助。谢谢,我的问题更多的是基于我对SQL的理解,而不是Hadoop。在本周对它进行了更多的探索之后,嵌套select语句对于我尝试做的事情非常有效。谢谢,但关键是创建值,然后在同一语句中引用它。选择“一”作为测试,如果(测试=“一”,“真”,“假”)作为检查器。。。但是在这种情况下找不到变量“test”,我对此表示怀疑。Impala只支持SQL的一个子集,主要用于配置单元的兼容性,因为这是主要的用例。看看这可能会有帮助。谢谢,我的问题更多的是基于我对SQL的理解,而不是Hadoop。在本周进行了更多的探索之后,嵌套select语句对于我所尝试的工作非常有效。很高兴报告这一点,它完全符合我的期望。我只能达到一个层次,但将代码一分为二是一个很大的帮助。很高兴报告这正是我所希望的。我只能使用它达到一个级别,但是将代码减半是一个很大的帮助。
select
case when test="one" then "this works"
else "nope" end as checker
from
(select "one" as test) a;