warmupOrcaStreamEngine
语法
warmupOrcaStreamEngine(name, data)
参数
name 表示引擎名称。字符串标量,可以传入完整的全限定名(如 "catalog_name.orca_graph.engine_name");或引擎名(如 "engine_name"),系统会根据当前的 catalog 设置自动补全为对应的全限定名。
data 数据表对象。
详情
将指定表写入目标流引擎中进行预热处理,但不会产生任何输出。这么做的目的是利用这批预热数据提前计算中间状态,下一批次数据写入此流数据引擎,可以利用已计算的结果来加速计算。
目前仅支持响应式状态引擎,时间序列聚合引擎和日级时间序列引擎。
与现有 warmupStreamEngine
不同,warmupOrcaStreamEngine
支持在集群任意节点上调用,其本质是在引擎所在节点上远程执行
warmupStreamEngine
。
例子
下例中,warmupOrcaStreamEngine("rse", t)
先将数据表 t 写入响应式状态引擎 rse 进行预热,由此确保
<ema(value, 100)>
指标在预热阶段窗口内已有完整历史数据。
if (!existsCatalog("test")) {
createCatalog("test")
}
go;
use catalog test
t = table(1..100 as id, 1..100 as value, take(09:29:00.000..13:00:00.000, 100) as timestamp)
g = createStreamGraph("factor")
baseStream = g.source("snapshot", 1024:0, schema(t).colDefs.name, schema(t).colDefs.typeString)
.reactiveStateEngine([<ema(value, 100)>, <timestamp>])
.setEngineName("rse")
.buffer("end")
g.submit()
warmupOrcaStreamEngine("rse", t)
appendOrcaStreamTable("snapshot", t)