怎么获取每个分区的记录数

我的DolphinDB分布式数据库建库建表代码如下:

    tableSchema = table(100:0,`id`tm`val,[INT,DATETIME,FLOAT]);
    db1 = database("",VALUE,2017.01M..2020.12M)
    db2 = database("",RANGE,0..1000*30+1)
    db = database(dbName,COMPO,[db1,db2])
    dfsTable = db.createPartitionedTable(tableSchema,tableName,`tm`id)

用的是组合分区,第一个维度是按月值分区,第二个维度按测点范围分区,每30个测点一个分区。写入一批数据后,我想看一下各分区是否均匀,查一下每个分区的数据量,请问有什么方法?


请先 登录 后评论

1 个回答

logger

可用下面方法获取每个分区的行数:

login(`admin, `123456)
tn8k = loadTable("dfs://singleValHour", "tn8k")
ds = sqlDS(<select count(*) from tn8k>, true)
t=mr(ds, mapFunc = x->table(x.count, [x.schema().chunkPath] as chunkPath), finalFunc=unionAll{, false})

上面代码中用sqlDS切分数据源,在这里是把tn8k分成一个分区一个数据源,然后用分布式计算函数mr进行计算。





请先 登录 后评论