可以先创建一张临时表,把数据恢复到临时表,然后再导入目标表。
migrate("/hdd/database/szl2data/20200601/","dfs://STOCK_SZL2_TAQ","SZL2_TAQ") db=database("dfs://STOCK_SZL2_TAQ") t=db.loadTable("SZL2_TAQ") db.createPartitionedTable(t, `TAQ, `date`symbol); temp=db.loadTable("TAQ") day=2020.06.02 for(i in 2:31){ path="/hdd/database/szl2data/"+temporalFormat(day, "yyyyMMdd") + "/"; day=datetimeAdd(day,1,`d) if(!exists(path)){continue;} print "restoring " + path; restore(path,"dfs://STOCK_SZL2_TAQ","SZL2_TAQ","%",true,temp); t.append!(select * from temp) } dropTable(db,"TAQ")