透過標準、進階或企業訂閱複寫資料
若要設定複寫任務:
-
在資料整合 > 專案中,按一下建立專案。
-
在新的專案對話方塊中,進行下列事項:
- 提供專案的名稱。
- 選取您要在其中建立專案的空間。
- 或者可選擇提供描述。
- 選取複寫作為使用案例。
- 若您想要建立空的專案而不進行任何設定,也可以選擇清除開啟核取方塊。
-
按一下建立。
將會發生下列情況之一:
- 若在新的專案對話方塊中選取開啟核取方塊 (預設),專案將會開啟。
- 若您在新的專案對話方塊中清除開啟核取方塊,專案將會新增至專案清單。您之後可以從專案的 功能表選取開啟以開啟專案。
-
專案開啟後,按一下複寫資料。
就會開啟複寫資料精靈。
-
在一般索引標籤中,為複寫任務指定名稱和描述。然後按一下下一步。
-
在選取來源連線索引標籤中,選取前往來源資料的連線。您也可以從動作欄功能表選取編輯,以編輯連線設定。
若您尚未建立前往資料來源的連線,則需要在索引標籤右上方按一下建立連線,以便建立。
您可以使用左側的篩選器篩選連線清單。可以根據來源類型、閘道、空間和擁有者篩選連線。連線清單上方的所有篩選按鈕顯示目前的篩選數量。您可以使用此按鈕關閉或開啟左側的篩選面板。目前作用中的篩選也會顯示在可用連線清單上方。
您也可以從右側的下拉式清單中選取上次修改、上次建立或按字母順序,以排序清單。按一下清單的向右箭頭以變更排序順序。
選取資料來源連線之後,可以選擇按一下索引標籤右上方的測試連線 (建議),然後按一下下一步。
-
在選取資料集索引標籤中,選取表格和/或檢視,以包括在複寫任務中。您也可以使用萬用字元並建立選取規則,如 從資料庫中選取資料 中所述。
-
在選取目標連線索引標籤中,從可用連線清單中選取目標,然後按一下下一步。在功能方面,索引標籤與先前描述的選取來源連線索引標籤相同。
-
在設定索引標籤中,可以選擇變更下列設定,然後按一下下一步。
複寫模式
資訊備註從 SaaS 應用程式來源複寫時,依照預設會啟用完整載入複寫模式,並且無法停用。- 完整載入:將資料從所選來源表格載入到目標平台,並建立目標表格 (如有必要)。完整載入會在任務開始時自動發生,但如有需要,也可以手動執行。
-
套用變更:以對來源表格所做的任何變更更新目標表格。
-
儲存變更:在變更表格 (每個來源表格一個)中將變更儲存至來源表格。
如需詳細資訊,請參閱儲存變更。
使用 資料移動閘道 時,會幾乎即時地從來源擷取變更。在沒有 資料移動閘道 的情況下工作時 (透過在連接器設定中將資料閘道設定為無),會根據排程器設定擷取變更。預設變更擷取間隔為每六小時一次。如需詳細資訊,請參閱在不使用 資料移動閘道 時排程任務。
套用變更模式
資訊備註複寫至資料倉庫目標時,您無法選取要使用哪個套用變更模式。變更永遠會在批次最佳化模式下套用,以提供最大效率。變更會使用下列方法之一套用至目標表格:
- 批次最佳化:此為預設。若選取此選項,會在批次中套用變更。會發生前置處理動作,以最有效率的方式將交易組成批次。
- 交易:選取此選項以認可順序個別套用每筆交易。在此情況下,會為所有表格確保嚴格參考完整性。
連線至分段區域
複寫至下列資料倉庫時,您需要設定暫存區域。會先在暫存區域中處理並準備資料,再傳輸至倉庫。
選取現有的暫存區域,或按一下新建以定義新的暫存區域,並按照 連線至雲端儲存空間 中的說明。
若要編輯連線設定,按一下編輯。若要測試連線 (建議),按一下測試連線。
如需資料倉庫支援哪些暫存區域的資訊,請參閱 目標平台使用案例和支援版本 中的作為暫存區域受到支援欄。
複寫排程器
-
複寫資料間隔:您可以排程從資料來源擷取變更的頻率,並設定開始時間和開始日期。 若來源資料集支援 CDC (變更資料擷取),只會複寫來源資料的變更並套用至對應的目標表格。若來源資料集不支援 CDC (例如檢視畫面),則會將所有來源資料載入到對應的目標表格,以套用變更。若有些來源資料集支援 CDC,而有些不支援,將會建立兩個獨立的子任務 (假設套用變更或選取了儲存變更複寫選項):一個用於載入不支援 CDC 的資料集,另一個用於對支援 CDC 的資料集擷取變更。
任務設定精靈可讓您排程基本每小時間隔。在您完成設定任務之後,您可以探索不同的排程選項,如 在不使用 資料移動閘道 時排程任務 中所述。
如需關於根據資料來源類型和訂閱層級的最低排程間隔的資訊,請參閱 最低允許的排程間隔。
-
在摘要索引標籤中,會顯示資料管道的視覺。若部分選取的資料集不支援 CDC,將會顯示兩個管道:一個用於 CDC 任務,另一個用於載入任務。選擇要開啟 <name> 資料任務或不做任何事,然後按一下建立。
根據您的選擇,將會開啟任務,或將會顯示專案清單。
-
若您選擇開啟任務,資料集索引標籤將會顯示所選來源表格的結構和中繼資料。這包括所有明確列出的表格,以及符合選取規則的表格。
若您想要從資料來源新增更多表格,按一下選取來源資料。
-
也可以變更任務設定,如 資料複寫任務設定 中所述。
-
您可以執行資料集轉換、篩選資料或新增欄。
如需詳細資訊,請參閱管理資料集。
-
您已新增所需的轉換之後,可按一下驗證資料集以驗證資料集。如果驗證失敗,請先解決錯誤再繼續進行。
如需詳細資訊,請參閱驗證和調整資料集。
-
當您就緒時,按一下準備以將資料任務編入目錄,為執行做好準備。
-
準備資料任務後,按一下執行。
如需關於復原任務和其他任務執行方法的資訊,請參閱 進階執行選項。
-
即可開始複寫任務,您可在監控中看見進度。如需詳細資訊,請參閱 監控個別資料任務
設定資料集的載入優先順序
您可以透過為每個資料集指定載入優先順序,控制資料任務中資料集的載入順序。例如,如果您希望在大型資料集之前先載入較小的資料集,這會很有用。
-
按一下載入優先順序。
-
為每個資料集選擇一種載入優先順序。
預設的載入優先順序為一般。資料集將會依照下列優先順序載入:
-
最高
-
較高
-
高
-
正常
-
低
-
較低
-
最低
具有相同優先順序的資料集不會按特定順序載入。
-
-
按一下確定。
正在重新整理中繼資料
您可以在任務的設計檢視中重新整理任務中的中繼資料,以符合來源中繼資料中的變更。對於使用 Metadata Manager 的 SaaS 應用程式,必須先重新整理 Metadata Manager,才能重新整理資料任務中的中繼資料。
-
您可以進行以下任一項:
-
按一下 ...,然後按一下重新整理中繼資料,以對任務中的所有資料集重新整理中繼資料。
-
在資料集中的資料集按一下 ...,然後按一下重新整理中繼資料,以對單一資料集重新整理中繼資料。
您可以在畫面下方部分的重新整理中繼資料之下檢視中繼資料重新整理狀態。您可以將游標暫留在 上方,以查看上次重新整理中繼資料的時間。
-
-
準備資料任務以套用變更。
準備資料任務並套用變更後,會從重新整理中繼資料移除變更。
您必須準備取用此任務的儲存任務以散佈變更。
若移除欄,會新增具有 Null 值的轉換,以確保儲存不會失去歷史資料。
重新整理中繼資料的限制
-
若有相同的資料類型和資料長度,則在此之前於相同時段以捨棄的欄重新命名,將會轉譯為捨棄的欄重新命名。
範例:
之前:a b c d
之後:a c1 d
在此範例中,捨棄了 b,而 c 重新命名為 c1,且 b 和 c 有相同的資料類型和資料長度。
這將會識別為從 b 重新命名為 c1 並捨棄 c。
-
不會辨識最後一欄重新命名,即使已捨棄最後一欄並重新命名前一欄,也是如此。
範例:
之前:a b c d
之後:a b c1
在此範例中,捨棄了 d 且 c 重新命名為 c1。
這將會識別為捨棄 c 和 d,並新增 c1。
-
會假設新的欄在末尾新增。若在中間新增資料類型與下一欄相同的欄,可能會解譯為捨棄並重新命名。
結構描述演進
結構描述演進讓您可以輕鬆偵測多個資料來源的結構變更,然後控制如何將這些變更套用至您的任務。結構描述演進可用於偵測對來源資料結構描述所做的 DDL 變更。您也可以自動套用一些變更。
對於每種變更類型,您可以在任務設定的結構描述演進區段中選取如何處理變更。 您可以套用變更、忽略變更、暫停表格或停止任務處理。
您可以設定使用哪個動作來處理每種變更類型的 DDL 變更。某些動作不一定適用於所有變更類型。
-
套用至目標
自動套用變更。
-
忽略
忽略變更。
-
暫停表格
暫停表格。表格將在監控中顯示為錯誤。
-
停止任務
停止任務處理。如果您想手動處理所有結構描述變更,這非常實用。這也將停止排程,即不會進行排程的執行。
支援以下變更:
-
新增欄
-
重新命名欄
-
變更欄資料類型
-
捨棄表格
-
捨棄欄
-
新增與選取模式相符的表格
如果您使用選取規則新增與模式相符的資料集,則會偵測到並新增符合該模式的新表格。
如需更多關於任務設定的資訊,請參閱 結構描述演進
您也可以針對透過結構描述演進處理的變更取得相關通知。如需詳細資訊,請參閱設定變更進行時的通知。
結構描述演進的限制
以下限制適用於結構描述演進:
-
只有在使用 CDC 作為更新方法時才支援結構描述演進。
-
變更結構描述演進設定後,您必須重新準備任務。
-
如果重新命名表格,則不支援結構描述演進。在這種情況下,您必須在準備任務之前重新整理中繼資料。
-
如果您正在設計任務,則必須重新整理瀏覽器,才能接收結構描述演進變更。您可以設定通知以在發生變更時發出警示。
-
在登陸任務中,不支援捨棄欄。捨棄欄並新增將會導致表格錯誤。
-
在登陸任務中,捨棄表格操作不會捨棄表格。捨棄表格然後新增表格只會截斷舊的表格,而不會新增新的表格。
-
並非所有目標都可以變更欄的長度,具體取決於目標資料庫的支援。
-
如果變更欄名稱,則使用該欄定義的明確轉換將不會生效,因為這基於欄名稱。
-
重新整理中繼資料的限制也適用於結構描述演進。
擷取 DDL 變更時,適用以下限制:
-
若來源資料庫中發生一系列快速操作 (例如 DDL>DML>DDL),Qlik Talend Data Integration 可能會以錯誤的順序剖析記錄,進而導致資料遺失或不可預測的行為。為了盡可能減少發生這種情況的可能性,最佳做法是先等待變更套用至目標,再執行下一個操作。
例如,在變更擷取期間,如果來源表格連續快速重新命名多次 (而且第二次操作將其重新命名回原始名稱),則可能會遇到該表格已存在於目標資料庫的錯誤。
- 如果您變更任務中使用的表格名稱,然後停止該任務,則在任務恢復進行後,Qlik Talend Data Integration 將不會擷取對該表格所做的任何變更。
-
不支援在任務停止時重新命名來源表格。
- 不支援重新配置表格的主要金鑰欄 (因此不會寫入到 DDL 歷史記錄控制表格)。
- 如果停止任務時,變更欄的資料類型然後重新命名 (相同的) 欄,則 DDL 變更將在 DDL 歷史記錄控制表格中顯示為「捨棄欄」,然後在任務恢復進行時顯示為「新增欄」。請注意,延長延遲也可能導致相同的行為。
- 任務停止時在來源上執行的 CREATE TABLE 操作將在任務恢復進行時套用於目標,但不會在 DDL 歷史記錄控制表格中記錄為 DDL。
-
如果在以下任一情況執行與中繼資料變更相關的操作 (例如 ALTER TABLE、重組、重建叢集索引等),可能會導致不可預測的行為:
-
完整載入期間
-或者-
-
開始處理變更時間戳記和目前時間 (即使用者在進階執行選項對話方塊中按一下確定的那一刻) 之間。
範例:
IF:
指定的開始處理變更時間是上午 10:00。
AND:
名為年齡的欄已在上午 10:10 新增至員工表格中。
AND:
使用者在上午 10:15 於進階執行選項 對話方塊中按下確定。
THEN:
上午 10:00 和 10:10 之間發生的變化可能會導致 CDC 錯誤。
資訊備註在上述任何一種情況下,必須載入受影響的表格,以便將資料正確地 已移動 至目標。
-
- DDL 陳述式
ALTER TABLE ADD/MODIFY <column> <data_type> DEFAULT <>
不會將預設值複寫到目標,且新欄/修改的欄設定為 NULL。請注意,即使過去曾執行新增/修改該欄的 DDL,仍可能會發生此情況。如果新欄/修改的欄可為 Null,來源端點在記錄 DDL 本身之前會更新所有表格列。因此,Qlik Talend Data Integration 會擷取變更,但不會更新目標。由於新欄/修改的欄已設定為 NULL,如果目標表格沒有主要金鑰/唯一索引,後續更新將產生「零列受影響」的訊息。 -
將不會擷取對時間戳記和日期精確度欄的修改。
處理未自動套用的變更
這描述如何處理無法套用於目標的變更,即動作為「忽略」、「暫停」或「停止任務」。
DDL 變更 | 若要實施變更 | 若要保留目前狀態 |
---|---|---|
新增欄 | 重新整理中繼資料、準備任務,然後執行任務。 | 不需要採取動作 |
建立表格 | 重新整理中繼資料、準備任務,然後執行任務。 | 不需要採取動作 |
變更欄資料類型 |
檢查限制。如果沒有適用的限制: 重新整理中繼資料、準備任務,然後執行任務。 |
不一定支援保留目前狀態。可能的解決方法:
|
重新命名表格 |
檢查限制。如果沒有適用的限制: 準備任務,然後執行任務。 |
對舊名稱定義明確的重新命名規則。 |
重新命名欄 |
檢查限制。如果沒有適用的限制: 重新整理中繼資料、準備任務,然後執行任務。 |
重新整理中繼資料,然後對舊名稱定義明確的重新命名規則。 |
複寫資料時的限制和考慮事項
轉換受到下列限制:
- 使用由右至左語言的欄不支援轉換。
-
無法對名稱中包含特殊字元 (e.g. #, \, /, -) 的欄執行轉換。
- 對 LOB/CLOB 資料類型唯一支援的轉換是捨棄目標的欄。
- 不支援使用轉換重新命名欄,然後新增名稱相同的新欄。
對於已移動的欄不支援變更可 Null 性,直接變更或使用轉換規則變更都不受支援。不過,依照預設,任務中建立的新欄可為 Null。