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)