Hive查询问题:参数

时间:2014-06-04 04:33:45

标签: hadoop hive

我需要在参数中指定一个'select value'并在hive代码中使用它,而不是为参数赋值。

在Hive中,设置a = 10; //但是我们如何分配动态值,而不是这个,如下所示:

我需要:从y设置a = select max(x); //将表'y'的'x'的最大值赋给'a'参数。

麦嘉轩

2 个答案:

答案 0 :(得分:0)

当你直接从查询中分配值时,你应该使用select而不是set。

SELECT @variable1 = column1, variable2 = column2
FROM table1
WHERE column1 = 'unique value'

INSERT OVERWRITE LOCAL DIRECTORY '<directory>' SELECT * FROM table_name;

答案 1 :(得分:0)

在Hive中无法做到这一点,但你可以从Hive外部做到这一点,就像在bash脚本中一样:

a=`hive -S -e 'select max(x) from y'`
hive --hiveconf "a=$a" -e '[next query here]'