tianze
432 words
2 minutes
TICKscript BatchNode

批节点#

batch节点处理子查询节点的创建,每次query调用都会创建一个子批处理节点,可以进一步对其进行配置。批处理任务中的batch变量是BatchNode的一个实例。

使用BatchNode时需要QueryNode。它定义了批处理数据的来源和时间表,并且应在任何其他链接方法之前使用。

构造器

链方法描述
batch无构造方法

属性方法

setter描述
quiet()禁止来自此节点的所有错误记录事件。

链接方法#

Deadman#

帮助程序功能,用于在吞吐量较低时创建警报。

    var data = batch
        |query()...
    // 如果吞吐量每10秒下降到100点以下并每10秒检查一次,则触发严重警报。
    data
        |deadman(100.0, 10s)
    //Do normal processing of data
    data...

加上 lambda 表达式

    var data = batch
        |query()...
    // 如果吞吐量每10秒下降到100点以下并每10秒检查一次,则触发严重警报。
    // 仅在一天中的上午8点至下午5点之间触发警报。
    data
        |deadman(100.0, 10s, lambda: hour("time") >= 8 AND hour("time") <= 17)
    //Do normal processing of data
    data...

Returns: AlertNode

Query#

要执行的查询,不能在 WHERE 子句中包含时间条件,也不能包含GROUP BY子句。时间条件根据时间段,偏移量和时间表动态添加。 GROUP BY子句是根据传递给 groupBy 方法的尺寸动态添加的。

batch
    |query(q string)
batch|deadman(threshold float64, interval time.Duration, expr ...ast.LambdaNode)

Returns: QueryNode

Stats#

创建一个包含节点内部统计信息的新数据流。间隔表示基于实时发出统计信息的频率。这意味着间隔时间与源节点正在接收的数据点的时间无关。

batch
    |stats(interval time.Duration)

Returns: StatsNode

TICKscript BatchNode
https://dutianze.github.io/posts/previous/tickscript-batch/
Author
tianze
Published at
2019-10-08