Hive由于存在分区,所以当其需要从一张表迁移到另一张表的数据时,SQL要考虑分区问题。
如果仅仅从一个日期写入另一个日期,可以直接执行以下HQL命令
insert overwrite table
table_name1 PARTITION (statis_date='${statisdate}')
select gds_cd1,gds_cd2,co_appear from table_name2 where statis_date='${statisdate}';
然而,很多时候我们选取的日期往往并不只是一个时间,而是一个时间段,这时候我们
就需要设置动态分区,并依据选择的分区信息动态写入到目标表