第一个报错是预期的,预计1.30.21 / 2.00.9版本会支持这种用法;
第二个报错也是预期的,但是报错不明确,是执行到每个分区去的时候报的错,已反馈。
目前应该没有办法实现连接两张分布式表再更新左表的效果,可以等1.30.21 / 2.00.9版本直接用你的第一种方法。
n=10000 ID=rand(100, n) dates=2022.08.07..2022.08.11 date=rand(dates, n) vol=rand(1..10 join int(), n) t=table(ID, date, vol) if(existsDatabase("dfs://db1")){ dropDatabase("dfs://db1") } db=database(directory="dfs://db1", partitionType=RANGE, partitionScheme=0 50 100) pt=db.createPartitionedTable(table=t, tableName=`pt, partitionColumns=`ID) pt.append!(t) pt1=db.createPartitionedTable(table=t, tableName=`pt1, partitionColumns=`ID) pt1.append!(t) update pt1 set date = pt_date from lsj(pt1, pt, `ID) x = select * from lsj(pt1, pt, `ID) update pt1 set date = x.pt_date from x
上述代码创建了 dfs://db1 下两张相同的分布式表 pt 和 pt1,我想先lsj两张分布式表再更新左表,倒数三行是我尝试的方法,分别报如下错,请问是什么原因,要如何实现我想要的效果?