透過標準、進階或企業訂閱在資料湖中登陸資料
您可以設定在資料湖中登陸資料任務,以將資料登陸至下列目標:
Amazon S3
如需關於設定連線至 Amazon S3 的資訊,請參閱 Amazon S3。
Azure Data Lake Storage
如需設定連線至 Azure Data Lake Storage 的資訊,請參閱 Azure Data Lake Storage。
Google Cloud Storage
如需設定連線至 Google Cloud Storage 的資訊,請參閱 Google Cloud Storage。
如需關於設定連線至資料來源的資訊,請參閱 設定前往資料來源的連線
若要設定資料湖登陸任務:
在資料整合 > 專案中,按一下建立專案。
在新的專案對話方塊中,進行下列事項:
提供專案的名稱。
- 選取您要在其中建立專案的空間。
- 或者可選擇提供描述。
- 選取複寫作為使用案例。
- 若您想要建立空的專案而不進行任何設定,也可以選擇清除開啟核取方塊。
按一下建立。
將會發生下列情況之一:
- 若在新的專案對話方塊中選取開啟核取方塊 (預設),專案將會開啟。
- 若您在新的專案對話方塊中清除開啟核取方塊,專案將會新增至專案清單。您之後可以從專案的 功能表選取開啟以開啟專案。
專案開啟後,按一下在資料湖中登陸資料。
就會開啟在資料湖中登陸資料精靈。
在一般索引標籤中,為資料湖登陸任務指定名稱和描述。然後按一下下一步。
資訊備註不支援包含斜線 (/) 或反斜線 (\) 字元的名稱。在選取來源連線索引標籤中,選取前往來源資料的連線。您也可以從動作欄功能表選取編輯,以編輯連線設定。
若您還沒有前往來源資料的連線,則需要先建立;作法是在索引標籤右上方按一下建立連線。
您可以使用左側的篩選器篩選連線清單。可以根據來源類型、閘道、空間和擁有者篩選連線。連線清單上方的所有篩選按鈕顯示目前的篩選數量。您可以使用此按鈕關閉或開啟左側的篩選面板。目前作用中的篩選也會顯示在可用連線清單上方。
您也可以從右側的下拉式清單中選取上次修改、上次建立或按字母順序,以排序清單。按一下清單的向右箭頭以變更排序順序。
選取資料來源連線之後,可以選擇按一下索引標籤右上方的測試連線 (建議),然後按一下下一步。
在選取資料集索引標籤中,選取表格和/或檢視,以包括在資料湖登陸任務中。您也可以使用萬用字元並建立選取規則,如 從資料庫中選取資料 中所述。
資訊備註不支援包含斜線 (/) 或反斜線 (\) 字元的結構描述名稱或表格名稱。在選取目標連線索引標籤中,從可用連線清單中選取目標,然後按一下下一步。在功能方面,索引標籤與先前描述的選取來源連線索引標籤相同。
在設定索引標籤中,可以選擇變更下列設定,然後按一下下一步。
更新方法:
變更資料擷取 (CDC):資料湖登陸任務以完整載入開始 (在此期間,會登陸所有選取的表格)。然後登陸資料會使用 CDC (變更資料擷取) 技術保持最新狀態。
資訊備註不支援 DDL 操作的 CDC (變更資料擷取)。使用 資料移動閘道 時,會幾乎即時地從來源擷取變更。在沒有 資料移動閘道 的情況下工作時,會根據排程器設定擷取變更。如需詳細資訊,請參閱 在不使用 資料移動閘道 時排程任務。
- 載入:執行完整載入以將資料從所選來源表格載入到目標平台,並建立目標表格 (如有必要)。完整載入會在任務開始時自動發生,但也可以根據需要手動執行或安排定期進行。
若您選取變更資料擷取 (CDC),且資料也包含不支援 CDC 或檢視的表格,將會建立兩個資料管道。一個管道具有支援 CDC 的所有表格,另一個管道具有使用載入所有其他表格和檢視。
要使用的資料夾:
根據您希望檔案寫入到哪個值區資料夾,選取下列內容之一:
- 預設資料夾:預設資料夾格式為 <your-project-name>/<your-task-name>
- 根資料夾:檔案將會直接寫入到值區。
資料夾:輸入資料夾名稱。若不存在,將會在資料湖登陸任務期間建立資料夾。
資訊備註 資料夾名稱不可包括特殊字元 (例如 @、#、! 等)。
在摘要索引標籤中,會顯示資料管道的視覺。選擇要開啟 <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,如果目標表格沒有主要金鑰/唯一索引,後續更新將產生「零列受影響」的訊息。 將不會擷取對時間戳記和日期精確度欄的修改。
在資料湖中登陸資料時的限制和考慮事項
轉換受到下列限制:
- 使用由右至左語言的欄不支援轉換。
無法對名稱中包含特殊字元 (e.g. #, \, /, -) 的欄執行轉換。
- 對 LOB/CLOB 資料類型唯一支援的轉換是捨棄目標的欄。
- 不支援使用轉換重新命名欄,然後新增名稱相同的新欄。
對於已移動的欄不支援變更可 Null 性,直接變更或使用轉換規則變更都不受支援。不過,依照預設,任務中建立的新欄可為 Null。