首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将查询结果存储到HiveQL中的变量中,然后在另一个select语句中使用它?

如何将查询结果存储到HiveQL中的变量中,然后在另一个select语句中使用它?
EN

Stack Overflow用户
提问于 2015-04-16 03:13:44
回答 1查看 2.1K关注 0票数 1

如何将查询结果存储到HiveQL中的变量中,然后在另一个select语句中使用它?

例如,每当我存储一个普通变量并在select语句中使用它时,它都能正常工作。SET a=1; SELECT CASE WHEN b > ${hiveconf:a} THEN NULL ELSE 1 from my_table

但当我尝试将查询放入变量中时,它似乎存储了查询,而不是运行它并存储结果。这就导致了一个错误。SET a=SELECT MAX(num) FROM my_other_table; SELECT CASE WHEN b > ${hiveconf:a} THEN NULL ELSE 1 from my_table

错误是:cannot recognize input near 'select' 'max' '(' in select clause

有没有人知道解决这个问题的办法?我使用的是Hive 0.13

EN

回答 1

Stack Overflow用户

发布于 2015-04-16 11:51:32

你不能只通过蜂巢来做到这一点。

如果您的配置单元查询由外部脚本控制,如shellpython.You可以执行第一个查询,则获取输出,然后将其放入下一个sql中。

或者,您可以将sql更改为使用join.Your示例代码可以更改为

代码语言:javascript
运行
复制
select case when b > t.a then NULL else 1 from my_table 
join (select max(num) a from my_other_table) t 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29658840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档