日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Redis數(shù)據(jù)源

更新時(shí)間:

DataWorks數(shù)據(jù)集成支持使用Redis Writer將數(shù)據(jù)寫(xiě)至Redis,本文為您介紹DataWorks的Redis數(shù)據(jù)離線寫(xiě)入能力。

使用限制

  • 數(shù)據(jù)導(dǎo)入過(guò)程支持使用Serverless資源組(推薦)獨(dú)享數(shù)據(jù)集成資源組

  • 使用Redis Writer向Redis寫(xiě)入數(shù)據(jù)時(shí),如果Value類型是List,重跑同步任務(wù)的同步結(jié)果不是冪等的。因此,如果Value類型是List ,重跑同步任務(wù)時(shí),需要您手動(dòng)清空Redis上相應(yīng)的數(shù)據(jù)。

支持的字段類型

Redis支持較豐富的存儲(chǔ)value類型,包括String(字符串)、List(鏈表)、Set(集合)、ZSet(sorted set有序集合)和Hash(哈希類型)。Redis詳情請(qǐng)參見(jiàn)redis.io

數(shù)據(jù)同步任務(wù)開(kāi)發(fā)

數(shù)據(jù)同步任務(wù)的配置入口和通用配置流程可參見(jiàn)下文的配置指導(dǎo)。

附錄:腳本Demo與參數(shù)說(shuō)明

離線任務(wù)腳本配置方式

如果您配置離線任務(wù)時(shí)使用腳本模式的方式進(jìn)行配置,您需要按照統(tǒng)一的腳本格式要求,在任務(wù)腳本中編寫(xiě)相應(yīng)的參數(shù),詳情請(qǐng)參見(jiàn)通過(guò)腳本模式配置離線同步任務(wù),以下為您介紹腳本模式下數(shù)據(jù)源的參數(shù)配置詳情。

Writer腳本Demo

以下以讀取MySQL數(shù)據(jù)并寫(xiě)入Redis為例,為您示例讀取端MySQL Reader和寫(xiě)入端Redis Writer的腳本代碼樣例。寫(xiě)入Redis的數(shù)據(jù)同步作業(yè)。

{
    "type":"job",
    "version":"2.0",  //版本號(hào)
    "steps":[
        { //以下為讀取端代碼樣例,讀取端的參數(shù)詳情可查看對(duì)應(yīng)數(shù)據(jù)源的Reader插件文檔。
            "stepType":"mysql",   
            "parameter": {
                "envType": 0,
                "datasource": "xc_mysql_demo2",
                "column": [
                    "id",
                    "value",
                    "table"
                ],
                "connection": [
                    {
                        "datasource": "xc_mysql_demo2",
                        "table": []
                    }
                ],
                "where": "",
                "splitPk": "",
                "encoding": "UTF-8"
            },,
            "name":"Reader",
            "category":"reader"
        },
        {//以下為寫(xiě)入端代碼樣例。
            "stepType":"redis",                    //Redis Writer的插件名,配置為redis。
            "parameter":{                          //以下為Redis Writer的主要參數(shù)。
                "expireTime":{                     //Redis value值緩存失效時(shí)間,可配置為seconds類型或unixtime類型。"seconds":"1000"
                            }, 
                "keyFieldDelimiter":"u0001",       //寫(xiě)入Redis的key的分隔符。
                "dateFormat":"yyyy-MM-dd HH:mm:ss",//寫(xiě)入Redis時(shí),Date的時(shí)間格式。
                "datasource":"xc_mysql_demo2",     //數(shù)據(jù)源名稱,需與添加的數(shù)據(jù)源名稱保持一致。
                "envType": 0,                      //環(huán)境類型,開(kāi)發(fā)環(huán)境:1,生產(chǎn)環(huán)境:0。
                "writeMode":{                      //寫(xiě)入模式。
                    "type":"string"                //value類型。
                    "mode":"set",                  //value是某類型時(shí),寫(xiě)入的模式。
                    "valueFieldDelimiter":"u0001", //value之間的分隔符。
                             },
                "keyIndexes":[0,1],                //用于源端到Redis的映射,指定源端需要作為key的列(第1列從0開(kāi)始),如果源端第1列、第2列組合作為Redis的key,這里配置為[0,1]。
                "batchSize":"1000"                 //一次性批量提交的記錄數(shù)大小。
        "column": [                        // 對(duì)于redis類型為string,set操作,如果此column沒(méi)有配置那么value的格式是分隔符連接的字符串(csv格式,假設(shè)ID的值為1,name的值為"小王",age的值為18,sex的值為男,redis的value結(jié)果示例:"18::男");如果配置了column,且按照如下格式配置,則redis 的value將把原列的列名和值寫(xiě)入成JSON格式,假設(shè)ID的值為1,name的值為"小王",age的值為18,sex的值為男,redis的value結(jié)果示例{"id":1,"name":"小王","age":18,"sex":"男"}
                {
                "name": "id",
                "index": "0"

                },
                {
                "name": "name",
                "index": "1"
                },
                {
                "name": "age",
                "index": "2"
                },
                {
                "name": "sex",
                "index": "3"
                }
            ]
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"                           //錯(cuò)誤記錄數(shù)。
        },
        "speed":{
            "throttle":true,//當(dāng)throttle值為false時(shí),mbps參數(shù)不生效,表示不限流;當(dāng)throttle值為true時(shí),表示限流。
            "concurrent":1, //作業(yè)并發(fā)數(shù)。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer腳本參數(shù)

參數(shù)

描述

是否必選

默認(rèn)值

expireTime

Redis value值緩存失效時(shí)間,單位為秒。如果不填該配置項(xiàng),則該配置項(xiàng)取值為默認(rèn)值0,表示永久有效。

expireTime的配置方式有以下兩種:

  • seconds方式:指定了從現(xiàn)在開(kāi)始多長(zhǎng)時(shí)間后數(shù)據(jù)失效,取值是失效時(shí)間相對(duì)當(dāng)前時(shí)間的秒數(shù)。

  • unixtime方式:指定了從1970.1.1開(kāi)始多長(zhǎng)時(shí)間后數(shù)據(jù)失效。取值是失效時(shí)間相對(duì)1970.1.1時(shí)間的秒數(shù)。

0(0表示永久有效)

keyFieldDelimiter

寫(xiě)入Redis的Key分隔符。例如key=key1\u0001id,如果有多個(gè)Key需要拼接時(shí),該值為必填項(xiàng)。如果只有一個(gè)Key,則可以忽略該配置項(xiàng)。

\u0001

dateFormat

寫(xiě)入Redis時(shí),Date的時(shí)間格式為yyyy-MM-dd HH:mm:ss

無(wú)

datasource

數(shù)據(jù)源名稱。該配置項(xiàng)填寫(xiě)的內(nèi)容必須與添加的數(shù)據(jù)源名稱保持一致。

無(wú)

selectDatabase

寫(xiě)入Redis的庫(kù)選擇("0"~"databases"),Redis集群無(wú)法做數(shù)據(jù)庫(kù)選擇。

默認(rèn)寫(xiě)到0號(hào)庫(kù)

writeMode

Redis Writer寫(xiě)入Redis的value類型包含以下5種:

  • 字符串(string)

  • 字符串列表(list)

  • 字符串集合(set)

  • 有序字符串集合(zset)

  • 哈希(hash)

不同的value類型,writeMode配置會(huì)略有差異,詳細(xì)說(shuō)明可參見(jiàn)下文writeMode參數(shù)說(shuō)明

說(shuō)明

配置Redis Writer時(shí),您需要配置writeMode為支持的5種寫(xiě)入數(shù)據(jù)類型中的1種類型,且只能配置1種。如果您沒(méi)有配置,則writeMode取值為默認(rèn)值string

string

keyIndexes

指定作為key的源端列的列序號(hào)。列序號(hào)從0開(kāi)始(即第1列的序號(hào)是0,第2列的序號(hào)是1,依次類推)。

  • 源端的某一列作為Redis的key時(shí):配置為對(duì)應(yīng)列的序號(hào)即可,例如,第1列作為key,則配置為0。

  • 源端的連續(xù)多列組合作為Redis的key時(shí):配置為對(duì)應(yīng)多列的序號(hào)數(shù)組,例如,第2列至第4列組合作為key,則配置為[1,3]。

說(shuō)明

配置keyIndexes后,Redis Writer會(huì)將其余的列作為Value。如果您只想同步源表的某幾列作為Key,某幾列作為Value,則無(wú)需同步所有字段,在Reader插件端指定好column進(jìn)行列篩選即可。

無(wú)

batchSize

一次性批量提交的記錄數(shù)大小。該值可以極大減少數(shù)據(jù)同步系統(tǒng)與Redis的網(wǎng)絡(luò)交互次數(shù),并提升整體吞吐量。如果該值設(shè)置過(guò)大,會(huì)導(dǎo)致數(shù)據(jù)同步運(yùn)行進(jìn)程O(píng)OM異常。

1,000

timeout

寫(xiě)入Redis的超時(shí)時(shí)間,單位為毫秒。

30,000

redisMode

Redis的運(yùn)行模式。具體如下:

  • 集群模式:redisMode取值為ClusterMode,表示集群模式。

    集群模式下,其他數(shù)據(jù)源寫(xiě)入Redis時(shí),與Redis集群進(jìn)行直連通信。通常,自建Redis集群地址阿里云Redis直連地址需使用此模式。集群模式暫不支持批量寫(xiě)入。

  • 非集群模式:redisMode取值為空(即不配置任何值),表示非集群模式。

    通常,阿里云Redis集群代理地址、讀寫(xiě)分離地址、標(biāo)準(zhǔn)版地址使用此模式,支持批量寫(xiě)入。

說(shuō)明

支持使用Serverless資源組(推薦)和獨(dú)享數(shù)據(jù)集成資源組。

無(wú)

column

寫(xiě)入Redis的column配置。對(duì)于Redis對(duì)應(yīng)類型為string,set操作時(shí):

  • 如果此column沒(méi)有配置,那么value的格式是分隔符連接的字符串。(csv格式,假設(shè)ID的值為1,name的值為"小王",age的值為18,sex的值為男,Redis的value結(jié)果示例:"18::男");

  • 如果配置了column,且按照如下格式配置,比如"column": [{"index":"0", "name":"id"}, {"index":"1", "name":"name"}] , 這樣Redis的value數(shù)據(jù)寫(xiě)出到Redis后,以 {"id":"對(duì)應(yīng)源頭列的值","name":"對(duì)應(yīng)源頭列的值"} 的JSON形式存儲(chǔ),假設(shè)ID的值為1,name的值為"小王",Redis的value結(jié)果示例{"id":1,"name":"小王"}”

無(wú)

writeMode參數(shù)說(shuō)明

配置Redis Writer時(shí),您需要配置writeMode為支持的5種寫(xiě)入數(shù)據(jù)類型中的1種類型,且只能配置1種。如果您沒(méi)有配置,則writeMode取值為默認(rèn)值string。

value類型

type參數(shù)(必選)

mode參數(shù)(必選)

valueFieldDelimiter參數(shù)(非必選)

writeMode配置樣例

字符串(string)

type需配置為string

mode為寫(xiě)入模式參數(shù),value為字符串(string)時(shí):

  • mode需配置為set。

  • 如果需存儲(chǔ)的數(shù)據(jù)已經(jīng)存在,則覆蓋原有的數(shù)據(jù)。

valueFieldDelimiter為value之間的分隔符,默認(rèn)值為\u0001。

  • 該配置項(xiàng)主要用于源數(shù)據(jù)每行超過(guò)兩列的情況,例如有三列時(shí),各列通過(guò)分隔符分割樣例為value1\u0001value2\u0001value3。

  • 如果源數(shù)據(jù)只有兩列(即key和value)時(shí),則無(wú)需配置。

"writeMode":{
        "type": "string",
        "mode": "set",
        "valueFieldDelimiter": "\u0001"
        }

字符串列表(list)

type需配置為list

mode為寫(xiě)入模式參數(shù),value為字符串列表(list)時(shí),可配置為:

  • lpush,表示在list最左邊存儲(chǔ)數(shù)據(jù)。

  • rpush,表示在list最右邊存儲(chǔ)數(shù)據(jù)。

"writeMode":{
    "type": "list",
    "mode": "lpush|rpush",
    "valueFieldDelimiter": "\u0001"
}

字符串集合(set)

type需配置為set。

mode為寫(xiě)入模式參數(shù),value為字符串集合(set)時(shí):

  • mode需配置為sadd,表示向set集合中存儲(chǔ)數(shù)據(jù)。

  • 如果需存儲(chǔ)的數(shù)據(jù)已經(jīng)存在,則覆蓋原有的數(shù)據(jù)。

"writeMode":{
        "type": "set",
        "mode": "sadd",
        "valueFieldDelimiter": "\u0001"
        }

有序字符串集合(zset)

type需配置為zset。

mode為寫(xiě)入模式參數(shù),value為有序字符串集合(zset)時(shí):

  • mode需配置為zadd,表示向zset有序集合中存儲(chǔ)數(shù)據(jù)。

  • 如果需存儲(chǔ)的數(shù)據(jù)已經(jīng)存在,則覆蓋原有的數(shù)據(jù)。

無(wú)需配置此參數(shù)。

"writeMode":{
        "type": "zset",
        "mode": "zadd"
        }
說(shuō)明

當(dāng)value類型為zset時(shí),數(shù)據(jù)源的每行記錄均需遵循相應(yīng)的規(guī)范。即每行記錄除key外,只能有1對(duì)score和value,并且score必須在value前面,Redis Writer方可解析出column對(duì)應(yīng)的是score或value。

哈希(hash)

type需配置為hash。

mode為寫(xiě)入模式參數(shù),value為哈希(hash)時(shí):

  • mode需配置為hset,表示向hash有序集合中存儲(chǔ)數(shù)據(jù)。

  • 如果需存儲(chǔ)的數(shù)據(jù)已經(jīng)存在,則覆蓋原有的數(shù)據(jù)。

無(wú)需配置此參數(shù)。

"writeMode":{
        "type": "hash",
        "mode": "hset"
        }
說(shuō)明

當(dāng)value類型為hash時(shí),數(shù)據(jù)源的每行記錄都需遵循相應(yīng)的規(guī)范。即每行記錄除key外,只能有1對(duì)attribute和value,并且attribute必須在value前面,Redis Writer方可解析出column對(duì)應(yīng)的是attribute或value。