почему нельзя вставить записи в таблицу DFS в DolphinDB - PullRequest
0 голосов
/ 31 октября 2019

Мой код ниже:

login("admin","123456")
share streamTable(1000000:0,`deviceID`ts`batteryTemperature`cpuPercentage`mem_free,[INT,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE]) as sensor_readings
enableTablePersistence(sensor_readings, true, false, 1000000)

if(exists("dfs://iotDemoDB")){
  dropDatabase("dfs://iotDemoDB")
}
tableSchema = table(1000000:0,`deviceID`ts`batteryTemperature`cpuPercentage`mem_free,[INT,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE])
db1 = database("",VALUE,2019.04.24..2019.05.20) 
db2 = database("",RANGE,0..10*100)
db = database("dfs://iotDemoDB",COMPO,[db1,db2])
dfsTable = db.createPartitionedTable(tableSchema,"sensor_readings",`ts`deviceID)

subscribeTable(, "sensor_readings", "save_to_db", -1, append!{dfsTable}, true, 1000,1)

share streamTable(1000000:0, `time`deviceID`batteryTemperature_avg`cpuPercentage_avg`mem_free_avg, [TIMESTAMP,INT,DOUBLE,DOUBLE,DOUBLE]) as sensor_readings_avg
metrics = createTimeSeriesAggregator("aggr1",60000,2000,<[avg(batteryTemperature),avg(cpuPercentage),avg(mem_free)]>,sensor_readings,sensor_readings_avg,`ts,,`deviceID,2000) 
subscribeTable(, "sensor_readings", "metric_engine", -1, append!{metrics},true)

 //write data to stream table
 def writeData(){
     deviceNum = 1000
     for (i in 0:100000) {
     data = table(take(1..deviceNum,deviceNum) as deviceID ,take(now(),deviceNum) as ts,rand(70..102,deviceNum) as batteryTemperature,rand(15..80,deviceNum) as cpuPercentage,rand(1..32,deviceNum) as mem_free)
      sensor_readings.append!(data)
      sleep(10000)
   }
}
jobId = submitJob("simulateData", "simulate sensor data", writeData)

Выполнить код в графическом интерфейсе DolphinDB, я показываю записи таблиц, используя следующий код:

select gmtime(time) as time, batteryTemperature_avg,cpuPercentage_avg,mem_free_avg from sensor_readings_avg where deviceID = 1

Я вижу, что есть записив таблице. Но я запрашиваю таблицу DFS,

dfsTable=loadTable("dfs://iotDemoDB","sensor_readings")
select count(*) from dfsTable

Нет записей в таблице. Знаете почему? Спасибо.

...