整庫離線同步方案包括周期性全量同步、周期性增量同步、一次性全量同步、一次性增量同步、一次性全量周期性增量同步。本文以一次性全量周期性增量同步至OSS為例,為您講解如何將整庫數(shù)據(jù)離線同步至OSS。

前提條件

  1. 已完成數(shù)據(jù)源配置。您需要在數(shù)據(jù)集成同步任務配置前,配置好您需要同步的源端和目標端數(shù)據(jù)庫,以便在同步任務配置過程中,可通過選擇數(shù)據(jù)源名稱來控制同步任務的讀取和寫入數(shù)據(jù)庫。同步解決方案支持的數(shù)據(jù)源及其配置詳情請參見支持的數(shù)據(jù)源與讀寫能力
    說明 數(shù)據(jù)源相關能力介紹詳情請參見:數(shù)據(jù)源概述
  2. 已購買合適規(guī)格的獨享數(shù)據(jù)集成資源組。詳情請參見:新增和使用獨享數(shù)據(jù)集成資源組
  3. 已完成數(shù)據(jù)集成資源組與數(shù)據(jù)源的網(wǎng)絡連通。詳情請參見:配置資源組與網(wǎng)絡連通
  4. 已完成數(shù)據(jù)源環(huán)境準備。您可以基于您需要進行的同步配置,在同步任務執(zhí)行前,授予數(shù)據(jù)源配置的賬號在數(shù)據(jù)庫進行相應操作的權限。詳情請參見:數(shù)據(jù)庫環(huán)境準備概述

操作流程

  1. 步驟一:選擇同步方案
  2. 步驟二:配置網(wǎng)絡連通
  3. 步驟三:設置同步來源與規(guī)則
  4. 步驟四:設置目標文件
  5. 步驟五:同步規(guī)則設置
  6. 步驟六:運行資源設置
  7. 步驟七:執(zhí)行同步任務

步驟一:選擇同步方案

創(chuàng)建同步解決方案任務,根據(jù)需求選擇需要同步的源端數(shù)據(jù)源和目標端數(shù)據(jù)源,并選擇整庫離線同步至OSS方案。

步驟二:配置網(wǎng)絡連通

源端選擇已創(chuàng)建的源端數(shù)據(jù)源與目標端數(shù)據(jù)源,以及用于執(zhí)行同步任務的資源組。并測試資源組與數(shù)據(jù)源的網(wǎng)絡連通。詳情請參見:配置同步網(wǎng)絡鏈接

步驟三:設置同步來源與規(guī)則

  1. 基本配置區(qū)域,配置同步解決方案的名稱、任務存放位置等信息。
  2. 數(shù)據(jù)來源區(qū)域,確認需要同步的源端數(shù)據(jù)源相關信息。
  3. 選擇同步的源表區(qū)域,選中需要同步的源表,單擊圖標圖標,將其移動至已選源表

    該區(qū)域會為您展示所選數(shù)據(jù)源下所有的表,您可以選擇整庫全表或部分表進行同步。

  4. 設置表名到文件名的映射規(guī)則區(qū)域,單擊添加規(guī)則,選擇相應的規(guī)則進行添加。
    同步時默認將源端數(shù)據(jù)庫、數(shù)據(jù)表寫入OSS同名文件中,同時,您可以通過添加映射規(guī)則定義最終寫入目的端的文件名稱。支持通過正則表達式轉(zhuǎn)換寫入的文件名,還支持指定內(nèi)置變量拼接目標文件名。您可以通過該功能實現(xiàn)將多張表數(shù)據(jù)寫入到同一個文件中。配置邏輯請參見:步驟四:設置同步來源與規(guī)則

步驟四:設置目標文件

  1. 目標文件的基本配置。
    參數(shù)說明
    目標路徑用于定義數(shù)據(jù)寫入的文件路徑,若路徑不存在,將自動新建。
    說明 如果您希望將每日數(shù)據(jù)寫入至OSS新的文件夾中,您可以使用變量${bdp.system.bizdate}對文件路徑進行命名。
    文件類型定義寫入目的端的文件格式,包括csv、text及parquet。
    說明
    • csv僅支持嚴格的csv格式。如果待寫入數(shù)據(jù)包括列分隔符,則會根據(jù)csv的語法轉(zhuǎn)義,轉(zhuǎn)義符號為雙引號(")。
    • text格式是用列分隔符簡單分割待寫數(shù)據(jù),對于待寫數(shù)據(jù)包括列分隔符情況下不做轉(zhuǎn)義。
    列分隔符將源端每列數(shù)據(jù)寫入OSS時所使用的列分隔符,默認值為(,)。
    行分隔符將源端每行數(shù)據(jù)寫入OSS時所使用的行分隔符,默認值為(\n)。
    編碼定義文件寫入OSS的編碼格式。
    null值文本文件中無法使用標準字符串定義null(空指針),數(shù)據(jù)同步系統(tǒng)提供該參數(shù)定義可以表示為null的字符串。例如,您配置null值null,如果源頭數(shù)據(jù)是null,數(shù)據(jù)同步系統(tǒng)會視作null字段。
    時間格式定義寫入時間類型數(shù)據(jù)時的格式。
    寫入單個文件定義源端單表是否寫入單個文件,當開關為關閉狀態(tài)時,一張表將被寫入多個文件,文件名將添加隨機后綴。
    說明 該功能目前僅對csv和txt文件格式生效,對parquet文件格式不生效。如果選擇了寫入單個文件,則文件名前綴沖突選項可以選擇替換原有文件退出報錯。寫入單文件時源端單表數(shù)據(jù)量超過10G會引起同步報錯。
    前綴沖突定義寫入OSS文件時,Object名稱前綴沖突情況下的數(shù)據(jù)處理方式:
    • 替換原有文件:寫入前清理Object名稱前綴匹配的所有Object。例如"object":"abc",將清理所有abc開頭的Object。
    • 保留原有文件:寫入前不進行任何處理,數(shù)據(jù)集成OSS Writer直接使用Object名稱寫入,并使用隨機UUID的后綴名來保證文件名不沖突。例如您指定的Object名為數(shù)據(jù)集成,實際寫入為DI_****_****_****
      說明 寫入單個文件時不支持該選項。
    • 退出報錯:如果指定路徑出現(xiàn)前綴匹配的Object,直接報錯。例如"object":"abc",如果存在abc123的Object,將直接報錯。
  2. 刷新源表和OSS文件映射。
    單擊刷新源表和OSS文件映射,將根據(jù)您在步驟三配置的目標文件映射規(guī)則來生成目標OSS文件名,若步驟三未配置映射規(guī)則,將默認寫入與源表同名的文件。同時,您可以修改最終寫入的文件建立方式、為目標文件在源有表字段基礎上增加附加字段。
    說明 當上一步驟中寫入單個文件開關為關閉狀態(tài)時,即單表寫入OSS多個文件時,此處的OSS文件名為寫入OSS文件的前綴名稱,實際寫入的文件名會添加隨機字符串。
    映射關系
    功能描述
    文件建立方式寫入OSS時的文件建立方式,支持寫入已有文件或自動建立新文件。
    為目標字段添加附加字段單擊操作列的編輯附加字段,可以為目標文件在源端字段的基礎上增加字段并為字段賦值。支持手動賦值常量與變量。
    說明 僅在文件建立方式自動建文件時,可以使用此功能。

步驟五:同步規(guī)則設置

  1. 配置增量同步的數(shù)據(jù)規(guī)則。
    您可通過where語句對待同步的數(shù)據(jù)表進行過濾,且只需在增量條件框中填寫where子句,無需寫where關鍵字。同時,在寫where子句時,您可以使用系統(tǒng)內(nèi)置變量,例如使用${bdp.system.bizdate}指代業(yè)務日期,格式為yyyymmdd,使用${bdp.system.cyctime}指代定時時間,格式為yyyymmddhh24miss等。
    說明 您可以使用調(diào)度參數(shù)來指定同步源表及目標表的數(shù)據(jù)范圍,調(diào)度參數(shù)使用說明請參見:數(shù)據(jù)集成使用調(diào)度參數(shù)的相關說明
  2. 配置數(shù)據(jù)同步的調(diào)度周期。
    由于需要進行周期性調(diào)度,所以需要在此定義周期性調(diào)度任務時的相關屬性,包括調(diào)度周期生效日期暫停調(diào)度等。當前方案的調(diào)度配置與DataWorks中節(jié)點的調(diào)度配置一致,配置詳情請參見時間屬性配置說明

步驟六:運行資源設置

該同步方案將分別創(chuàng)建全量離線同步任務和增量離線同步任務,您可以在此步驟配置任務名稱及任務執(zhí)行所使用的調(diào)度資源組與數(shù)據(jù)集成任務執(zhí)行資源組,同時,數(shù)據(jù)集成提供數(shù)據(jù)庫最大連接數(shù)、并發(fā)數(shù)等配置的默認值,如果您需要對任務做精細化配置,您可通過高級配置進行修改。

說明 DataWorks的離線同步任務通過調(diào)度資源組將其下發(fā)到數(shù)據(jù)集成任務執(zhí)行資源組上執(zhí)行,所以離線同步任務除了涉及數(shù)據(jù)集成任務執(zhí)行資源組外,還會占用調(diào)度資源組資源。如果使用了獨享調(diào)度資源組,將會產(chǎn)生調(diào)度實例費用。您可通過任務下發(fā)機制對該機制進行了解。

步驟七:執(zhí)行同步任務

  1. 進入數(shù)據(jù)集成 > 同步任務界面,找到已創(chuàng)建的同步方案。
  2. 單擊操作列的啟動/提交執(zhí)行按鈕,啟動同步的運行。
  3. 單擊操作列的執(zhí)行詳情,查看任務的詳細執(zhí)行過程。

后續(xù)步驟

完成任務配置后,您可以對已創(chuàng)建的任務進行管理、執(zhí)行加減表操作,或?qū)θ蝿张渲帽O(jiān)控報警,并查看任務運行的關鍵指標等。詳情請參見:同步解決方案任務運維