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

創(chuàng)建投遞任務(wù)

更新時(shí)間:

如果要表格存儲(chǔ)數(shù)據(jù)表中的數(shù)據(jù)投遞到OSS Bucket中存儲(chǔ),您可以使用CreateDeliveryTask接口創(chuàng)建一個(gè)投遞任務(wù)。

重要

請(qǐng)確認(rèn)已安裝支持?jǐn)?shù)據(jù)湖投遞功能的表格存儲(chǔ)Go SDK。

前提條件

  • 已開(kāi)通OSS服務(wù)且在表格存儲(chǔ)實(shí)例所在地域創(chuàng)建Bucket。具體操作,請(qǐng)參見(jiàn)開(kāi)通OSS服務(wù)

  • 已通過(guò)控制臺(tái)創(chuàng)建表格存儲(chǔ)服務(wù)關(guān)聯(lián)角色并記錄角色的ARN。具體操作,請(qǐng)參見(jiàn)創(chuàng)建投遞任務(wù)

    服務(wù)關(guān)聯(lián)角色的ARN請(qǐng)通過(guò)RAM控制臺(tái)獲取,具體操作如下:

    RAM 角色管理界面,搜索AliyunServiceRoleForOTSDataDelivery后,單擊角色名稱(chēng),在角色詳情界面,可以查看和復(fù)制角色的ARN信息。

    figrole

  • 已初始化TableStoreClient。具體操作,請(qǐng)參見(jiàn)初始化

  • 已創(chuàng)建數(shù)據(jù)表并寫(xiě)入數(shù)據(jù)。

參數(shù)

參數(shù)

說(shuō)明

TableName

數(shù)據(jù)表名稱(chēng)。

TaskName

投遞任務(wù)名稱(chēng)。

名稱(chēng)只能包含英文小寫(xiě)字母(a~z)、數(shù)字和短橫線(-),開(kāi)頭和結(jié)尾必須為英文小寫(xiě)字母或數(shù)字,且長(zhǎng)度為3~16字符。

TaskConfig

投遞任務(wù)配置,包括如下選項(xiàng):

  • OssPrefix:OSS Bucket中的目錄前綴,將表格存儲(chǔ)的數(shù)據(jù)投遞到該OSS Bucket目錄中。投遞路徑中支持引用$yyyy、$MM、$dd、$HH、$mm五種時(shí)間變量。

    • 當(dāng)投遞路徑中引用時(shí)間變量時(shí),可以按數(shù)據(jù)的寫(xiě)入時(shí)間動(dòng)態(tài)生成OSS目錄,實(shí)現(xiàn)hive partition naming style的數(shù)據(jù)時(shí)間分區(qū),從而按照時(shí)間分區(qū)組織OSS中的文件分布。

    • 當(dāng)投遞路徑中不引用時(shí)間變量時(shí),所有文件會(huì)被投遞到固定的OSS前綴目錄中。

  • OssBucket:OSS Bucket名稱(chēng)。

  • OssEndpoint:OSS Bucket所在地域的服務(wù)地址。

  • OssRoleName:表格存儲(chǔ)服務(wù)關(guān)聯(lián)角色的ARN信息。

  • Format:投遞的數(shù)據(jù)的存儲(chǔ)以Parquet列存格式存儲(chǔ),數(shù)據(jù)湖投遞默認(rèn)使用PLAIN編碼方式,PLAIN編碼方式支持任意類(lèi)型數(shù)據(jù)。

  • EventTimeColumn:事件時(shí)間列,用于指定按某一列數(shù)據(jù)的時(shí)間進(jìn)行分區(qū)。如果不設(shè)置此參數(shù),則按數(shù)據(jù)寫(xiě)入表格存儲(chǔ)的時(shí)間進(jìn)行分區(qū)。

  • Schema:指定需要投遞的數(shù)據(jù)列,必須手動(dòng)配置投遞字段的源表字段、目標(biāo)字段和目標(biāo)字段類(lèi)型。

    您可以選擇任意字段以任意順序、名稱(chēng)寫(xiě)入列存文件,OSS的列存數(shù)據(jù)會(huì)按Schema數(shù)組中的數(shù)據(jù)列先后順序分布。

    重要

    投遞數(shù)據(jù)的字段類(lèi)型必須與數(shù)據(jù)源的字段類(lèi)型匹配,否則會(huì)作為臟數(shù)據(jù)丟棄。字段類(lèi)型映射詳情請(qǐng)參見(jiàn)數(shù)據(jù)格式映射

TaskType

投遞任務(wù)的類(lèi)型,包括如下選項(xiàng):

  • IncTask:表示增量數(shù)據(jù)投遞模式,只同步增量數(shù)據(jù)。

  • BaseTask:表示全量數(shù)據(jù)投遞模式,一次性全表掃描數(shù)據(jù)同步。

  • BaseIncTask(默認(rèn)):表示全量&增量數(shù)據(jù)投遞模式,全量數(shù)據(jù)同步完成后,再同步增量數(shù)據(jù)。

    其中增量數(shù)據(jù)同步時(shí)可以獲取最新投遞時(shí)間和了解當(dāng)前投遞狀態(tài)。

示例

以下示例用于為數(shù)據(jù)表創(chuàng)建投遞任務(wù)。

func CreateTaskSample(client *tablestore.TableStoreClient) {
    createTask := &tablestore.CreateDeliveryTaskRequest{
        TableName: "<TABLE_NAME>",
        TaskName: "<TASK_NAME>",
        TaskType: tablestore.BaseIncTask,
        TaskConfig: &tablestore.OSSTaskConfig{
            OssPrefix:   "sample/year=$yyyy/month=$MM",
            OssBucket:      "datadeliverytest",
            OssEndpoint:    "oss-cn-hangzhou.aliyuncs.com",
            OssRoleName:    "acs:ram::17************45:role/aliyunserviceroleforotsdatadelivery",
            Schema: []*tablestore.TaskSchema{
                {
                    ColumnName: "PK1",
                    OssColumnName: "PK1",
                    Type: tablestore.ParquetInt64,
                },
                {
                    ColumnName: "PK2",
                    OssColumnName: "PK2",
                    Type: tablestore.ParquetUtf8,
                },
                {
                    ColumnName: "Col1",
                    OssColumnName: "Col1",
                    Type: tablestore.ParquetDouble,
                },
            },
        },
    }
    createResp, err := client.CreateDeliveryTask(createTask)
    if err != nil {
        log.Fatal("create delivery task failed ", err)
    }
    fmt.Println("create delivery task success ", createResp.RequestId)
}