subscribeStreamingSQL
语法
subscribeStreamingSQL([server],
queryId,[batchSize=0],[throttle=1],[hash=-1])
参数
server 可选参数,字符串标量,表示运行流式 SQL 查询的节点(即注册该查询的服务器)的别名或远程连接句柄。如果未指定或者为空字符串,表示流式 SQL 查询所在的服务器是本地实例。
queryId 字符串标量,表示要订阅的流式 SQL 查询 ID。
batchSize 可选参数,整数标量,默认值为0。
- 正数:累计未处理日志数达到 batchSize 时才处理。
- 非正数或未指定:每批日志到达即处理。
throttle 可选参数,浮点数,单位为秒,默认值为1。表示继上次处理日志消息之后,若 batchSize 条件一直未达到,多久后再次处理消息。
- 如果没有指定 batchSize,throttle 即使指定,也不起作用。
- 若 throttle 需要设置小于1秒,则需要先修改配置项 subThrottle。
hash 可选参数,非负整数,指定由某个订阅线程处理进入的日志消息。如果没有指定该参数,系统会自动分配一个线程。如果需要使用同一个线程来处理多个订阅任务的消息,可把这些订阅任务的 hash 设置为相同的值。
详情
订阅指定的流式 SQL 查询结果。订阅端会接收增量日志,并基于这些日志维护一个实时更新的共享结果表,保证查询结果随数据变更持续刷新。
返回值:一个表,包含流式 SQL 查询结果列。
例子
t=table(1..10 as id,rand(100,10) as val)
share t as st
declareStreamingSQLTable(st)
registerStreamingSQL("select avg(val) from st","sql_avg")
subscribeStreamingSQL(queryId="sql_avg")
avg_val |
---|
64.3 |
相关函数:declareStreamingSQLTable, registerStreamingSQL, unsubscribeStreamingSQL