我想创建一个设置了动态参数的视图
set x=2; create view y as select * from k where id=${hiveconf:x}
现在我要出发了 x=4; 视图中会重新填充 x=4 价值观因此,我希望视图只创建一次,并根据x填充不同的值
x=4;
x=4
ezykj2lf1#
如果只想创建一次视图,可以使用“if not exists”和“alter”语句从下一次开始为新的x值填充视图
set x=2; CREATE VIEW IF NOT EXISTS Y as select * from k where id=${hiveconf:x}; ALTER VIEW Y as select * from k where id=${hiveconf:x};
我想,这种方法唯一的一个小缺点是,第一次执行两次相同的操作(create和alter),从x的下一个值开始,应该就可以了。
1条答案
按热度按时间ezykj2lf1#
如果只想创建一次视图,可以使用“if not exists”和“alter”语句从下一次开始为新的x值填充视图
我想,这种方法唯一的一个小缺点是,第一次执行两次相同的操作(create和alter),从x的下一个值开始,应该就可以了。