資料複寫任務設定
您可為資料複寫任務進行設定。
-
開啟複寫任務並在工具列中按一下設定。
就會開啟 設定:<Task-Name> 對話方塊。可用設定如下所述。
一般
在此索引標籤中,您可以變更複寫模式、暫存設定 (如可用) 以及將變更套用至目標的模式。
複寫模式
有下列複寫模式可用:
- 完整載入:將資料從所選來源表格載入到目標平台,並建立目標表格 (如有必要)。完整載入會在任務開始時自動發生,但如有需要,也可以手動執行。
-
套用變更:以對來源表格所做的任何變更更新目標表格。
-
儲存變更:在變更表格 (每個來源表格一個)中將變更儲存至來源表格。
如需詳細資訊,請參閱 儲存變更。
使用 資料移動閘道 時,會幾乎即時地從來源擷取變更。在沒有 資料移動閘道 的情況下工作時 (例如透過 Qlik Talend Cloud 啟動器 訂閱或選取無時),會根據排程器設定擷取變更。如需詳細資訊,請參閱 在不使用 資料移動閘道 時排程任務。
若您選取儲存變更或套用變更,且來源資料包含不支援 CDC 或檢視的表格,將會建立兩個資料管道。一個管道用於支援 CDC 的表格,而另一個管道用於僅支援完整載入的所有其他表格和檢視。
連線至暫存區域
複寫至下列資料倉庫時,您需要設定暫存區域。會先在暫存區域中處理並準備資料,再傳輸至倉庫。
選取現有的暫存區域,或按一下新建以定義新的暫存區域,並按照 連線至雲端儲存空間 中的說明。
若要編輯連線設定,按一下編輯。若要測試連線 (建議),按一下測試連線。
如需資料倉庫支援哪些暫存區域的資訊,請參閱 目標平台使用案例和支援版本 中的作為暫存區域受到支援欄。
套用變更模式
變更會使用下列方法之一套用至目標表格:
- 批次最佳化:此為預設。若選取此選項,會在批次中套用變更。會發生前置處理動作,以最有效率的方式將交易組成批次。
- 交易:選取此選項以認可順序個別套用每筆交易。在此情況下,會為所有表格確保嚴格參考完整性。
資料上傳
檔案大小上限
檔案在關閉之前可達到的大小上限。較小的檔案可能上傳得更快 (取決於網路),並且可在結合平行執行選項使用時改善效能。不過,以小檔案叢集資料庫通常被視為不良做法。
中繼資料
基本
-
目標表格結構描述:目標上的結構描述,若您不想使用來源表格結構描述 (或者若來源資料庫中沒有結構描述),來源表格將會複寫到這裡。
資訊備註複寫至 Oracle 目標時,預設目標表格結構描述為「系統」。也請注意,若您讓此欄位空白 (在此情況下,將會使用來源結構描述),您必須確認來源結構描述已存在於目標。否則,任務將會失敗。資訊備註許可的結構描述名稱長度上限為 128 個字元。
LOB 設定
可用 LOB 設定根據所選複寫目標而異。資料倉庫目標不支援無限 LOB 欄大小,此選項在複寫至資料倉庫時無法使用。
不是資料倉庫之目標的 LOB 設定
- 請勿納入 LOB 欄:若您不想複寫來源 LOB 欄,則選取此項。
-
將 LOB 欄大小限制為 (KB):此為預設。若您只需要複寫小型 LOB,或者若目標平台不支援無限的 LOB 大小,則選取此選項。對此欄位許可的值上限為 102400 KB (100 MB)。
複寫小型 LOB 時,此選項比請勿限制 LOB 欄大小選項更有效率,因為 LOB 是「內嵌」複寫,與透過從來源「查詢」不同。在變更處理期間,通常會透過從來源「查詢」複寫小型 LOB。
此限制適用於從來源端點讀取的 LOB 位元組數量。對於 BLOB 欄,目標 BLOB 大小將完全符合指定的限制。對於 CLOB 和 NCLOB 欄,如果來源和目標 LOB 沒有相同的字元集,則目標 LOB 大小可能與指定的限制不同。在這種情況下,資料任務將執行字元集轉換,這可能會導致來源和目標 LOB 大小之間存在差異。
由於限制 LOB 大小的值以位元組為單位,應根據下列公式計算大小:
- BLOB:最大 LOB 的長度。
- NCLOB:最長文字長度的字元數乘以二 (因為每個字元視為雙位元組來處理)。若資料包括 4 位元組字元,則乘以四。
- CLOB:最長文字長度的字元數 (因為每個字元視為 UTF8 字元來處理)。若資料包括 4 位元組字元,則乘以二。
資訊備註- 將會截斷任何大於指定大小的 LOB。
- 從 Oracle 來源變更處理期間,會內嵌複寫內嵌 BLOB。
- 對此設定的變更只會在載入之後影響現有表格。
-
請勿限制 LOB 欄大小:無論大小如何,若選取此選項,都會複寫 LOB 欄。
資訊備註複寫 LOB 欄可能會影響效能。若大型 LOB 欄需要複寫任務從來源表格執行查詢以便擷取來源 LOB 值,尤其如此。-
在 LOB 大小小於以下內容時進行最佳化:若您需要複寫小型和大型 LOB,而大部分的 LOB 都很小,則選取此選項。
資訊備註僅下列來源和目標支援此選項:
-
來源: Oracle、Microsoft SQL Server、MySQL、PostgreSQL 和 IBM DB2 for LUW
-
目標: Oracle、Microsoft SQL Server、MySQL、PostgreSQL。
若選取此選項,則在完整載入期間,將會「內嵌」複寫小型 LOB (這更有效率),而大型 LOB 的複寫方式則是從來源表格執行查詢。不過,在變更處理期間,小型和大型 LOB 的複寫方式都是從來源表格執行查詢。
資訊備註若選取此選項,複寫任務將會檢查所有 LOB 大小,以決定哪些是「內嵌」傳輸。將會使用完整 LOB 模式複寫大於指定大小的 LOB。
因此,若您知道大部分的 LOB 大於指定的設定,最好改用 複寫無限的 LOB 欄 選項。
-
-
區塊大小 (KB):可以選擇變更 LOB 區塊大小,以在將資料複寫到目標時使用。預設區塊大小在大部分的情況下應該都足夠,但如果您遇到效能問題,調整大小可能會改善效能。
資訊備註透過某些資料庫,插入或更新資料時會發生資料類型驗證。在這類情況下,若資料大於指定的區塊大小,複寫結構化資料類型 (例如 XML、JSON、GEOGRAPHY 等) 可能會失敗。
-
支援的資料倉庫目標的 LOB 設定
-
納入 LOB 欄並將欄大小限制為 (KB):
您可選擇在任務中納入 LOB 欄,以及設定最大 LOB 大小。將會截斷大於最大大小的 LOB。
進階
控制表格設定
-
控制表格結構描述:若您不想在來源結構描述 (預設) 或在目標結構描述中建立,請指定控制表格的目標結構描述。
資訊備註許可的結構描述名稱長度上限為 128 個字元。 - 在表格空間中建立目標控制表格:若複寫目標是 Oracle,請指定您要建立目標控制表格的表格空間。若您沒有在此欄位中輸入任何資訊,將會在目標資料庫的預設表格空間中建立表格。
- 為表格空間中的目標控制表格建立索引:若複寫目標是 Oracle,請指定您要建立控制表格索引的表格空間。若您沒有在此欄位中輸入任何資訊,將會在與控制表格相同的表格空間中建立索引。
- 複寫歷史記錄時段 (分鐘):複寫歷史記錄 控制表格中每個時段的長度。預設為 5 分鐘。
控制表格選項
選取您要在目標平台建立的控制表格:
邏輯名稱 | 目標中的名稱 |
---|---|
套用例外情況 | attrep_apply_exceptions |
複寫狀態 | attrep_status |
暫停的表格 | attrep_suspended_tables |
複寫歷史記錄 | attrep_history |
DDL 歷史記錄 |
attrep_ddl_history 資訊備註
僅下列目標平台支援 DDL 歷史記錄表格:
|
如需更多關於控制表格的資訊,請參閱 控制表格。
完整載入
基本
若目標表格已存在:從清單中選取下列內容之一,以決定您要如何處理以完整載入啟動來載入目標:
只有在來源端點支援這類操作時,捨棄或截斷目標表格的選項才會相關。
-
捨棄並建立表格:會捨棄表格並在其位置建立新的表格。
資訊備註不會捨棄複寫任務控制表格。不過,若載入關聯的任務,也會從 attrep_suspended_tables 控制表格刪除任何已捨棄的暫停表格。
-
在載入之前截斷:會截斷資料,而不影響表格中繼資料。請注意,若選取此選項,啟用在完整載入完成之後建立主要金鑰或唯一索引選項不會有影響。
資訊備註若 Microsoft Fabric 是目標平台,則不受支援。 - 忽略:將不會影響目標表格的現有資料和中繼資料。新的資料將會新增至表格。
進階
效能微調
若資料複寫過低,調整下列參數可能會改善效能。
- 表格數量上限:輸入一次載入到目標中的表格數量上限。預設值為 5。
-
交易一致性逾時 (秒):輸入在開始完整載入操作之前複寫任務應等待開放的交易關閉的秒數。預設值為 600 (10 分鐘)。複寫任務將會在達到逾時值之後開始完整載入,即使有開放的交易也是如此。
資訊備註若要複寫完整載入開始時開放但僅在達到逾時值之後認可的交易,您需要載入目標表格。 - 在完整載入期間認可速率:可以一起傳輸的事件數量上限。預設值為 10000。
完整載入完成之後
您可以設定任務以在完整載入完成之後自動停止。若您需要在任務的套用變更 (即 CDC) 階段開始之前對目標表格執行 DBA 操作,這很實用。
在完整載入期間,會快取在來源表格執行的任何 DML 操作。完整載入完成時,快取的變更會自動套用至目標表格 (只要停用以下描述的套用快取變更之前/之後選項即可)。
- 建立主要金鑰或唯一索引:若您想要在完整載入完成之前,對目標延遲主要金鑰或唯一索引建立,請選取此選項。
- 停止任務: 資訊備註
在下列情況,這些設定無法使用:
- 從 SaaS 應用程式來源複寫 (因為沒有快取的事件)
- 複寫至資料倉庫目標
套用快取變更之前:選取以在完整載入完成之後停止任務。
套用快取變更之後:選取以在資料於任務中的所有表格取得一致後停止任務。
資訊備註設定要在完整載入完成之後停止的任務,請注意下列事項:
- 任務不會在完整載入完成當下停止。這只會在擷取第一個變更批次之後停止 (因為這是觸發任務停止的事項)。這可能需要一些時間,視來源資料庫的更新頻率而定。任務停止後,變更將不會套用至目標,直到繼續任務為止。
- 選擇套用快取變更之前可能會影響效能,因為快取的變更只會在最後一個表格完成完整載入之後套用至表格 (即使是已完成完整載入的表格仍是如此)。
- 若選取此選項且在完整載入流程期間 (在完整載入和套用變更任務) 對來源表格之一執行 DDL,複寫任務將會載入表格。這明確表示,對來源表格執行的任何 DML 操作將會在任務停止之前複寫到目標。
用於初始載入
從 SaaS 應用程式來源移動資料時,您可以設定如何執行初始完整載入:
使用快取的資料 |
此選項可讓您使用透過所選的完整資料掃描產生中繼資料時讀取的快取資料。 這會對 API 使用和配額產生較少的負荷,因為已從來源讀取資料。可以透過變更資料擷取 (CDC) 選取自初始資料掃描以來的任何變更。 |
從來源載入資料 |
此選項從資料來源執行新的載入。如有以下情況,此選項很實用:
|
套用變更
只有在啟用套用變更複寫模式時,才能使用這些設定。
基本
將 DDL 變更套用至目標表格
下列選項決定在對應來源表格上執行的 DDL 操作是否也要在目標表格上執行。
- 捨棄表格: 選取以在捨棄來源表格時捨棄目標表格。
-
截斷表格: 選取以在截斷來源表格時截斷目標表格。
資訊備註若 Microsoft Fabric 是目標平台,則不受支援。 - 改變表格:選取以在改變來源表格時改變目標表格。
變更處理微調
-
將批次變更同時套用至多個表格:從多個來源表格套用變更時,選取此選項可能會改善效能。
資訊備註只有在下列情況下,才支援此選項:
- 套用變更模式設定為批次最佳化。如需詳細資訊,請參閱 一般。
- 複寫目標不是 MySQL、PostgreSQL、Oracle 和 Google BigQuery。
-
表格數量上限:要同時套用批次變更的表格數量上限。預設為五,上限為 50,下限為二。
若啟用將批次變更同時套用至多個表格選項,則下列限制適用:
-
環境和表格錯誤的任務錯誤處理政策預設將會不變,但資料錯誤和套用衝突錯誤的預設將如下:
- 資料錯誤:
- 資料截斷錯誤:記錄檔記錄至例外表格
- 其他資料錯誤:暫停表格
- 套用衝突錯誤:
- 刪除:忽略記錄
插入:更新現有的目標記錄
資訊備註這與 Snowflake 目標無關 (因為 Snowflake 不支援主要金鑰)。- 更新:忽略記錄
- 呈報動作:
- 不支援資料錯誤和套用衝突的呈報動作。
- 不支援 attrep_apply_exception 控制表格。
- 對於資料錯誤:
- 將記錄記錄到例外表格選項僅可用於資料截斷錯誤。
- 沒有忽略選項。
- 對於套用衝突:
- 將記錄記錄到例外表格選項無法使用。
- 忽略選項僅可用於找不到記錄以套用更新套用衝突。
- 資料錯誤:
另請參見:處理時發生錯誤。
-
根據變更處理陳述式將套用的變更數量限制為:若要限制單一變更處理陳述式中套用的變更數量,選取此核取方塊,然後選擇性變更預設值。預設值為 10,000。
資訊備註只有下列目標才支援此選項:MySQL、PostgreSQL、Oracle 和 Google BigQuery。
進階
請參閱 變更處理微調。
儲存變更
只有在啟用儲存變更複寫模式時,才能使用這些設定。
基本
DDL 選項
選取下列選項之一,以決定如何在來源表格處理 DDL 操作:
- 套用至變更表格:對來源表格的 DDL 操作 (例如新增的欄) 只會套用至對應的變更表格。
- 忽略:將會忽略對來源表格的所有 DDL 操作。
進階
更新時
選取儲存之前和之後影像以儲存更新前的資料和更新後的資料。若未選取,只會儲存更新後的資料。
變更表格建立
以下區段描述在變更表格中儲存變更時可用的選項。
- 尾碼:為所有變更表格指定要作為尾碼使用的字串。預設值為 __ct。變更表格名稱是附加尾碼的目標表格名稱。例如,使用預設值時,變更表格的名稱將會是 HR__ct。
- 標頭欄前置詞:為所有變更表格標頭欄指定要作為前置詞使用的字串。預設值是 header__。例如,使用預設值時,標頭欄 stream_position 將會稱為 header__stream_position。
如需更多關於變更表格的資訊,請參閱 使用變更表格。
若完整載入開始時存在變更表格:選取下列內容之一,以決定如何在完整載入複寫開始時載入變更表格:
- 捨棄並建立變更表格:會捨棄表格並在其位置建立新的表格。
-
在現有變更表格中刪除舊的變更並儲存新的變更:會截斷並新增資料,而不影響表格中繼資料。
資訊備註若 Microsoft Fabric 是目標平台,則不受支援。 - 在現有變更表格中保留舊的變更並儲存新的變更:不會影響現有變更表格的資料和中繼資料。
表格標頭欄
變更表格標頭欄提供關於變更處理操作的資訊,例如操作類型 (例如插入)、認可時間等。若您不需要此所有資訊,可以設定 移動 任務,以建立含所選標頭欄 (或完全不含) 的變更表格,藉此降低在目標資料庫中的所占空間。
如需標頭欄的描述,請參閱 變更表格。
處理時發生錯誤
基本
套用衝突
在套用插入時複製金鑰:選取與插入操作有衡突時要採取哪個動作。
-
忽略:任務會繼續並忽略錯誤。
-
更新現有的目標記錄:會更新主要金鑰與插入的來源記錄相同的目標記錄。
- 將記錄記錄到例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
-
暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
- 停止任務:任務會停止,需要手動干預。
找不到套用更新的記錄:選取與更新操作有衡突時要採取哪個動作。
- 忽略:任務會繼續並忽略錯誤。
-
插入遺失的目標記錄:遺失的目標記錄將會插入到目標表格中。若來源端點是 Oracle,選取此選項需要補充記錄,以便為所有來源表格欄啟用。
- 將記錄記錄到例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
-
暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
- 停止任務:任務會停止,需要手動干預。
進階
僅在套用變更複寫模式 (而非完整載入) 中支援資料錯誤處理。
資料錯誤
對於資料截斷錯誤:選取當截斷發生於一個或多個特定記錄時,您想要發生的事項。您可以從清單中選取下列內容之一:
- 忽略:任務會繼續並忽略錯誤。
- 將記錄記錄至例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
- 暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料
- 停止任務:任務會停止,需要手動干預。
對於其他資料錯誤:選取當錯誤發生於一個或多個特定記錄時,您想要發生的事項。您可以從清單中選取下列內容之一:
- 忽略:任務會繼續並忽略錯誤。
- 將記錄記錄至例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
- 暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料
- 停止任務:任務會停止,需要手動干預。
在達到其他資料錯誤 (每個表格) 時呈報錯誤處理:選取此核取方塊,以在非截斷資料錯誤數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:選擇呈報錯誤處理時應發生什麼事。請注意,可用動作取決於從上述對於其他資料錯誤下拉式清單中選取的動作。
-
暫停表格 (預設):任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會已移動其資料。
資訊備註行為根據變更處理模式而異:
-
在交易套用模式中,將不會已移動上次變更。
-
在批次最佳化套用模式中,可能有完全不會已移動資料或僅部分已移動資料的情況。
-
- 停止任務:任務會停止,需要手動干預。
- 將記錄記錄至例外表格:任務會繼續,記錄會寫入到例外表格。
表格錯誤
遇到表格錯誤時:從下拉式清單選取下列內容之一:
- 暫停表格 (預設):任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料
- 停止任務:任務會停止,需要手動干預。
在達到表格錯誤 (每個表格) 時呈報錯誤處理:選取此核取方塊,以在表格錯誤數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:表格錯誤的呈報政策設定為停止任務且無法變更。
套用衝突
- 忽略:任務會繼續並忽略錯誤。
- 將記錄記錄到例外表格:任務會繼續,記錄會寫入到例外表格。
- 暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
- 停止任務:任務會停止,需要手動干預。
在套用衝突達到時呈報錯誤處理 (每個表格):選取此核取方塊,以在套用衝突數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:選擇呈報錯誤處理時應發生什麼事:
- 將記錄記錄到例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
-
暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
資訊備註行為根據變更處理模式而異:
-
在交易套用模式中,將不會複寫上次變更
-
在批次最佳化套用模式中,情況可能是沒有資料複寫或資料複寫是局部處理。
-
-
停止任務:任務會停止,需要手動干預。
環境錯誤
-
重試計數上限:選取此選項,然後指定在可修復的環境錯誤發生時重試任務的嘗試次數上限。在重試任務達到指定次數之後,任務會停止,需要手動干預。
若絕對不要重試任務,清除核取方塊或指定「0」。
若要重試任務無限次數,指定「-1」
-
重試嘗試之間的間隔 (秒):使用計數器以選取或輸入系統在每次嘗試重試任務之間等待的秒數。
有效值為 0-2,000。
-
- 對長時間中斷增加重試間隔:選取此核取方塊以對長時間中斷增加重試間隔。若啟用此選項, 會加倍每次重試嘗試之間的間隔,直到達到重試間隔上限為止 (並根據指定的間隔上限繼續重試)。
- 重試間隔上限 (秒):在啟用對長時間中斷增加重試間隔選項時,使用計數器以選取或輸入每次嘗試重試任務之間等待的秒數。有效值為 0-2,000。
變更處理微調
交易卸載微調
-
對磁碟的卸載交易進行中,條件是:
複寫任務通常會將交易資料保留在記憶體中,直到對來源和/或目標完全認可為止。不過,大於配置記憶體或未在指定期限內認可的交易將會卸載到磁碟。
- 交易記憶體大小超過 (MB):在卸載到磁碟之前,所有交易可以在記憶體中占用的大小上限。預設值為 1024。
- 交易期間超過 (秒):在卸載到磁碟之前,每筆交易可以在記憶體中停留的時間上限。持續時間是從複寫任務開始擷取交易的時間計算。預設值為 60。
批次微調
只有在套用模式設定為批次最佳化時,才能使用下列設定。
- 以間隔套用批次變更:
-
大於:每次應用程式批次變更之間等待的時間長度下限。預設值為 1。
增加大於值會減少變更套用至目標的頻率,同時增加批次大小。若將變更套用至為處理大型批次而最佳化的目標資料庫,這可以改善效能。
- 小於:每次應用程式批次變更之間等待的時間長度上限 (宣告逾時之前)。換言之,即可接受的延遲上限。預設值為 30。此值決定套用變更之前、達到大於值之後要等待的時間長度上限。
-
在處理記憶體超過時強制套用批次 (MB):要在批次最佳化套用模式下用於預先處理的記憶體量上限。預設值為 500。
如需最大批次大小,請將此值設定為您可以配置到複寫任務的最高記憶體量。若將變更套用至為處理大型批次而最佳化的目標資料庫,這可以改善效能。
間隔
-
讀取變更間隔 (分鐘)
設定從來源讀取變更之間的間隔,單位為分鐘。有效範圍為 1 至 1440。
資訊備註只有在下列情況下,此選項才能使用:
- 使用 資料移動閘道
- 從 SaaS 應用程式來源登陸資料
- 會透過變更資料擷取 (CDC) 更新方法定義任務
雜項微調
陳述式快取大小 (陳述式數量)
要儲存在伺服器以供之後執行的所準備之陳述式數量上限 (將變更套用至目標時)。預設為 50。上限為 200。
在目標資料庫中儲存任務復原資料
選取此選項以將任務特定復原資訊儲存在目標資料庫中。選取此選項後,複寫任務會在目標資料庫中建立名稱為 attrep_txn_state 的表格。若 資料移動閘道資料資料夾中的檔案損毀,或者若包含資料資料夾的儲存裝置故障,則此表格包含可用來復原任務的交易資料。
使用 SQL 合併套用變更
若未選取此選項,複寫任務將會為淨變更表格中每種不同的變更類型,執行大量獨立的 INSERT、UPDATE 和 DELETE 陳述式。
雖然此方法效率很高,但使用支援使用 SQL MERGE 套用變更的端點時,啟用此選項更有效率。
這是因為下列原因:
- 這將每個表格執行的 SQL 陳述式數量從三個減少為一個。大型、不可變、基於檔案的雲端資料庫 (例如 Google Cloud BigQuery) 中,大部分的 UPDATE 操作涉及重新寫入受影響的檔案。透過這類操作,將每個表格的 SQL 陳述式從三個減少為一個非常重要。
- 目標資料庫只需要掃描淨變更表格一次,大幅降低 I/O。
最佳化插入
若同時選取使用 SQL MERGE 套用變更和最佳化插入選項,且變更僅包括 INSERT,則複寫任務將會執行 INSERT,而非使用 SQL MERGE。請注意,由於這通常會改善效能並藉此降低成本,這也可能會在目標資料庫中產生複製記錄。
- 使用 SQL MERGE 套用變更和最佳化插入選項僅可用於透過下列目標端點設定的任務:
- Google Cloud BigQuery
- Databricks
- Snowflake
- 下列來源端點不支援使用 SQL MERGE 套用變更和最佳化插入選項:
- Salesforce
- Oracle
-
若啟用使用 SQL MERGE 套用變更選項:
- 非重大資料錯誤或無法復原的資料錯誤將會作為表格錯誤來處理。
- 透過下列設定,將無法編輯套用衝突錯誤處理政策。
- 找不到套用刪除的記錄:忽略記錄
在套用插入時複製金鑰:更新現有的目標記錄
資訊備註若也選取了最佳化插入選項,在套用 INSERT 時複寫金鑰選項將設定為允許在目標中複寫。- 找不到套用更新的記錄:插入遺失的目標記錄
- 呈報動作:記錄檔記錄至例外表格
- 下列對於其他資料錯誤資料錯誤處理政策選項將無法使用:
- 忽略記錄
- 記錄檔記錄至例外表格
- 只會在最終目標表格執行實際 SQL MERGE 操作。將會在中繼變更表格執行 INSERT 操作 (若啟用套用變更或儲存變更複寫模式)。
交易套用
只有在套用模式設定為交易時,才能使用下列設定。
-
每個交易的變更數量下限:要在每個交易中納入的變更數量下限。預設值為 1000。
資訊備註若變更數量等於或大於每個交易的最低變更數量值,或者若達到批次逾時值 (見下文) (以先發生者為主),複寫任務會將變更套用至目標。因為套用至目標的變更頻率由這兩個參數控制,對來源記錄的變更可能不會立即反映在目標記錄中。 - 套用之前的批次交易時間上限 (秒):宣告逾時之前批次收集交易的時間上限。預設值為 1。
字元替代
您可以替代或刪除目標資料庫中的來源字元,以及/或您可以替代或刪除所選字元集合不支援的來源字元。
必須指定所有字元作為 Unicode 字碼指標。
- 也會在控制表格執行字元替代。
將會透過表格儲存格右上方的紅色三角形指示無效的值。將滑鼠游標暫留在三角形上方,將會顯示錯誤訊息。
將會在字元替代完成之後,執行為任務定義的任何表格層級或全域轉換。
會在替代或刪除所選字元集合不支援的來源字元表格中定義的替代動作之前,執行替代或刪除來源字元表格中定義的替代動作。
- 字元替代不支援 LOB 資料類型。
替代或刪除來源字元
使用替代或刪除來源字元表格,以定義更換特定來源字元。例如,若 Unicode 字元表示法在來源和目標平台不同,這可能會很實用。例如,在 Linux,Shift_JIS 字元集合中的減號字元以 U+2212 表示,但在 Windows 則以 U+FF0D 表示。
至 | 進行此 |
---|---|
定義替代動作。 |
|
編輯指定的來源或目標字元 | 按一下列末尾的 ,並選取編輯。 |
從表格中刪除項目 | 按一下列末尾的 ,並選取刪除。 |
替代或刪除所選字元集合不支援的來源字元
使用字元集合不支援的來源字元表格,為所選字元集合不支援的所有字元定義單一替換字元。
至 | 進行此 |
---|---|
定義或編輯替代動作。 |
|
停用替代動作。 | 從字元集合下拉式清單中選取空白項目。 |
更多選項
不會在 UI 中暴露這些選項,因為這僅與特定版本或環境相關。因此,請勿設定這些選項,除非 Qlik 支援或產品文件明確指示這麼做。
若要設定選項,只要在新增特徵名稱欄位中複製選項並按一下新增即可。然後根據您收到的說明設定值或啟用選項。
在不使用 資料移動閘道 時排程任務
Qlik Talend Cloud 啟動器 訂閱不支援 資料移動閘道,可透過其他訂閱層級選用。不使用 資料移動閘道 時,不支援幾乎即時的 CDC (變更資料擷取)。您可設定排程間隔,以讓目標資料保持在最新狀態。排程決定透過來源資料集變更更新目標資料集的頻率。排程決定更新頻率,而資料集類型則決定更新方法。若來源資料集支援 CDC,只會複寫來源資料的變更並套用至對應的目標表格。若來源資料集不支援 CDC (例如檢視畫面),則會將所有來源資料載入到對應的目標表格,以套用變更。若有些來源資料集支援 CDC,而有些不支援,將會建立兩個獨立的子任務 (假設選取了套用變更或儲存變更複寫選項):一個用於載入不支援 CDC 的資料集,另一個用於對支援 CDC 的資料集擷取變更。在此情況下,為了確保資料一致性,強烈建議為兩個子任務設定相同的排程。
如需關於根據資料來源類型和訂閱層級的最低排程間隔的資訊,請參閱 最低允許的排程間隔。
若要變更排程:
開啟專案,然後進行下列事項之一:
- 在任務檢視中,按一下複寫任務上的 並選取排程。
- 在管道檢視中,按一下複寫任務上的 並選取排程。
- 開啟複寫任務並按一下排程工具列按鈕。
- 根據需求變更排程設定,然後按一下確定。