Skip to content

[discard]Transformer

Sun Jianbo edited this page Jun 4, 2018 · 6 revisions

用于去掉某个字段的Transformer

可以在Parser后使用,去除数据中key指定的字段。

配置如下:

{
		"type":"discard",
		"key":"DiscardFieldKey",
                "stage":"after_parser"
}

discard transformer的应用场景就在于,当你的数据解析完后,有一些字段是不需要的,就可以用来做反选,去掉这些字段,节省传输和存储成本。

  • key 字段支持多级嵌套,多级间用.符号连接,如abc.xyz,表示 data["abc"]["xyz"]中的数据。
  • key 也支持写多个,用逗号分隔,比如 field1,field2 表示删除field1和field2 2个key。
  • stage 默认为after_parser,在parser后使用,也可以写 before_parser,在parser前,用法类型 grep -v <key>, 此时key字段对应的就是过滤掉不要的关键字

一份带有discard Transformer的完整配置类似如下:

{
		"name":"test2.csv",
		"reader":{
			"log_path":"./tests/logdir",
			"mode":"dir"
		},
		"parser":{
			"name":"jsonps",
			"type":"json"
		},
		"transforms":[{
			"type":"discard",
		        "key":"DiscardFieldKey"
		}],
		"senders":[{
			"name":"file_sender",
			"sender_type":"file",
			"file_send_path":"./test2/test2_csv_file.txt"
		}]
}
Clone this wiki locally