DolphinDB流数据表订阅后写入历史库,为啥少了很多记录呢

我写了1000万条数据到流表,分布式表里一直700多万,流表里是对的,1000万条。

我的代码如下:

login("admin","123456")

share streamTable(1000000:0,`id`time`v`q,[STRING,TIMESTAMP,DOUBLE,DOUBLE]) as sensorTemp

enableTablePersistence(sensorTemp, true, false, 1000000)

def writeData(){

station=`IBM`C`AAPL`BABA;

deviceNumber = 1000

for (i in 0:10000) {

data = table(take(station,deviceNumber) as id ,take(now(),deviceNumber) as time,rand(20..41,deviceNumber) as v,rand(20..41,deviceNumber) as q)

sensorTemp.append!(data)

sleep(10)

}

}

if(exists("dfs://iotDemoDB")){

dropDatabase("dfs://iotDemoDB")

}

tableSchema = table(1000000:0,`id`time`v`q,[STRING,TIMESTAMP,DOUBLE,DOUBLE])

db1 = database("",VALUE,2020.09.20..2020.09.30)

db2 = database("",RANGE,`AAPL`BABA`C`IBM)

db = database("dfs://iotDemoDB",COMPO,[db1,db2])

dfsTable = db.createPartitionedTable(tableSchema,"sensorTemp",`time`id)

subscribeTable(, "sensorTemp", "save_to_db", -1, append!{dfsTable}, true, 1000000,10)

回答

db2 = database("",RANGE,`AAPL`BABA`C`IBM)

RANGE(start, stop)包括start,不包括stop。因此上述RANGE分区没有包括IBM,所以IBM的数据就写入不了分布式数据库。建议修改为VALUE分区:

db2 = database("",VALUE,`AAPL`BABA`C`IBM)

以上是 DolphinDB流数据表订阅后写入历史库,为啥少了很多记录呢 的全部内容, 来源链接: utcz.com/a/44515.html

回到顶部