-
Notifications
You must be signed in to change notification settings - Fork 255
[pick]Transformer
Sun Jianbo edited this page Jun 13, 2018
·
1 revision
用于仅过滤或选择某些字段的Transformer
可以在Parser前或者Parser后使用,在Parser前使用类似于shell中的grep命令,仅过滤出包含key的那些行,放在Parser后仅选择key中包含的字段。
配置如下:
{
"type":"pick",
"key":"PickFieldKey1,PickFieldKey2",
"stage":"after_parser"
}
pick transformer的应用场景就在于,解析数据前,可能你仅关心如ERROR级别的日志;当你的数据解析完后,可能仅想要部分字段。 这时候就可以用pick transformer就可以用来做筛选,仅选择需要的字段,节省传输和存储成本。
-
key
字段支持多级嵌套,多级间用.
符号连接,如abc.xyz
,表示 data["abc"]["xyz"]中的数据。 -
key
也支持写多个,用逗号分隔,比如field1,field2
表示选择field1和field2 2个key,其他不要。 -
stage
默认为after_parser
,在parser后使用,也可以写before_parser
,在parser前,用法类型grep <key>
, 此时key字段对应的就是筛选的关键字
一份带有pick Transformer的完整配置类似如下:
{
"name":"test2.csv",
"reader":{
"log_path":"./tests/logdir",
"mode":"dir"
},
"parser":{
"name":"jsonps",
"type":"json"
},
"transforms":[{
"type":"pick",
"key":"PickFieldKey1,PickFieldKey1"
}],
"senders":[{
"name":"file_sender",
"sender_type":"file",
"file_send_path":"./test2/test2_csv_file.txt"
}]
}
快速开始 | Pandora | Readers | Parsers | Senders | Download | 七牛智能日志管理平台 | logkit-pro专业版