sql - Hadoop SQL - 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 计算测试 =“one”然后“这项工作... ^ 遇到:IDENTIFIER 预期:AND、BETWEEN、DIV、ILIKE、IN、IREGEXP、IS、LIKE、 NOT, OR, REGEXP, RLIKE, THEN CAUSED BY: 异常: 语法错误
Hadoop中不能使用“计算”字段吗?如果是这样,我做错了什么?如果我遗漏了一些明显的东西,再次道歉,这是 Hadoop 的新手。
解决方案
它不是。 calculated
不是 Impala SQL 的保留词。
您可能应该使用if
orcase
代替。
以下是一些示例,来自文章Impala Conditional Functions: 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;
参考:
推荐阅读
- javascript - 如何在输入文本框中禁用已选择的搜索栏列表
- javascript - Javascript从表单输入计算输入数字
- javascript - 通过添加默认高度 javascript 创建 3D 对象
- c++ - C++ Opencv:多线程环境中的性能
- javascript - array.map() 不是函数 reactjs
- node.js - 在 Node.js 中离开页面之前更新数据库
- java - Android Studio - 加载 JSON 的问题
- c# - c# winform data gridview按日期查询Ms Access
- machine-learning - 感知器训练规则,为什么要乘以 x
- jquery - jquery smoothscroll 在 chrome 上不起作用