在DolphinDB中有一个分区表定义为波纹管,
def prepareDatabase(dbName,tableName,devices){
tableSchema = table(100:0,`hardwareId`ts`temperature`humidity`voltage,[INT,TIMESTAMP,DOUBLE,DOUBLE,DOUBLE])
db1 = database("",VALUE,(today()-1)..(today()+31))
db2 = database("",RANGE,0..60*devices)
db = database(dbName,COMPO,[db1,db2])
dfsTable = db.createPartitionedTable(tableSchema,tableName,`ts`hardwareId)
}
login(`admin,`123456);
dbName="dfs://stressTestDB"
tableName="sensorInfoTable"
prepareDatabase(dbName,tableName,100)
然后我想将一条记录插入sensorInfoTable中。我知道有一个叫做append的函数可以完成这项工作,但是使用起来很麻烦。需要定义一个内存表,然后将所有记录首先插入到内存表中。因此,我尝试使用以下代码进行另一种方式,
dfsTable = loadTable(dbName,tableName)
insert into dfsTable values(1,now(),1.0,1.0,1.0)
但是执行代码,异常显示如下,
2019-07-31T11:03:20.335717100: execution was completed with exception
Can't append a segmented table that is shared, not in-memory, or not editable.
为什么不起作用?有没有更简单的方法?