如何在配置单元中使用变量?

4urapxun  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(380)

我正在尝试在配置单元脚本中使用变量。但由于某种原因,它不起作用。

SET $app_count=select max(app_id) from app_table;
SELECT '${hiveconf:app_count}',app_name,ROW_NUMBER() OVER (ORDER BY app_name) FROM new_apps;

输出

_c0   app_name    _wcol0
      app1          1
      app2          2
      app3          3

预期结果:假设另一个表的最大值(app\ id)是10

_c0   app_name    _wcol0
 10    app1         1
 10    app2         2
 10    app3         3

不确定为什么查询中没有替换变量值。我甚至用过这个场景
'设置hive.variable.substitute=true;'。但没有任何改变。提前谢谢。任何替代解决方案也值得赞赏。

wwwo4jvm

wwwo4jvm1#

只需将此查询的结果存储在另一个具有单列app\u id的表(test)中。

select max(app_id) from app_table

然后可以使用以下查询:

select test.app_id,new_apps.app_name,ROW_NUMBER() OVER (ORDER BY new_apps.app_name) FROM new_apps join test;

相关问题