Memcache(原名OCS)資料來源為您提供其它資料來源向Memcache寫入資料的功能,目前僅支援指令碼模式配置同步任務,本文為您介紹DataWorks的Memcache(OCS)資料同步的能力支援情況。
使用限制
當前僅支援使用指令碼模式將資料寫入Memcache(OCS)。
支援的欄位類型
Memcache Writer目前支援一種格式的寫入方式,不同寫入方式的類型轉換方式不一致。
建立資料來源
在進行資料同步任務開發時,您需要在DataWorks上建立一個對應的資料來源,操作流程請參見建立並管理資料來源,詳細的配置參數解釋可在配置介面查看對應參數的文案提示。
資料同步任務開發
資料同步任務的配置入口和通用配置流程可參見下文的配置指導。
附錄:Memcache(OCS)指令碼Demo與參數說明
離線任務指令碼配置方式
如果您配置離線任務時使用指令碼模式的方式進行配置,您需要按照統一的指令碼格式要求,在任務指令碼中編寫相應的參數,詳情請參見通過指令碼模式配置離線同步任務,以下為您介紹指令碼模式下資料來源的參數配置詳情。
Writer指令碼Demo
{
"type":"job",
"version":"2.0",//版本號碼。
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ocs",//外掛程式名
"parameter":{
"writeFormat":"text",//Memcache Writer寫出資料格式。
"expireTime":1000,//Memcache值緩衝失效時間。
"indexes":0,
"datasource":"",//資料來源。
"writeMode":"set",//寫入模式。
"batchSize":"256"//一次性批量提交的記錄數大小。
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"//錯誤記錄數。
},
"speed":{
"throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
"concurrent":1, //作業並發數。
"mbps":"12"//限流,此處1mbps = 1MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Writer指令碼參數
參數 | 描述 | 是否必選 | 預設值 |
datasource | 資料來源名稱,指令碼模式支援添加資料來源,此配置項填寫的內容必須要與添加的資料來源名稱保持一致。 | 是 | 無 |
writeMode | Memcache Writer寫入方式,具體如下: set:儲存這個資料。 add:儲存這個資料,若且唯若這個key不存在時(目前不支援)。 replace:儲存這個資料,若且唯若這個key存在時(目前不支援)。 append:將資料存放在已存在的key對應的內容後面,忽略exptime(目前不支援)。 prepend:將資料存放在已存在的key對應的內容的前面,忽略 exptime(目前不支援)。
| 是 | 無 |
writeFormat | Memcache Writer寫出資料的格式,目前僅支援TEXT資料寫入方式。 TEXT:將源端資料序列化為文字格式設定,其中第一個欄位作為Memcache寫入的key,後續所有欄位序列化為String類型,使用您指定的fieldDelimiter作為間隔符,將文本拼接為完整的字串再寫入Memcache。 例如源頭資料如下所示。 | ID | NAME | COUNT|
| ---- |:------|:-----|
| 23 | "CDP" | 100 |
如果您指定fieldDelimiter為\^,則寫入Memcache的格式如下。 | KEY (OCS) | VALUE(OCS) |
| --------- |:---------- |
| 23 | CDP\^100 |
| 否 | 無 |
expireTime | Memcache值緩衝失效時間,目前MemCache支援兩類到期時間。
說明 如果到期時間的秒數大於60*60*24*30(即30天),則服務端認為是Unix時間。 | 否 | 0,0永久有效 |
batchSize | 一次性批量提交的記錄數大小,該值可以極大減少資料同步系統與MySQL的網路互動次數,並提升整體輸送量。如果該值設定過大,會導致資料同步運行進程OOM異常。 | 否 | 1,024 |