全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

流程控制函数

最近更新时间:2023-04-26 15:40:39

if函数

函数介绍

根据条件确定是否执行操作,可同时传入多组条件和操作,条件和操作必须成对出现。

语法描述

if(条件, 操作)
if(条件1, 操作1, 条件2, 操作2...)

参数说明

参数名称 参数类型 是否必填 参数描述
条件 任意 表达式或其组合
操作 全局操作函数 全局操作函数

示例1

根据条件提取需要的字段

原始日志

{"k1":"v1","k2":"v2","k3":"v3"}

加工规则

if(op_eq(v("k1"),"v1"),keep_fields("k1","k2"))

加工结果

{"k1":"v1","k2":"v2"}

示例2

根据条件删除行

原始日志

{"k1":"v1","k2":"v2","k3":"v3"},
{"k1":"v1.1","k2":"v2","k3":"v3"}

加工规则

if(op_eq(v("k1"),"v1"),drop())

加工结果

{"k1":"v1.1","k2":"v2","k3":"v3"}

if_else函数

函数介绍

根据条件执行相应的操作。

语法描述

if(条件, 真时操作,假时操作)

参数说明

参数名称 参数类型 是否必填 参数描述
条件 any 表达式或其组合
真时操作 全局操作函数 全局操作函数
假时操作 全局操作函数 全局操作函数

示例

原始日志

{"gender":0}

加工规则

if_else(v("gender"),set("dis_gender","男"),set("dis_gender","女"))

加工结果

{"gender":0,"dis_gender":"女"}

switch函数

函数介绍

多组条件和操作,满足其中任一条件,执行对应操作并返回。

语法描述

switch(条件1,操作1,条件2,操作2...,default=null)

参数说明

参数名称 参数类型 是否必填 参数描述
条件 any 表达式或其组合
操作 全局操作函数 全局操作函数
default 全局操作函数 全局操作函数

示例1
根据age的值设置age_group,如果age小于18设置为未成年,如果age大于等于18设置为成年。

原始日志

{"name":"ks","age":17},
{"name":"mike","age":35}

加工规则

switch(op_lt(v("age"),18),set("age_group","未成年"),op_ge(v("age"),18),set("age_group","成年"))

加工结果

{"name":"ks","age":17,"age_group":"未成年"}
{"name":"mike","age":35,"age_group":"成年"}

示例2

丢弃不符合要求的日志。

原始日志

{"type":"goods","size":123,"data":"content"},
{"type":"store","size":123,"data":"content"},
{"type":"unkonw","size":123,"data":"content"}

加工规则

switch(eq(v("type"),"goods"),keep(),eq(v("type"),"store"),keep(),default=drop())

加工结果

{"type":"goods","size":123,"data":"content"}
{"type":"store","size":123,"data":"content"}

compose函数

函数介绍

组合多个操作,多用于传参。

语法描述

compose(操作1,操作2...)

参数说明

参数名称 参数类型 是否必填 参数描述
操作 全局操作函数 全局操作函数

示例
如果content的值为123,则增加k1字段,然后删除name字段。

原始日志

{"name":"ks","content":"123"}

加工规则

if(op_eq(v("content"),"123"),compose(set("k1","v1"),drop_fields("name")))

加工结果

{"k1":"v1","content":"123"}
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈