我想创建一个hive脚本,它使用两个给定参数中的一个作为数据库,以非空为准。
我的hive-test.sql
就是这样:
set db_name = coalesce(${hiveconf:dbOne}, ${hiveconf:dbTwo});
use ${hiveconf:db_name};
show tables;
我用它来运行:
hive -hiveconf dbOne=my_database -f hive-test.sql
我得到了:
FAILED: ParseException line 2:12 missing EOF at '(' near 'coalesce'
我应该注意,如果我将脚本中的第一行更改为:
set db_name = my_database;
它有效。
我无法弄清楚我做错了什么。非常感谢您的协助。
答案 0 :(得分:0)
此功能在Hive中不可用。在shell中执行变量赋值,例如:setting-a-shell-variable-in-a-null-coalescing-fashion,并将其传递给Hive。