如果我跑
set hivevar:a = 1;
select * from t1 where partition_variable=${a};
Hive 仅从适当的分区中提取记录。或者,如果我跑
set hivevar:b = 6;
set hivevar:c = 5;
set hivevar:a = ${b}-${c};
select * from t1 where partition_variable=${a};
partition_variable 上的条件被视为谓词而不是分区,并且 hive 会遍历表中的所有记录。
这显然是一个人为的例子,但在我的特定用例中是必要的。无论如何强制配置单元使用它进行分区?
提前致谢。