insert overwrite table t1
partition(date='20230112')
select a1,a2 from t2;
t1表可以保证每天都有数据,t2表不一定每天有数据。
现在想实现当t2表有数据时则覆盖t1的数据,当t2表没有数据时则保留t1原来的数据。请问在hive中可以设置这种如果查询结果是空表则不覆盖原数据的功能吗?
insert into table t1
partition(date='20230112')
select ifnull(t2.a1,t1.a1) as a1,ifnull(t2.a2,t1.a2) as a2 from t2
full outer join t1 on (t1.date='20230112' and t2.date='20230112');