Skip to content

[date]Transformer

Sun Jianbo edited this page Sep 22, 2017 · 6 revisions

时区转换的Transformer

可以在Parser后使用,针对key指定的字段做时间的转换。

配置如下:

{
		"type":"date",
		"key":"DateFieldKey",
		"offset":0,
		"time_layout_before":"",
		"time_layout_after":"2006-01-02T15:04:05Z07:00"
}

该功能可以对指定的key转换为指定的时间格式,这个key里面存的实际值可以是一个字符串,也可以是一个timestamp数字。 也可以对时间进行变换,如解析的时间没有带时区,被默认作为了UTC时间,但是又想变换为东八区时间,这样就只要在Offset处设置为8即可。

time_layout_before 字段可以设置自己的时间类型的样式,在你的数据无法自动解析的情况下,可以通过这个参数设置。默认情况下无需填写,系统会自动解析。 time_layout_after 字段可以设置解析后的时间,Pandora接受的时间类型(date)类型本质上是RFC3339的字符串,所以此处如果不填,默认转为RFC3339的字符串,也可根据需要转为其他样式。

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

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