getLeftStream
语法
getLeftStream(joinEngine)
参数
joinEngine 创建连接引擎返回的对象。目前 DolphinDB 支持的连接引擎有:
-
createAsofJoinEngine
-
createEquiJoinEngine
-
createLookupJoinEngine
-
createWindowJoinEngine
-
createLeftSemiJoinEngine
详情
返回连接引擎左表的表结构对象。向该对象注入的数据,会注入到 joinEngine 中。
通过该函数,可以将一个引擎的计算结果直接注入到连接引擎中,实现引擎间的级联。
例子
share streamTable(1000:0, `time`sym`price, [TIMESTAMP, SYMBOL, DOUBLE]) as trades
output=table(100:0, `timestamp`sym`price1`price2, [TIMESTAMP, SYMBOL, DOUBLE, DOUBLE])
leftTable=table(1:0, `sym`timestamp`price, [SYMBOL, TIMESTAMP, DOUBLE])
rightTable=table(1:0, `sym`timestamp`price, [SYMBOL, TIMESTAMP, DOUBLE])
ajEngine = createAsofJoinEngine("asofjoin_engine", leftTable, rightTable, output, <[leftTable.price, rightTable.price]>, `sym, `timestamp)
leftEngine = createReactiveStateEngine(name=`left_reactive_engine, metrics=<[time,msum(price,3)]>, dummyTable=trades, outputTable=getLeftStream(ajEngine), keyColumn="sym")
rightEngine = createReactiveStateEngine(name=`right_reactive_engine, metrics=<[time,mfirst(price,3)]>, dummyTable=trades, outputTable=getRightStream(ajEngine), keyColumn="sym")
subscribeTable(, "trades", "left_reactive_engine", 0, append!{leftEngine}, true)
subscribeTable(, "trades", "right_reactive_engine", 0, append!{rightEngine}, true)
t = table(2022.01.01 + 1..20 as time, take(`AMZN`IBM`APPL, 20) as sym, rand(100.0, 20) as price)
trades.append!(t)
select * from output order by timestamp,sym
timestamp | sym | price1 | price2 |
---|---|---|---|
2022.01.02T00:00:00.000 | AMZN | ||
2022.01.03T00:00:00.000 | IBM | ||
2022.01.04T00:00:00.000 | APPL | ||
2022.01.05T00:00:00.000 | AMZN | ||
2022.01.06T00:00:00.000 | IBM | ||
2022.01.07T00:00:00.000 | APPL | ||
2022.01.08T00:00:00.000 | AMZN | 102.192 | 26.2273 |
2022.01.09T00:00:00.000 | IBM | 152.2704 | 43.6296 |
2022.01.10T00:00:00.000 | APPL | 126.1056 | 74.929 |
2022.01.11T00:00:00.000 | AMZN | 137.4656 | 57.6015 |
2022.01.12T00:00:00.000 | IBM | 116.7775 | 54.2854 |
2022.01.13T00:00:00.000 | APPL | 58.8909 | 49.3149 |
2022.01.14T00:00:00.000 | AMZN | 148.5405 | 18.3633 |
2022.01.15T00:00:00.000 | IBM | 141.0848 | 54.3554 |
2022.01.16T00:00:00.000 | APPL | 93.9003 | 1.8618 |
2022.01.17T00:00:00.000 | AMZN | 210.4329 | 61.5008 |
2022.01.18T00:00:00.000 | IBM | 88.7772 | 8.1367 |
相关函数:getRightStream。