全部產品
Search
文件中心

DataWorks:Memcache(OCS)資料來源

更新時間:Oct 24, 2024

Memcache(原名OCS)資料來源為您提供其它資料來源向Memcache寫入資料的功能,目前僅支援指令碼模式配置同步任務,本文為您介紹DataWorks的Memcache(OCS)資料同步的能力支援情況。

使用限制

當前僅支援使用指令碼模式將資料寫入Memcache(OCS)。

支援的欄位類型

Memcache Writer目前支援一種格式的寫入方式,不同寫入方式的類型轉換方式不一致。

  • text:Memcache Writer將來來源資料序列化為STRING類型格式,並使用您在同步任務指令碼中配置的fieldDelimiter作為間隔符。

  • binary:目前暫不支援。

建立資料來源

在進行資料同步任務開發時,您需要在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支援兩類到期時間。

  • Unix時間(自1970.1.1開始到現在的秒數),該時間指定了到未來某個時刻的資料失效。

  • 相對目前時間的秒數,該時間指定了從現在開始多長時間後資料失效。

說明

如果到期時間的秒數大於60*60*24*30(即30天),則服務端認為是Unix時間。

0,0永久有效

batchSize

一次性批量提交的記錄數大小,該值可以極大減少資料同步系統與MySQL的網路互動次數,並提升整體輸送量。如果該值設定過大,會導致資料同步運行進程OOM異常。

1,024