Skip to main content

条件筛选与算子管道

SDK 提供两套表达式封装:Column 用 Python 运算符构造列条件,Operator 构造链式的过滤与去重预处理管道。它们最终都序列化为 JSON,供服务端或 BlockX 在函数执行前消费。

Column 列表达式

Column(name) 表示一个列,支持比较、逻辑、集合运算,返回条件表达式:

filter 序列化为条件

filter(expr) 把 Column 表达式序列化为条件 JSON 字符串,供下游使用:
filter 也接受已经是 JSON 字符串的输入并原样透传。

Operator 算子管道

Operator 构造链式的 filter / deduplicate 预处理管道,序列化为结构化的执行计划:
这个管道描述了”先按条件过滤,再按 tx_id 去重”。它通常挂在 BlockX 任务的 triggerSource 上,让引擎在调用业务函数前先做预处理——源表行先被砍一刀,函数只处理真正关心的子集。
预处理管道是可选的:简单逻辑直接写在函数体里更直观;当行数大、过滤比例高时,用 Operator 在引擎侧先过滤去重更省。

相关阅读