hive的变量传递设置
今天同事在oozie的workflow中执行一个hive查询,但是直接就报异常:Variable substitution depth too large:40,从网上查询可知,可以确认是由于语句中使用了过多的变量导致,在hive以前的版本中,这个限制是写死的40个,查询Hive的最新的原代码,虽然判断的位置的提示信息已经变化,但是原理一样:
### org.apache.hadoop.hive.ql.parse.VariableSubstitution:
public String substitute(HiveConf conf, String expr) {
if (expr == null) {
return expr;
}
if (HiveConf.getBoolVar(conf, ConfVars.HIVEVARIABLESUBSTITUTE)) {
l4j.debug("Substitution is on: " + expr);
} else {
return expr;