如何在
metrics
参数中指定流表的所有列,而不是单独列出每一列,或将整个流表传递给自定义状态函数?
例如,我可以按照如下所述将流表对象输入到
metrics
中吗?
del_engine = createReactiveStateEngine(name="del_engine", metrics=<multiFactors(replay_streamtb)>, dummyTable=replay_streamtb,outputTable =del_Table, keyColumn=["symbol"], keepOrder=true)
metrics参数不支持输入流表对象;它必须是表字段(dummyTable)。但是,所有列字段都可以通过元编程输入,使用元代码实现串联。
例如:
t=streamTable(100:0,`date`time`sym`qty`price`exch,[DATE,TIME,SYMBOL,INT,DOUBLE,SYMBOL])
share t as trades
opt=streamTable(100:0,`sym`fac,[SYMBOL,DOUBLE])
def f(date,time,sym,qty,price,exch){
return qty * price
}
createReactiveStateEngine(name="del_engine", metrics=makeUnifiedCall(f, sqlCol(trades.columnNames())), dummyTable=trades,outputTable =opt, keyColumn=["sym"])