DataWorksData Integration支援使用Sensors Data Writer將資料寫至Sensors Data,本文為您介紹DataWorks的Sensors Data資料同步的能力支援情況。
使用限制
目前僅華南1(深圳)地區支援綁定Sensors Data資料來源,其他地區會陸續支援,敬請期待!
不支援直接讀取SensorsData中的資料,需要根據神策資料存放區類型選擇Hive、HDFS等外掛程式來讀取資料。
建立資料來源
在進行資料同步任務開發時,您需要在DataWorks上建立一個對應的資料來源,操作流程請參見建立並管理資料來源,詳細的配置參數解釋可在配置介面查看對應參數的文案提示。
資料同步任務開發
資料同步任務的配置入口和通用配置流程可參見下文的配置指導。
單表離線同步任務配置指導
操作流程請參見通過指令碼模式配置離線同步任務。
指令碼模式配置的全量參數和指令碼Demo請參見下文的附錄一:指令碼Demo與參數說明。
附錄一:指令碼Demo與參數說明
離線任務指令碼配置方式
如果您配置離線任務時使用指令碼模式的方式進行配置,您需要按照統一的指令碼格式要求,在任務指令碼中編寫相應的參數,詳情請參見通過指令碼模式配置離線同步任務,以下為您介紹指令碼模式下資料來源的參數配置詳情。
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轉換器的列之前配置。 |