dropStreamTable

语法

dropStreamTable(tableName,[force=false])

详情

删除流数据表。如果流数据表启用了持久化,该函数也会将磁盘上持久化的数据删除。

如果流数据表已经持久化到磁盘但是尚未加载到内存,管理员用户可以通过设置参数 force 为 true,直接删除磁盘上的持久化数据。

如果要删除高可用流数据表,只需在 Raft 组中的任意一个数据节点/计算节点上执行该函数即可,其他数据节点/计算节点上名称相同的高可用流数据表也会被删除。

参数

tableName 是一个字符串,表示流数据表的名称。

force 是一个布尔标量,表示是否在内存没有该流数据表时强制删除同名持久化文件。默认值为 false。

例子

删除普通流数据表:

colNames = `timestamp`sym`qty`price
colTypes = [TIMESTAMP,SYMBOL,INT,DOUBLE]
t=streamTable(1:0,colNames,colTypes)
enableTableShareAndPersistence(t,`trades);

dropStreamTable(`trades);

删除未加载到内存的持久化流数据表:

colNames = `timestamp`sym`qty`price
colTypes = [TIMESTAMP,SYMBOL,INT,DOUBLE]
t=streamTable(1:0,colNames,colTypes)
enableTableShareAndPersistence(t,`trades);

//删除内存中的流数据表
undef(`trades,SHARED)

//删除持久化流表失败
dropStreamTable(`trades)
//dropStreamTable("trades") => Can't find stream table trades

// admin 设置force为true,成功删除
dropStreamTable(tableName=`trades,force=true)

删除高可用流数据表:

colNames = `timestamp`sym`qty`price
colTypes = [TIMESTAMP,SYMBOL,INT,DOUBLE]
t=table(1:0,colNames,colTypes)
haStreamTable(11,t,`trades,100000);

dropStreamTable(`trades);