DolphinDB函数mr的ds如何重新分区?

问题描述 投票:0回答:1

我有一个包含两级分区的分区表。第一层是按天的时间分区,第二层是股票代码的HASH分区。现在我想用

mr
函数处理多天的所有股票数据,并按股票ID重新划分数据源。所以我需要重新分区数据源。任何功能都可以做到这一点?

mapreduce distributed-computing dolphindb
1个回答
0
投票

可以使用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)
}
© www.soinside.com 2019 - 2024. All rights reserved.