我需要在参数中指定一个'select value'并在hive代码中使用它,而不是为参数赋值。
在Hive中,设置a = 10; //但是我们如何分配动态值,而不是这个,如下所示:
我需要:从y设置a = select max(x); //将表'y'的'x'的最大值赋给'a'参数。
麦嘉轩
答案 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]'