我有一个包含两级分区的分区表。第一层是按天的时间分区,第二层是股票代码的HASH分区。现在我想用
mr
函数处理多天的所有股票数据,并按股票ID重新划分数据源。所以我需要重新分区数据源。任何功能都可以做到这一点?
可以使用DolphinDB的
repartitionDS
功能:
ds = repartitionDS(query=<select DateTime,SecurityID from loadTable("dfs://SH_TSDB_snapshot_MultiColumn", "snapshot") where date(DateTime) in 2021.12.01 2021.12.06 2021.12.07, SecurityID in `600021`603659>, column=`SecurityID, partitionScheme=`a`b)
def disctcode(t){
r1 = select distinct(date(DateTime)) as date from t
r2 = select distinct(SecurityID) as SecurityID from t
return r1,r2
}
timer{
a1,a2=mr(ds, disctcode, ,)
b1 = unionAll(a1,0,0)
b2 = unionAll(a2,0,0)
}