- 
                Notifications
    You must be signed in to change notification settings 
- Fork 262
[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专业版