我有一个带有两个查询的TICK脚本(如下所示),两个查询都groupBy在同一标签上执行。然后,该脚本连接两个查询该标记,并指定一个完全外部联接fill的'null'。但是,Kapacitor似乎将其视为内部联接,如统计数据所示(也在下面)。查询分别发出33和32点,而联接则发出32点。一个完整的外部联接不应该至少发出与具有更大点数(33)的查询一样多的点吗?当我|log()查询时,我能够识别被联接删除的记录-它是由一个查询发出的,而不是由另一个查询发出的。
关于如何进一步解决此问题的任何建议?
勾号脚本:
var raw_event = batch
|query('''select rsum from jsx.autogen.raw_event''')
.period(1m)
.every(1m)
.offset(1h)
.align()
.groupBy('location')
var event_latency = batch
|query('''select rsum from jsx.autogen.event_latency''')
.period(1m)
.every(1m)
.offset(1h)
.align()
.groupBy('location', 'glocation')
raw_event
|join(event_latency)
.fill('null')
.as('raw_event','event_latency')
.on('location')
.streamName('join_stream')
|log()
Run Code Online (Sandbox Code Playgroud)
统计:
"node-stats": {
"batch0": {
"avg_exec_time_ns": 0,
"collected": 65,
"emitted": 0
},
"join4": {
"avg_exec_time_ns": 11523,
"collected": 65,
"emitted": 32
},
"log5": {
"avg_exec_time_ns": 0,
"collected": 32,
"emitted": 0
},
"query1": {
"avg_exec_time_ns": 0,
"batches_queried": 33,
"collected": 33,
"emitted": 33,
"points_queried": 33,
"query_errors": 0
},
"query2": {
"avg_exec_time_ns": 0,
"batches_queried": 32,
"collected": 32,
"emitted": 32,
"points_queried": 32,
"query_errors": 0
}
Run Code Online (Sandbox Code Playgroud)