DataWorks数据集成支持使用Sensors Data Writer将数据写至Sensors Data,本文为您介绍DataWorks的Sensors Data数据同步的能力支持情况。
使用限制
目前仅华南1(深圳)地域支持绑定Sensors Data数据源,其他地域会陆续支持,敬请期待!
不支持直接读取SensorsData中的数据,需要根据神策数据存储类型选择Hive、HDFS等插件来读取数据。
数据同步任务开发
数据同步任务的配置入口和通用配置流程指导可参见下文的配置指导,详细的配置参数解释可在配置界面查看对应参数的文案提示。
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建与管理数据源。
单表离线同步任务配置指导
操作流程请参见通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。
附录:脚本Demo与参数说明
附录:离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要在任务脚本中按照脚本的统一格式要求编写脚本中的reader参数和writer参数,脚本模式的统一要求请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下的数据源的Reader参数和Writer参数的指导详情。
Writer脚本Demo
{
"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"//限流,此处1mbps = 1MB/s。
}
}
}
Writer脚本参数
参数 | 描述 | 是否必选 | 默认值 |
type | 写入神策数据系统的数据类型,取值包括:track、user、item,分别对应神策数据系统中的事件、用户、属性。type参数的取值,将影响数据类型的参数定义。 | 是 | 无 |
type取track时,可选参数如下:
脚本示例如下:
| |||
type取user时,可选参数如下:
脚本示例如下:
| |||
type取item时,可选参数如下:
脚本示例如下:
| |||
column | 通过index和name参数,来定义来源表字段与目标表字段的映射关系。
| 是 | 无 |
sdkDataAddress | 数据存放路径,即Sensors Data接收数据的URL地址,该地址的格式为: | 是 | 无 |
其他参数介绍
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转换器的列之前配置。 |
- 本页导读 (1)