複寫設定
您可為資料複寫任務進行設定。
-
開啟複寫任務並在工具列中按一下設定。
就會開啟 設定:<Task-Name> 對話方塊。可用設定如下所述。
一般
在此索引標籤中,您可以變更複寫模式、暫存設定 (如可用) 以及將變更套用至目標的模式。
複寫模式
有下列複寫模式可用:
-
完整載入:將資料從所選來源表格載入到目標平台,並建立目標表格 (如有必要)。完整載入會在任務開始時自動發生,但如有需要,也可以手動執行。例如,如果您需要將更新複寫到檢視 (未在 CDC 期間擷取) 或您正在從不支援 CDC 的資料來源複寫,則需要手動完整載入。
-
套用變更:以對來源表格所做的任何變更更新目標表格。
-
儲存變更:在變更表格 (每個來源表格一個)中將變更儲存至來源表格。
如需詳細資訊,請參閱儲存變更。
使用 資料移動閘道 時,會幾乎即時地從來源擷取變更。在沒有 資料移動閘道 的情況下工作時 (例如透過 Qlik Talend Cloud 啟動器 訂閱或選取無時),會根據排程器設定擷取變更。如需詳細資訊,請參閱 複寫設定。
若您選取儲存變更或套用變更,且來源資料包含不支援 CDC 或檢視的表格,將會建立兩個資料管道。一個管道用於支援 CDC 的表格,而另一個管道用於僅支援完整載入的所有其他表格和檢視。
載入方法
複寫到 Snowflake 時,您可以選擇以下載入方法之一:
-
批次載入 (預設)
如果選取批次載入,您將能夠在資料上傳索引標籤中調整載入參數。
-
Snowpipe 串流
資訊備註只有在滿足以下條件時,才可選取 Snowpipe 串流:
- 已啟用儲存變更複寫模式,而沒有套用變更。
- Snowflake 連接器中的驗證機制 設定為金鑰組。
- 如果您使用 資料移動閘道,則需要版本 2024.11.45 或更高版本。
如果您選取 Snowpipe 串流,請確保您熟悉使用此方法時的限制和考慮事項。此外,如果您選取 Snowpipe 串流,然後啟用套用變更複寫模式或停用儲存變更,則載入方法將自動切換回批次載入。
選擇 Snowpipe 串流而不是批次載入的主要原因是:
-
成本較低:由於 Snowpipe 串流不使用 Snowflake 倉庫,因此操作成本應該會便宜許多,不過這取決於您的具體使用情況。
-
減少延遲:由於資料直接串流到目標表格 (而不是透過暫存),從資料來源複寫到目標的速度應該會更快。
連線至暫存區域
複寫至下列資料倉庫時,您需要設定暫存區域。會先在暫存區域中處理並準備資料,再傳輸至倉庫。
選取現有的暫存區域,或按一下新建以定義新的暫存區域,並按照 連線至雲端儲存空間 中的說明。
若要編輯連線設定,按一下編輯。若要測試連線 (建議),按一下測試連線。
如需資料倉庫支援哪些暫存區域的資訊,請參閱 目標平台使用案例和支援版本 中的作為暫存區域受到支援欄。
套用變更模式
變更會使用下列方法之一套用至目標表格:
- 批次最佳化:此為預設。若選取此選項,會在批次中套用變更。會發生前置處理動作,以最有效率的方式將交易組成批次。
- 交易:選取此選項以認可順序個別套用每筆交易。在此情況下,會為所有表格確保嚴格參考完整性。
資料上傳
只有在複寫至資料倉庫目標時,才會顯示此索引標籤。此外,此索引標籤中的某些設定僅與 Snowflake 相關。
與所有資料倉庫目標相關
檔案大小上限
檔案在關閉之前可達到的大小上限。較小的檔案可能上傳得更快 (取決於網路),並且可在結合平行執行選項使用時改善效能。不過,以小檔案叢集資料庫通常被視為不良做法。
僅與 Snowflake 目標相關
在一般索引標籤中,您可以選取要使用批次載入或 Snowpipe 串流將資料載入到 Snowflake。若選取 Snowpipe 串流,將不會顯示資料上傳索引標籤。若選取批次載入,將可使用以下設定:
-
最大檔案大小 (MB):與初始完整載入和 CDC 相關。檔案在載入至目標之前可達到的大小上限。如您遇到效能問題,請嘗試調整此參數。
-
要批次載入的檔案數量:僅與初始完整載入相關。要以單一批次載入的檔案數量。如您遇到效能問題,請嘗試調整此參數。
如需批次載入和 Snowpipe 串流載入方法的描述,請參閱 一般。
中繼資料
基本
目標表格結構描述
目標上的結構描述,若您不想使用來源表格結構描述 (或者若來源資料庫中沒有結構描述),來源表格將會複寫到這裡。
資訊備註複寫至 Oracle 目標時,預設目標表格結構描述為「系統」。也請注意,若您讓此欄位空白 (在此情況下,將會使用來源結構描述),您必須確認來源結構描述已存在於目標。否則,任務將會失敗。資訊備註許可的結構描述名稱長度上限為 128 個字元。
JSON 欄對應
將相容的來源 JSON 欄對應至目標的 JSON 欄
若您使用 資料移動閘道 存取資料來源,則需要版本 2024.11.70 或更高版本。
僅支援 SaaS 應用程式預覽連接器。
選取此選項時,來源上的 JSON 欄位將自動對應至目標上的 JSON 欄位。
此選項的狀態和可見性由下列因素決定:
新任務:如果來源和目標都支援 JSON 資料類型,此選項將預設啟用。
現有任務:此選項預設為停用,即使來源和目標都支援 JSON 資料類型。這是為了保持與下游處理程序(例如轉換)的向後相容性,這些程序預期目標資料為 STRING 格式(這是舊版行為)。您可以停用該選項,也可以編輯下游流程,使之相容於 JSON 格式,然後啟用此選項。
新增和現有任務:如果只有來源支援 JSON 資料類型,此選項將不可見。如果稍後階段將 JSON 支援新增至目標,該選項將會顯示但保持停用。這是為了保留與下游程序(例如轉換)的向下相容性,這些程序預期目標資料為字串格式(這是舊版行為)。
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 歷史記錄表格: 資訊備註Amazon Redshift、Amazon S3、Google Cloud Storage 和 Snowflake 需要 資料移動閘道 2024.11.14 或更高版本。
|
如需更多關於控制表格的資訊,請參閱 控制表格。
完整載入
基本
這些設定會在資料任務準備階段期間套用。
如果目標表格已存在:選取下列其中一項,以決定資料應如何載入至目標表格:
只有在來源端點支援這類操作時,捨棄或截斷目標表格的選項才會相關。
捨棄並建立表格:會捨棄目標表格並在其位置建立新的表格。
資訊備註不會捨棄複寫任務控制表格。不過,若載入關聯的任務,也會從 attrep_suspended_tables 控制表格刪除任何已捨棄的暫停表格。
在載入之前截斷:會截斷資料,而不影響目標表格中繼資料。請注意,若選取此選項,啟用在完整載入完成之後建立主要金鑰或唯一索引選項不會有影響。
資訊備註若 Microsoft Fabric 是目標平台,則不受支援。- 忽略:將不會影響目標表格的現有資料和中繼資料。新的資料將會新增至表格。
進階
效能微調
若資料複寫過低,調整下列參數可能會改善效能。
- 表格數量上限:輸入一次載入到目標中的表格數量上限。預設值為 5。
交易一致性逾時 (秒):輸入在開始完整載入操作之前複寫任務應等待開放的交易關閉的秒數。預設值為 600 (10 分鐘)。複寫任務將會在達到逾時值之後開始完整載入,即使有開放的交易也是如此。
資訊備註若要複寫完整載入開始時開放但僅在達到逾時值之後認可的交易,您需要載入目標表格。- 在完整載入期間認可速率:可以一起傳輸的事件數量上限。預設值為 10000。
完整載入完成之後
您可以設定任務以在完整載入完成之後自動停止。若您需要在任務的套用變更 (即 CDC) 階段開始之前對目標表格執行 DBA 操作,這很實用。
在完整載入期間,會快取在來源表格執行的任何 DML 操作。完整載入完成時,快取的變更會自動套用至目標表格 (只要停用以下描述的套用快取變更之前/之後選項即可)。
- 建立主要金鑰或唯一索引:若您想要在完整載入完成之前,對目標延遲主要金鑰或唯一索引建立,請選取此選項。
- 停止任務: 資訊備註
在下列情況,這些設定無法使用:
- 從 SaaS 應用程式來源複寫 (因為沒有快取的事件)
- 複寫至資料倉庫目標
套用快取變更之前:選取以在完整載入完成之後停止任務。
套用快取變更之後:選取以在資料於任務中的所有表格取得一致後停止任務。
資訊備註設定要在完整載入完成之後停止的任務,請注意下列事項:
- 任務不會在完整載入完成當下停止。這只會在擷取第一個變更批次之後停止 (因為這是觸發任務停止的事項)。這可能需要一些時間,視來源資料庫的更新頻率而定。任務停止後,變更將不會套用至目標,直到繼續任務為止。
- 選擇套用快取變更之前可能會影響效能,因為快取的變更只會在最後一個表格完成完整載入之後套用至表格 (即使是已完成完整載入的表格仍是如此)。
- 若選取此選項且在完整載入流程期間 (在完整載入和套用變更任務) 對來源表格之一執行 DDL,複寫任務將會載入表格。這明確表示,對來源表格執行的任何 DML 操作將會在任務停止之前複寫到目標。
用於初始載入
從 SaaS 應用程式來源移動資料時,您可以設定如何執行初始完整載入:
| 使用快取的資料 | 此選項可讓您使用透過所選的完整資料掃描產生中繼資料時讀取的快取資料。 這會對 API 使用和配額產生較少的負荷,因為已從來源讀取資料。可以透過變更資料擷取 (CDC) 選取自初始資料掃描以來的任何變更。 |
| 從來源載入資料 | 此選項從資料來源執行新的載入。如有以下情況,此選項很實用:
|
套用變更
只有在啟用套用變更複寫模式時,才能使用這些設定。
基本
將 DDL 變更套用至目標表格
下列選項決定在對應來源表格上執行的 DDL 操作是否也要在目標表格上執行。
- 捨棄表格: 選取以在捨棄來源表格時捨棄目標表格。
截斷表格: 選取以在截斷來源表格時截斷目標表格。
資訊備註若 Microsoft Fabric 是目標平台,則不受支援。- 改變表格:選取以在改變來源表格時改變目標表格。
變更處理微調
將批次變更同時套用至多個表格:從多個來源表格套用變更時,選取此選項可能會改善效能。
表格數量上限:要同時套用批次變更的表格數量上限。預設為五,上限為 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。
呈報動作:選擇呈報錯誤處理時應發生什麼事。請注意,可用動作取決於從上述對於其他資料錯誤下拉式清單中選取的動作。
暫停表格 (預設):任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會已移動其資料。
資訊備註行為根據變更處理模式而異:
在交易套用模式中,將不會已移動上次變更。
在批次最佳化套用模式中,可能有完全不會已移動資料或僅部分已移動資料的情況。
- 停止任務:任務會停止,需要手動干預。
- 將記錄記錄至例外表格:任務會繼續,記錄會寫入到例外表格。
表格錯誤
傳回表格錯誤前的重試次數
此選項可讓您控制何時觸發表格錯誤處理原則。依預設,遇到表格錯誤後,表格將會暫停或工作將會在三次重試後停止 (根據選取的動作)。有時,會因為 SaaS 應用程式的計劃性維護而發生表格錯誤。在這些情況下,預設的重試次數可能不足以在觸發表格錯誤處理原則之前完成維護。這也取決於工作的排程間隔,因為每次工作執行時都會執行一次重試。因此,例如,如果您排程工作每小時執行一次,且 SaaS 應用程式在工作開始執行時因維護而離線,則預設的三次重試將允許 SaaS 應用程式離線長達三小時,而不會觸發表格錯誤處理原則。更長的維護期間將需要您增加重試次數 (或變更排程),以防止觸發表格錯誤處理原則。
總而言之,如果您知道您的 SaaS 應用程式會定期維護,最佳做法是根據排程增加重試次數,以便在不觸發表格錯誤處理原則的情況下完成維護。
此選項將僅顯示給設定為 Lite 或 Standard SaaS 應用程式連接器的工作。
如果您使用 資料移動閘道,則需要版本 2024.11.70 或更高版本。
遇到表格錯誤時:從下拉式清單選取下列內容之一:
- 暫停表格 (預設):任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料
- 停止任務:任務會停止,需要手動干預。
在表格錯誤達到時呈報錯誤處理 (每個表格):選取此核取方塊,以在表格錯誤數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:表格錯誤的呈報政策設定為停止任務且無法變更。
套用衝突
- 忽略:任務會繼續並忽略錯誤。
- 將記錄記錄到例外表格:任務會繼續,記錄會寫入到例外表格。
- 暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
- 停止任務:任務會停止,需要手動干預。
在套用衝突達到時呈報錯誤處理 (每個表格):選取此核取方塊,以在套用衝突數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:選擇呈報錯誤處理時應發生什麼事:
- 將記錄記錄到例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
資訊備註行為根據變更處理模式而異:
在交易套用模式中,將不會複寫上次變更
在批次最佳化套用模式中,情況可能是沒有資料複寫或資料複寫是局部處理。
停止任務:任務會停止,需要手動干預。
環境錯誤
重試計數上限:選取此選項,然後指定在可修復的環境錯誤發生時重試任務的嘗試次數上限。在重試任務達到指定次數之後,任務會停止,需要手動干預。
若絕對不要重試任務,清除核取方塊或指定「0」。
若要重試任務無限次數,指定「-1」
重試嘗試之間的間隔 (秒):使用計數器以選取或輸入系統在每次嘗試重試任務之間等待的秒數。
有效值為 0-2,000。
- 對長時間中斷增加重試間隔:選取此核取方塊以對長時間中斷增加重試間隔。若啟用此選項, 會加倍每次重試嘗試之間的間隔,直到達到重試間隔上限為止 (並根據指定的間隔上限繼續重試)。
- 重試間隔上限 (秒):在啟用對長時間中斷增加重試間隔選項時,使用計數器以選取或輸入每次嘗試重試任務之間等待的秒數。有效值為 0-2,000。
變更處理微調
交易卸載微調
對磁碟的卸載交易進行中,條件是:
複寫任務通常會將交易資料保留在記憶體中,直到對來源和/或目標完全認可為止。不過,大於配置記憶體或未在指定期限內認可的交易將會卸載到磁碟。
- 交易記憶體大小超過 (MB):在卸載到磁碟之前,所有交易可以在記憶體中占用的大小上限。預設值為 1024。
- 交易期間超過 (秒):在卸載到磁碟之前,每筆交易可以在記憶體中停留的時間上限。持續時間是從複寫任務開始擷取交易的時間計算。預設值為 60。
批次微調
此索引標籤中的設定由套用變更模式決定。
只有在「套用模式」設定為「批次最佳化」時才能使用的設定
- 以間隔套用批次變更:
大於:每次應用程式批次變更之間等待的時間長度下限。預設值為 1。
增加大於值會減少變更套用至目標的頻率,同時增加批次大小。若將變更套用至為處理大型批次而最佳化的目標資料庫,這可以改善效能。
- 小於:每次應用程式批次變更之間等待的時間長度上限 (宣告逾時之前)。換言之,即可接受的延遲上限。預設值為 30。此值決定套用變更之前、達到大於值之後要等待的時間長度上限。
在處理記憶體超過時強制套用批次 (MB):要在批次最佳化套用模式下用於預先處理的記憶體量上限。預設值為 500。
如需最大批次大小,請將此值設定為您可以配置到複寫任務的最高記憶體量。若將變更套用至為處理大型批次而最佳化的目標資料庫,這可以改善效能。
只有在「套用模式」設定為「交易」時才能使用的設定
只有在「交易」套用模式下,才能使用下列設定。請注意,複寫到 Snowflake 且載入方法是 Snowpipe 串流時,「交易」是唯一可用的套用模式 (因此無法選取)。
每個交易的變更數量下限:要在每個交易中納入的變更數量下限。預設值為 1000。
資訊備註若變更數量等於或大於每個交易的變更數量下限值,或者若達到套用之前的批次交易時間上限 (秒) 值 (以先發生者為主), 會將變更套用至目標。因為套用至目標的變更頻率由這兩個參數控制,對來源記錄的變更可能不會立即反映在目標記錄中。
- 套用之前的批次交易時間上限 (秒):宣告逾時之前批次收集交易的時間上限。預設值為 1。
間隔
使用 SAP ODP 和 SaaS 應用程式 (精簡版) 連接器時的設定
讀取變更間隔 (分鐘)
設定從來源讀取變更之間的間隔,單位為分鐘。有效範圍為 1 至 1440。
使用 SAP OData 連接器時的設定
查看變更
根據差異擷取間隔:選取此選項時,資料任務會根據差異擷取間隔檢查變更。
資訊備註每個「回合」結束後,間隔就會開始。一個回合可定義為資料任務從來源表格讀取變更並將其傳送至目標所需的時間 (作為單一交易)。回合的長度會根據表格和變更的數量而異。因此,如果您指定 10 分鐘的間隔,而一個回合需要 4 分鐘,則檢查變更之間的實際時間將為 14 分鐘。差異擷取間隔:從您的系統中擷取差異的頻率。預設為每 60 秒一次。
依排程:選取此選項時,資料任務將擷取差異一次,然後停止。然後將依排程繼續執行。
資訊備註此選項僅在 CDC 週期之間的間隔為 24 小時或更長時間時才相關。如需排程資訊:
複寫專案中的「複寫資料任務」,請參閱 排程任務
雜項微調
陳述式快取大小 (陳述式數量)
要儲存在伺服器以供之後執行的所準備之陳述式數量上限 (將變更套用至目標時)。預設為 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 操作 (若啟用套用變更或儲存變更複寫模式)。
交易套用
複寫至資料倉庫目標或不使用 資料移動閘道 時,這些選項不相關,因為套用模式永遠是批次最佳化,但有一個例外情況。
對此的例外情況是複寫到 Snowflake 且載入方法 設定為 Snowpipe 串流時。
只有在交易套用模式下,才能使用下列設定。複寫到資料庫時,套用模式可以設定為批次最佳化或交易。不過,若複寫到 Snowflake 目標且載入方法設定為 Snowpipe 串流,則套用模式一律是交易,因此無法設定。
每個交易的變更數量下限:要在每個交易中納入的變更數量下限。預設值為 1000。
資訊備註若變更數量等於或大於每個交易的最低變更數量值,或者若達到批次逾時值 (見下文) (以先發生者為主),複寫任務會將變更套用至目標。因為套用至目標的變更頻率由這兩個參數控制,對來源記錄的變更可能不會立即反映在目標記錄中。- 套用之前的批次交易時間上限 (秒):宣告逾時之前批次收集交易的時間上限。預設值為 1。
結構描述演進
選取如何處理結構描述中以下類型的 DDL 變更。變更結構描述演進設定後,您必須重新準備任務。下表描述了哪些動作可用於支援的 DDL 變更。
| DDL 變更 | 套用至目標 | 忽略 | 暫停表格 | 停止任務 |
|---|---|---|---|---|
| 新增欄 | 是 | 是 | 是 | 是 |
| 變更欄資料類型 | 是 | 是 | 是 | 是 |
| 重新命名欄 | 是 | 否 | 是 | 是 |
| 重新命名表格 | 否 | 否 | 是 | 是 |
| 捨棄欄 | 是 | 是 | 是 | 是 |
| 捨棄表格 | 是 | 是 | 是 | 是 |
| 建立表格 如果您使用選取規則新增與模式相符的資料集,則會偵測到並新增符合該模式的新表格。 | 是 | 是 | 否 | 否 |
字元替代
您可以替代或刪除目標資料庫中的來源字元,以及/或您可以替代或刪除所選字元集合不支援的來源字元。
必須指定所有字元作為 Unicode 字碼指標。
- 也會在控制表格執行字元替代。
將會透過表格儲存格右上方的紅色三角形指示無效的值。將滑鼠游標暫留在三角形上方,將會顯示錯誤訊息。
將會在字元替代完成之後,執行為任務定義的任何表格層級或全域轉換。
會在替代或刪除所選字元集合不支援的來源字元表格中定義的替代動作之前,執行替代或刪除來源字元表格中定義的替代動作。
- 字元替代不支援 LOB 資料類型。
替代或刪除來源字元
使用替代或刪除來源字元表格,以定義更換特定來源字元。例如,若 Unicode 字元表示法在來源和目標平台不同,這可能會很實用。例如,在 Linux,Shift_JIS 字元集合中的減號字元以 U+2212 表示,但在 Windows 則以 U+FF0D 表示。
| 至 | 進行此 |
|---|---|
定義替代動作。 |
|
編輯指定的來源或目標字元 | 按一下列末尾的 |
從表格中刪除項目 | 按一下列末尾的 |
替代或刪除所選字元集合不支援的來源字元
使用字元集合不支援的來源字元表格,為所選字元集合不支援的所有字元定義單一替換字元。
| 至 | 進行此 |
|---|---|
定義或編輯替代動作。 |
|
停用替代動作。 | 從字元集合下拉式清單中選取空白項目。 |
更多選項
不會在 UI 中暴露這些選項,因為這僅與特定版本或環境相關。因此,請勿設定這些選項,除非 Qlik 支援或產品文件明確指示這麼做。
若要設定選項,只要在新增特徵名稱欄位中複製選項並按一下新增即可。然後根據您收到的說明設定值或啟用選項。
平行載入資料集區段
在完整載入期間,您可以將資料集分成多個平行載入的區段,以加速大型資料集的載入。表格可以按照資料範圍、所有分割、所有子分割或特定分割進行分割。
如需詳細資訊,請參閱平行複寫資料集區段。
排程任務
在以下使用案例中,您必須定義排程間隔,以使用對來源所做的變更更新目標:
- 在沒有 資料移動閘道 的情況下存取資料來源
- 使用 SaaS 應用程式預覽連接器。在建立連線對話方塊和線上說明中,預覽連接器以
按鈕指示。 - 當使用依排程選項從 SAP OData 來源擷取變更時。
排程決定透過來源資料集變更更新目標資料集的頻率。排程決定更新頻率,而資料集類型則決定更新方法。若來源資料集支援 CDC (變更資料擷取),只會複寫來源資料的變更並套用至對應的目標表格。若來源資料集不支援 CDC (例如檢視畫面),則會將所有來源資料載入到對應的目標表格,以套用變更。若有些來源資料集支援 CDC,而有些不支援,將會建立兩個獨立的子任務 (假設選取了套用變更或儲存變更複寫選項):一個用於載入不支援 CDC 的資料集,另一個用於對支援 CDC 的資料集擷取變更。在此情況下,為了確保資料一致性,強烈建議不要為兩個任務保持相同的排程間隔 (如果您決定將來變更更新頻率)。
如需關於根據資料來源類型和訂閱層級的最低排程間隔的資訊,請參閱 最低允許的排程間隔。
若要變更排程:
開啟專案,然後進行下列事項之一:
- 在任務檢視中,按一下複寫任務上的
並選取排程。
- 在管道檢視中,按一下複寫任務上的
並選取排程。
- 開啟複寫任務並按一下排程工具列按鈕。
- 在任務檢視中,按一下複寫任務上的
- 根據需求變更排程設定,然後按一下確定。
根據 資料移動閘道 執行遺漏的任務執行。
有時候,網路問題可能會導致與 資料移動閘道 的連線遺失。如果在下次排定的執行之前未還原與 資料移動閘道 的連線,則資料任務將無法按預定執行。在這種情況下,您可以選擇是否要在還原連線後立即執行。
所有 資料移動閘道 的預設設定在 管理 活動中心定義。您可以如下所述覆寫個別任務的這些設定。
若要執行此動作
開啟專案,然後進行下列事項之一:
在任務檢視中,按一下資料任務上的
並選取排程。
在管道檢視中,按一下資料任務上的
並選取排程。
開啟資料任務並按一下排程 工具列按鈕。
排程 - <任務> 對話方塊隨即開啟。
開啟對此任務使用自訂設定。
在對話方塊底部,選擇下列其中一個執行錯過的排程任務選項。
如果務必在下一個排程執行個體之前執行任務,則盡快執行,然後按排程執行
依排程在下一個排程實例執行任務
儲存設定。
另請參見:執行錯過排程後的任務執行。