不停地向流表中插入数据,通过订阅写入持续表,不希望流表的数据量太大。怎样控制?
下面配置,好像不能控制表的总行数
maxPubQueueDepthPerSite=1200
maxPersistenceQueueDepth=1300
比如控制表的总行数不超过1000行,减少单个流表占用内存,也不希望流表的永久化占用太大硬盘,怎样配置?
流表永久化数据很大,每次启动加载很长时间,不得不先清除:clearTablePersistence
startup.dos:
clearTablePersistence(`h_bb);
h_bbt = streamTable(2000:0,`sj`id`v,[TIMESTAMP,int,bool])
//share h_bbt as h_bb
enableTableShareAndPersistence(table=h_bbt,tableName=`h_bb,preCache=10,cacheSize=60,retentionMinutes=60)
if(existsDatabase("dfs://xq")){
db=database("dfs://xq")
h_bbp = loadTable(db, `h_bbp )
subscribeTable(tableName="h_bb", actionName="h_bb", offset=-1, handler=append!{h_bbp}, msgAsTable=true ,batchSize=100,throttle=1,persistOffset=true)
}
else
{
db=database("dfs://xq", VALUE, 2022.01.01..2040.12.31)
h_bbt1 = table(2000:0,`sj`id`v,[TIMESTAMP,int,bool])
h_bbp = db.createPartitionedTable(h_bbt1, `h_bbp , `sj)
subscribeTable(tableName="h_bb", actionName="h_bb", offset=-1, handler=append!{h_bbp}, msgAsTable=true ,batchSize=100,throttle=1,persistOffset=true)
}