gpt4 book ai didi

variables - HiveQL:使用查询结果作为变量

转载 作者:行者123 更新时间:2023-12-02 22:47:53 24 4
gpt4 key购买 nike

在 Hive 中,我想从表中动态提取信息,将其保存在变量中并进一步使用它。考虑以下示例,我在其中检索列 var 的最大值,并希望将其用作后续查询中的条件。

set maximo=select max(var) from table;

select
*
from
table
where
var=${hiveconf:maximo}

虽然它不起作用

set maximo=select max(var) from table;

${hiveconf:maximo}

向我展示了预期的结果。

正在做:

select '${hiveconf:maximo}'

给出

"select max(var) from table"

不过。

最佳

最佳答案

Hive 按原样替换变量并且不执行它们。使用 shell 包装脚本将结果获取到变量中并将其传递给 Hive 脚本。

maximo=$(hive -e "set hive.cli.print.header=false; select max(var) from table;")
hive -hiveconf "maximo"="$maximo" -f your_hive_script.hql

在此之后,您可以在脚本中使用select '${hiveconf:maximo}'

关于variables - HiveQL:使用查询结果作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37206449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com