Skip to content

[split]Transformer

Sun Jianbo edited this page Dec 4, 2017 · 4 revisions

数据切割的Transformer

可以在Parser后使用,针对key指定的字段做数据切割。

配置如下:

{
		"type":"split",
		"key":"SplitFieldKey",
		"sep":",",
		"newfield":"name"
}

该功能可以将指定的key数据切割,按sep指定的字符切分,转换为一个字符串数组,并填充到newfield指定的字段中。

  • key 指定要切分的数据所在字段,支持多级嵌套,多级间用.符号连接,如abc.xyz,表示 data["abc"]["xyz"]中的数据。

  • sep 指定切分的分隔符,通常情况下分隔符为逗号(",")、空格(" ")、横线("-")、制表符("\t")等等。

  • newfield 指定切分后的数据进的新字段,可以指定为新的字段,如果指定新的字段跟key字段名称相同,则相当于替换原始字段。

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

实例的配置会将字段切割,并利用convert Transformer转化为整数。

{
		"name":"test2.csv",
		"reader":{
			"log_path":"./tests/logdir",
			"mode":"dir"
		},
		"parser":{
			"name":"jsonps",
			"type":"json"
		},
		"transforms":[{
			"type":"split",
			"key":"status",
			"sep":",",
			"newfield":"newarray"
		},{
			"type":"convert",
			"dsl":"newarray array(long)"
		}],
		"senders":[{
			"name":"file_sender",
			"sender_type":"file",
			"file_send_path":"./test2/test2_csv_file.txt"
		}]
	}
Clone this wiki locally