6

我有一个带有两个查询的 TICK 脚本(如下所示),它们都groupBy在同一个标​​签上执行。然后,该脚本连接该标记上的两个查询,并使用fillof指定一个完全外连接'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()

统计:

"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
 }
4

0 回答 0