本文为您介绍Sensors Data Writer支持的数据类型、字段映射和数据源等参数及配置示例。
前提条件
配置Sensors Data Writer插件前,请确认数据源已配置完成,详情请参见:配置Sensors Data数据源。
使用限制
版本使用限制如下:
- 软件版本:神策数据2.3版本及以下。
- 插件版本:ID Mapping 2.0版本及以下。
参数说明
参数 | 描述 | 是否必选 | 默认值 |
---|---|---|---|
type | 写入神策数据系统的数据类型,取值包括:track、user、item,分别对应神策数据系统中的事件、用户、属性。type参数的取值,将影响数据类型的参数定义。 | 是 | 无 |
type取track时,可选参数如下:
脚本示例如下:
|
|||
type取user时,可选参数如下:
脚本示例如下:
|
|||
type取item时,可选参数如下:
脚本示例如下:
|
|||
column | 通过index和name参数,来定义来源表字段与目标表字段的映射关系。
|
是 | 无 |
sdkDataAddress | 数据存放路径,即Sensors Data接收数据的URL地址,该地址的格式为:http://localhost:8106/sa?project=default ,该地址可从 来获取。
|
是 | 无 |
脚本开发介绍
使用脚本模式开发的详情请参见:通过脚本模式配置离线同步任务。
脚本配置示例如下,具体参数填写请参见:参数说明。
注意 实际运行时,请删除下述代码中的注释。
{
"type": "job",
"steps": [
{
"stepType": "mysql",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "sahistory", //插件名。
"parameter": {
"type": "item", //写入Sensors Data的数据类型,可取值有:track/user/item,分别对应神策系统中的事件/用户/属性。
"item": { //因为type参数取值为item,因此此处需要定义item参数。
"itemType": "course", //定义item的类型为学生课程course
"typeIsColumn": false, //item的类型是否会出现在column参数中
"itemIdColumn": "course_id" //定义itemID的字段名称
},
"column": [ //定义来源表和目标表之间的字段映射关系
{
"name": "course_id", //目标表的字段列名为course_id
"index": 0 //取来源表的第1列数据写入目标表的course_id列
},
{
"name": "course_name", //目标表的字段列名为course_name
"index": 1 //取来源表的第2列数据写入目标表的course_name列
},
{
"name": "course_schedule", //目标表的字段列名为course_schedule
"index": 2 //取来源表的第3列数据写入目标表的course_schedule列
"dataConverters":[ //转换器,实现实现数据类型转换。
{
"type": "Long2Date" //转换器类型。
}
]
}
],
"sdkDataAddress": "http://bigdata-project.datasink.sensorsdata.cn/sa?project=default&token=1111111111111111", //数据存放路径,即Sensors Data接收数据的URL地址
},
"name": "Writer",
"category": "writer"
}
],
},
"setting": {
"errorLimit": {
"record": "0" //错误记录数。
},
"speed": {
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
"concurrent":2, //作业并发数。
"mbps":"12"//限流
}
}
}
其他参数介绍
Sensors Data Writer支持在脚本中对要写入目标数据源的字段,通过添加数据转换器(dataConverters),并定义转换器类型(type),实现要写入目标数据源字段的类型转换,转换器类型及参数示例如下表所示。
转换器类型 | 功能描述 | 示例 | 参数说明 |
---|---|---|---|
Date2Str | 将Date时间类型的数据转换为String字符串类型。 |
|
pattern(可选):将Date数据转换为String类型数据后,String类型数据的时间格式。 |
Date2Long | 将Date时间类型的数据转换为Long长整型类型。 |
|
无 |
Number2Str | 将Number数值类型的数据转换为String字符串类型。 |
|
无 |
Str2Long | 将String字符串类型的数据转换为Long长整型类型。 |
|
无 |
Str2Date | 将String字符串类型的数据转换为Date时间类型。 |
|
|
BigInt2Date | 将BigInt大整数类型的数据转换为Date时间类型。 |
|
无 |
Str2Int | 将String字符串类型的数据转换为Int整数类型。 |
|
无 |
Str2Double | 将String字符串类型的数据转换为Double双精度数值类型。 |
|
无 |
Str2BigDecimal | 将String字符串类型的数据转换为BigDecimal高精度数值类型。 |
|
无 |
IfNull2Default | 当字段值为null时,将字段值设置为default参数中定义的常量值,并支持根据IfNull2Default转换器中嵌套的转换器类型,进一步将字段常量值转换为目标数据类型。 |
|
dataConverters:数据转换器,将default参数的默认值转换为type中定义的类型。实现多次数据转换,多个dataConverters可嵌套使用。 |
NotNull2Null | 如果字段值为非null的值,可以将字段值转换为null。 |
|
无 |
IfElse | if条件表达式,判断字段值是否满足条件,当if条件表达式成立时,在value中定义满足条件时的字段返回值,当if条件表达式不成立时,在else中定义不满足条件时的字段返回值。 |
|
|
IfNull2Column | 如果字段值为null,则转向取targetColumnName配置项的值,作为当前字段的值。 |
|
targetColumnName:导入神策数据的列名。
注意 targetColumnName配置的列需要在应用IfNull2Column转换器的列之前配置。
|