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

文檔

MaxCompute數據源

更新時間:

MaxCompute數據源作為數據中樞,為您提供讀取和寫入數據至MaxCompute的雙向通道。

使用限制

說明

DataWorks的MaxCompute數據源可使用Tunnel Endpoint地址訪問相應MaxCompute項目的Tunnel服務,從而通過上傳、下載等方式同步該項目的數據,使用Tunnel服務時的上傳與下載會涉及DownloadTable操作。

2023年12月11日之后創建的MaxCompute數據源,若數據源所在的DataWorks服務與需要訪問的MaxCompute項目不在同一地域,則無法直接通過Tunnel Endpoint地址同步MaxCompute項目的數據。該場景下,您需先購買云企業網,連通DataWorks服務與MaxCompute項目的網絡,網絡連通后才可跨地域執行數據同步操作。云企業網的介紹及相關操作,請參見云企業網

離線讀

  • MaxCompute Reader支持讀取分區表、非分區表,不支持讀取虛擬視圖、不支持同步外部表。

  • 離線讀MaxCompute分區表時,不支持直接對分區字段進行字段映射配置,需要在配置數據來源時指定待同步數據的分區信息。

    例如,分區表t0的字段包含id、name兩個字段,一級分區為pt,二級分區為ds。讀取t0的pt=1,ds=hangzhou分區數據時,您需要在配置數據來源時指定分區值為pt=1,ds=hangzhou,后續字段映射配置時進行id、name字段的映射配置。

  • MaxCompute Reader支持使用WHERE進行數據過濾。

離線寫

  • 當數據有null值時,MaxCompute Writer不支持VARCHAR類型。

  • 如果寫入的表為DeltaTable,請將同步完成才可見設為,否則在并發大于1的場景下,任務將會報錯。

    image

實時寫

  • 實時數據同步任務僅支持使用獨享數據集成資源組。

  • 實時同步節點目前僅支持同步PolarDB、Oracle、MySQL數據源至MaxCompute。

  • 實時數據同步任務暫不支持同步沒有主鍵的表。

  • 當實時同步至MaxCompute默認數據源(一般為odps_first)時,默認使用臨時AK進行同步,臨時AK超過7天會自動過期,同時,將導致任務運行失敗。平臺檢測到臨時AK導致任務失敗時會自動重啟任務,如果任務配置了該類型的監控報警,您將會收到報警信息。

  • 一鍵實時同步至MaxCompute任務配置當天僅能查詢歷史全量數據,增量數據需要等待第二天merge完成后才可在MaxCompute查詢。

  • 一鍵實時同步至MaxCompute任務每天會生成一個全量分區,為避免數據過多占用存儲資源,本方案任務自動建立的MaxCompute表,默認生命周期為30天。如果時長不滿足您的業務需求,可以在配置同步任務時單擊對應的MaxCompute表名修改生命周期。

  • 數據集成使用MaxCompute引擎同步數據通道進行數據上傳和下載(同步數據通道SLA詳情請參見數據傳輸服務(上傳)場景與工具),請根據MaxCompute引擎同步數據通道SLA評估數據同步業務技術選型。

  • 一鍵實時同步至MaxCompute,按實例模式同步時,獨享數據集成資源組規格最低需要為8C16G。

  • 僅支持與當前工作空間同地域的自建MaxCompute數據源,跨地域的MaxCompute項目在測試數據源服務連通性時可以正常連通,但同步任務執行時,在MaxCompute建表階段會報引擎不存在的錯誤。

    說明

    使用自建MaxCompute數據源時,DataWorks項目仍然需要綁定MaxCompute引擎,否則將無法創建MaxCompute SQL節點,導致全量同步標done節點創建失敗。

注意事項

如果目標表列沒有配置和源端的列映射,則同步任務執行完成后,此列值為空,即使此目標列建表時指定了默認值,列值仍為空。

支持的字段類型

支持MaxCompute的1.0數據類型、2.0數據類型、Hive兼容數據類型。不同數據類型版本支持的字段類型詳情如下。

1.0數據類型支持的字段

字段類型

離線讀

離線寫

實時寫

BIGINT

支持

支持

支持

DOUBLE

支持

支持

支持

DECIMAL

支持

支持

支持

STRING

支持

支持

支持

DATETIME

支持

支持

支持

BOOLEAN

支持

支持

支持

ARRAY

支持

支持

支持

MAP

支持

支持

支持

STRUCT

支持

支持

支持

2.0數據類型、Hive兼容數據類型支持的字段

字段類型

離線讀(MaxCompute Reader)

離線寫(MaxCompute Writer)

實時寫

TINYINT

支持

支持

支持

SMALLINT

支持

支持

支持

INT

支持

支持

支持

BIGINT

支持

支持

支持

BINARY

支持

支持

支持

FLOAT

支持

支持

支持

DOUBLE

支持

支持

支持

DECIMAL(pecision,scale)

支持

支持

支持

VARCHAR(n)

支持

支持

支持

CHAR(n)

不支持

支持

支持

STRING

支持

支持

支持

DATE

支持

支持

支持

DATETIME

支持

支持

支持

TIMESTAMP

支持

支持

支持

BOOLEAN

支持

支持

支持

ARRAY

支持

支持

支持

MAP

支持

支持

支持

STRUCT

支持

支持

支持

數據類型轉換說明

MaxCompute Reader針對MaxCompute的類型轉換列表,如下所示。

類型分類

數據集成配置類型

數據庫數據類型

整數類

LONG

BIGINT、INT、TINYINT和SMALLINT

布爾類

BOOLEAN

BOOLEAN

日期時間類

DATE

DATETIME、TIMESTAMP和DATE

浮點類

DOUBLE

FLOAT、DOUBLE和DECIMAL

二進制類

BYTES

BINARY

復雜類

STRING

ARRAY、MAP和STRUCT

重要

如果數據轉換失敗,或數據寫出至目的端數據源失敗,則將數據作為臟數據,您可以配合臟數據限制閾值使用。

數據同步前準備:MaxCompute環境準備

讀取或寫入MaxCompute表數據時,您可以根據需要選擇是否開啟相關屬性。

連接MaxCompute并開啟項目級配置

  • 登錄MaxCompute客戶端,詳情請參見使用本地客戶端(odpscmd)連接

  • 開啟MaxCompute項目級相關配置:請確認是否已擁有對應的操作權限,您可使用Project Owner賬號執行相關操作,關于MaxCompute權限說明,詳情請參見角色規劃

開啟acid屬性

您可以使用Project Owner賬號在客戶端執行以下命令開啟acid屬性,關于MaxCompute ACID語義說明,詳情請參見ACID語義

setproject odps.sql.acid.table.enable=true;

(可選)開啟2.0數據類型

如果需要使用MaxCompute數據2.0類型中的timestamp類型,您需要使用Project Owner賬號在客戶端執行以下命令開啟數據2.0。

setproject odps.sql.type.system.odps2=true;

(可選)創建賬號

工作空間綁定MaxCompute引擎時,默認將在DataWorks生成一個MaxCompute數據源,在當前工作空間可使用該默認引擎數據源進行數據同步,若您需要在其他空間同步當前工作空間的MaxCompute數據源,您需要創建Accesskey ID和Accesskey Secret,以便在其他工作空間創建數據源并使用該數據源時,可基于您的身份訪問該引擎數據。

數據同步任務開發:MaxCompute同步流程引導

MaxCompute數據同步任務的配置入口和通用配置流程指導可參見下文的配置指導,詳細的配置參數解釋可在配置界面查看對應參數的文案提示。

創建MaxCompute數據源

進行數據同步任務開發前,您需要在DataWorks上將MaxCompute項目創建為MaxCompute數據源。創建MaxCompute數據源的詳情操作,請參見創建MaxCompute數據源

說明
  • 標準模式的工作空間支持數據源隔離功能,您可以分別添加并隔離開發環境和生產環境的數據源,以保護您的數據安全。詳情請參見數據源開發和生產環境隔離

  • 若工作空間中名為odps_first的MaxCompute數據源非人為在數據源界面創建,則該數據源為數據源改版前,您當前工作空間綁定的第一個MaxCompute引擎默認創建的數據源。進行數據同步時,如選擇此數據源,則表示您要將數據讀取或寫入至該MaxCompute引擎項目中。

    您可在數據源配置頁面,查看數據源使用的MaxCompute項目名稱,確認數據最終讀取或寫入至哪一個MaxCompute項目。詳情請參見管理數據源

單表離線同步任務配置指導

單表實時同步任務配置指導

操作流程請參見配置單表增量數據實時同步DataStudio側實時同步任務配置

整庫離線、整庫(實時)全增量、整庫(實時)分庫分表等整庫級別同步配置指導

操作流程請參見數據集成側同步任務配置

常見問題

更多其他數據集成常見問題請參見數據集成常見問題

附錄:腳本Demo與參數說明

附錄:離線任務腳本配置方式

如果您配置離線任務時使用腳本模式的方式進行配置,您需要在任務腳本中按照腳本的統一格式要求編寫腳本中的reader參數和writer參數,腳本模式的統一要求請參見通過腳本模式配置離線同步任務,以下為您介紹腳本模式下的數據源的Reader參數和Writer參數的指導詳情。

MaxCompute Reader腳本Demo

重要

實際運行時,請刪除下述代碼中的注釋。

{
    "type":"job",
    "version":"2.0",
    "steps":[
        {
            "stepType":"odps",//插件名。
            "parameter":{
                "partition":[],//讀取數據所在的分區。
                "isCompress":false,//是否壓縮。
                "datasource":"",//數據源。
                "column":[//源頭表的列信息。
                    "id"
                ],
                "where": "",//使用WHERE數據過濾時,填寫具體WHERE子句內容。
                "enableWhere":false,//是否使用WHERE進行數據過濾。
                "table":""http://表名。
            },
            "name":"Reader",
            "category":"reader"
        },
        { 
            "stepType":"stream",
            "parameter":{
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"http://錯誤記錄數。
        },
        "speed":{
            "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1, //作業并發數。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

如果您需要指定MaxCompute的Tunnel Endpoint,可以通過腳本模式手動配置數據源。將上述示例中的"datasource":"",替換為數據源的具體參數,示例如下。

"accessId":"*******************",
"accessKey":"*******************",
"endpoint":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api",
"odpsServer":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api", 
"tunnelServer":"http://dt.eu-central-1.maxcompute.aliyun.com", 
"project":"*****", 

MaxCompute Reader腳本參數

參數

描述

是否必選

默認值

datasource

數據源名稱。腳本模式支持添加數據源,該配置項填寫的內容必須與添加的數據源名稱保持一致。

table

讀取數據表的表名稱(大小寫不敏感)。

partition

讀取的數據所在的分區信息。

  • ODPS的分區配置支持Linux Shell通配符,*表示0個或多個字符,?表示任意一個字符。

  • 默認情況下,讀取的分區必須存在,如果分區不存在則運行的任務會報錯。如果您希望當分區不存在時任務仍然執行成功,則可以切換至腳本模式執行任務,并在ODPS的Parameter中添加"successOnNoPartition": true配置。

例如,分區表test包含pt=1,ds=hangzhoupt=1,ds=shanghaipt=2,ds=hangzhoupt=2,ds=beijing四個分區,則讀取不同分區數據的配置如下:

  • 如果您需要讀取pt=1,ds=hangzhou分區的數據,則分區信息的配置為"partition":"pt=1,ds=hangzhou”

  • 如果您需要讀取pt=1中所有分區的數據,則分區信息的配置為 "partition":"pt=1,ds=*”

  • 如果您需要讀取整個test表所有分區的數據,則分區信息的配置為 "partition":"pt=*,ds=*”

此外,您還可以根據實際需求設置分區數據的獲取條件:

  • 如果您需要指定最大分區,則可以添加/*query*/ ds=(select MAX(ds) from DataXODPSReaderPPR)配置信息。

  • 如果需要按條件過濾,則可以添加相關條件/*query*/ pt+表達式配置。例如/*query*/ pt>=20170101 and pt<20170110表示獲取pt分區中,20170101日期之后(包含20170101日期),至20170110日期之前(不包含20170110日期)的所有數據。

說明

/*query*/表示將其后填寫的內容識別為一個where條件。

如果表為分區表,則必填。如果表為非分區表,則不能填寫。

column

讀取MaxCompute源頭表的列信息。例如表test的字段為idnameage

  • 如果您需要依次讀取idnameage,則應該配置為"column":["id","name","age"]或者配置為"column":["*"]

    說明

    不推薦您配置抽取字段為(*),因為它表示依次讀取表的每個字段。如果您的表字段順序調整、類型變更或者個數增減,您的任務會存在源頭表列和目的表列不能對齊的風險,則直接導致您的任務運行結果不正確甚至運行失敗。

  • 如果您想依次讀取nameid,則應該配置為"column":["name","id"]

  • 如果您想在源頭抽取的字段中添加常量字段(以適配目標表的字段順序)。例如,您想抽取的每一行數據值為age列對應的值,name列對應的值,常量日期值1988-08-08 08:08:08,id列對應的值,則您應該配置為"column":["age","name","'1988-08-08 08:08:08'","id"],即常量列首尾用符號'包住即可。

    內部實現上識別常量是通過檢查您配置的每一個字段,如果發現有字段首尾都有',則認為其是常量字段,其實際值為去除'之后的值。

    說明
    • MaxCompute Reader抽取數據表不是通過MaxCompute的Select SQL語句,所以不能在字段上指定函數。

    • column必須顯示指定同步的列集合,不允許為空。

MaxCompute Writer腳本Demo

腳本配置樣例如下。

{
    "type":"job",
    "version":"2.0",//版本號。
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"odps",//插件名。
            "parameter":{
                "partition":"",//分區信息。
                "truncate":true,//清理規則。
                "compress":false,//是否壓縮。
                "datasource":"odps_first",//數據源名。
            "column": [//源端列名。
                "id",
                "name",
                "age",
                "sex",
                "salary",
                "interest"
                ],
                "table":""http://表名。
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"http://錯誤記錄數,表示臟數據的最大容忍條數。
        },
        "speed":{
            "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1, //作業并發數。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

如果您需要指定MaxCompute的Tunnel Endpoint,可以通過腳本模式手動配置數據源:將上述示例中的"datasource":"",替換為數據源的具體參數,示例如下。

"accessId":"<yourAccessKeyId>",
 "accessKey":"<yourAccessKeySecret>",
 "endpoint":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api",
 "odpsServer":"http://service.eu-central-1.maxcompute.aliyun-inc.com/api", 
"tunnelServer":"http://dt.eu-central-1.maxcompute.aliyun.com", 
"project":"**********", 

MaxCompute Writer腳本參數

參數

描述

是否必選

默認值

datasource

數據源名稱,腳本模式支持添加數據源,該配置項填寫的內容必須與添加的數據源名稱保持一致。

table

寫入的數據表的表名稱(大小寫不敏感),不支持填寫多張表。

partition

需要寫入數據表的分區信息,必須指定到最后一級分區。例如把數據寫入一個三級分區表,必須配置到最后一級分區,例如pt=20150101, type=1, biz=2

  • 對于非分區表,該值務必不要填寫,表示直接導入至目標表。

  • MaxCompute Writer不支持數據路由寫入,對于分區表請務必保證寫入數據到最后一級分區。

如果表為分區表,則必填。如果表為非分區表,則不能填寫。

column

需要導入的字段列表。當導入全部字段時,可以配置為"column": ["*"]。當需要插入部分MaxCompute列,則填寫部分列,例如"column": ["id","name"]

  • MaxCompute Writer支持列篩選、列換序。例如一張表中有a、b和c三個字段,您只同步c和b兩個字段,則可以配置為"column": ["c","b"],在導入過程中,字段a自動補空,設置為null。

  • column必須顯示指定同步的列集合,不允許為空。

truncate

通過配置"truncate": "true"保證寫入的冪等性。即當出現寫入失敗再次運行時,MaxCompute Writer將清理前述數據,并導入新數據,可以保證每次重跑之后的數據都保持一致 。

因為利用MaxCompute SQL進行數據清理工作,SQL無法保證原子性,所以truncate選項不是原子操作。當多個任務同時向一個TablePartition清理分區時,可能出現并發時序問題,請務必注意。

針對該類問題,建議您盡量不要多個作業DDL同時操作同一個分區,或者在多個并發作業啟動前,提前創建分區。