我创建数据库和分布式表的代码如下:
db=database(dbName, VALUE, 1..10)
t = table(10000:0,`deviceID`send_time`temperature`humidity`voltage ,[INT, TIMESTAMP, DOUBLE, DOUBLE,DOUBLE])
db.createPartitionedTable(t, `pt, `deviceID)
写入分布表的代码如下:
msg="1,2020.08.27T15:57:36.985,45.551123,34.339214,0"
val=split(msg,",")
loadTable(dbName, `pt).tableInsert((int(val[0]), timestamp(val[1]), double(val[2]),double(val[3]),double(val[4])))
执行后报错:
Can't append data to a segmented table that contains external partitions.
但如下所示写入内存表是可以的:
t = table(10000:0,`deviceID`send_time`temperature`humidity`voltage ,[INT, TIMESTAMP, DOUBLE, DOUBLE,DOUBLE])
t.tableInsert((int(val[0]), timestamp(val[1]), double(val[2]),double(val[3]),double(val[4])))
请问是什么原因?
使用append!或tableInsert函数往分布式数据表中插入数据。即使只插入一条数据,也要用表的形式来表示新增的数据。上面代码可改为如下: