Hive 中 set 定义出来的变量以及 hive -d 设置的变量

set自定义变量

今天踩了一个坑:

在hive的命令行操作中,用set 命令可以自定义出一个变量,但是在函数中使用时确调不出来,如图

 

 在查找原因时,这位大佬的博客https://www.cnblogs.com/superpang/p/4639145.html启发了我,会不会是命名空间的原因让函数调用时无法找到变量呢

 

 这次用带命名空间的方式重新定义了变量,然后再次调用函数,见证奇迹的时刻到了!

 

 这说明

“在hive中使用set操作自定义变量时,hivevar:命名空间不是可选的,应该是在使用set定义变量时时刻加hivevar:命名空间,以免出现难以找出的错误。”

 

hive -d 自定义变量

而当用hive -d 自定义出来的变量时,不需要加命名空间,也可以在函数中正常调用

 

 hive -d json=$(cat jsontest)

 

 

 

 

posted @ 2020-04-02 23:40  可以看看你胖次吗  阅读(4640)  评论(6编辑  收藏  举报
Live2D