# 透過標準、進階或企業訂閱在資料湖中登陸資料

您可以設定在資料湖中登陸資料任務，以將資料登陸至下列目標：

* Amazon S3

  如需關於設定連線至 Amazon S3 的資訊，請參閱 [Amazon S3](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/aws-s3-target.htm#Using2)。

* Azure Data Lake Storage

  如需設定連線至 Azure Data Lake Storage 的資訊，請參閱 [Azure Data Lake Storage](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/adls-target.htm#top)。

* Google Cloud Storage

  如需設定連線至 Google Cloud Storage 的資訊，請參閱 [Google Cloud Storage](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/google-storage-target.htm#Using)。

提示備註雖然您可以在任務設定精靈中設定來源和目標連線在資料湖中登陸資料設定，但為了簡化設定程序，建議在建立任務之前就這麼做。

如需關於設定連線至資料來源的資訊，請參閱 [設定前往資料來源的連線](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-data-2.htm)

若要設定資料湖登陸任務：

1. 在資料整合 &gt; 專案中，按一下新建 &gt; 專案。

2. 在新的專案對話方塊中，進行下列事項：

   1. 提供專案的名稱。

   2. 選取您要在其中建立專案的空間。

   3. 或者可選擇提供描述。

   4. 選取複寫作為使用案例。

   5. 若您想要建立空的專案而不進行任何設定，也可以選擇清除開啟核取方塊。

   6. 按一下建立。

      將會發生下列情況之一：

      * 若在新的專案對話方塊中選取開啟核取方塊 (預設)，專案將會開啟。
      * 若您在新的專案對話方塊中清除開啟核取方塊，專案將會新增至專案清單。您之後可以從專案的 功能表選取開啟the More icon以開啟專案。

3. 專案開啟後，按一下在資料湖中登陸資料。

   就會開啟在資料湖中登陸資料精靈。

4. 在一般索引標籤中，為資料湖登陸任務指定名稱和描述。然後，按一下下一步。

   資訊備註不支援包含斜線 (/) 或反斜線 (\) 字元的名稱。

5. 在選取來源連線索引標籤中，選取前往來源資料的連線。您也可以從動作欄功能表選取編輯，以編輯連線設定。

   資訊備註如果您在任務準備好之後變更來源連線或來源資料閘道，您必須[重新建立所有資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-datasets.htm#:~:text=the%20storage%20task.-,Recreating%20datasets,-You%20can%20recreate)。

   若您還沒有前往來源資料的連線，則需要先建立；作法是在索引標籤右上方按一下建立連線。

   您可以使用左側的篩選器篩選連線清單。可以根據來源類型、閘道、空間和擁有者篩選連線。連線清單上方的所有篩選按鈕顯示目前的篩選數量。您可以使用此按鈕關閉或開啟左側的篩選面板。目前作用中的篩選也會顯示在可用連線清單上方。

   您也可以從右側的下拉式清單中選取上次修改、上次建立或按字母順序，以排序清單。按一下清單的向右箭頭以變更排序順序。

   選取資料來源連線之後，可以選擇按一下索引標籤右上方的測試連線 (建議)，然後按一下下一步。

6. 在選取資料集索引標籤中，選取表格和/或檢視，以包括在資料湖登陸任務中。您也可以使用萬用字元並建立選取規則，如 [從資料庫中選取資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/Landing-data-data-sources.htm#Selectin) 中所述。

   資訊備註不支援包含斜線 (/) 或反斜線 (\) 字元的結構描述名稱或表格名稱。

7. 在選取目標連線索引標籤中，從可用連線清單中選取目標，然後按一下下一步。在功能方面，索引標籤與先前描述的選取來源連線索引標籤相同。

   資訊備註如果在任務準備好之後變更目標連線，則必須[重新建立所有資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-datasets.htm#:~:text=the%20storage%20task.-,Recreating%20datasets,-You%20can%20recreate)。

8. 在設定索引標籤中，可以選擇變更下列設定，然後按一下下一步。

   更新方法：

   * 變更資料擷取 (CDC) 使用變更表格： 資料湖登陸任務以完整載入開始 (在此期間，所有選取的表格會登陸到目標)。然後目標資料會使用 CDC (變更資料擷取) 技術保持最新狀態。

     資訊備註不支援 DDL 操作的 CDC (變更資料擷取)。

     使用 資料移動閘道 時，除了使用 SaaS 應用程式來源之外，變更會幾乎即時地從來源擷取。在沒有 資料移動閘道 或使用 SaaS 應用程式來源的情況下工作時，會根據排程器設定擷取變更。如需詳細資訊，請參閱 [Scheduling tasks](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Deploying/Scheduling-tasks.htm)。

   * 重新載入： 執行完整載入以將資料從所選來源表格載入到目標平台，並建立目標表格 (如有必要)。完整載入會在任務開始時自動發生，但也可以根據需要手動執行或安排定期進行。

     資訊備註使用 SaaS 應用程式連接器時，此設定不適用。

   資訊備註

   當 變更資料擷取 (CDC) 是更新方法，且您的資料來源：

   * 不是 SaaS 應用程式

   * 包含支援 CDC 的資料集以及僅支援載入的資料集 (例如檢視)

   將會建立兩個資料管線。將會為支援 CDC 的資料表建立一個管道，並為僅支援 載入 的資料集建立另一個管道。

   要使用的資料夾

   根據您希望將檔案寫入哪個值區資料夾，選取下列其中一項：

   * 預設資料夾

     預設資料夾格式為 &lt;your-project-name&gt;/&lt;your-task-name&gt;

   * 根資料夾

     檔案將寫入根值區資料夾。

   * 資料夾

     指定資料夾名稱。如果資料夾不存在，將在資料任務期間建立該資料夾。

     資訊備註 資料夾名稱不能包含特殊字元 (例如 @、#、! 等)。

   複寫排程器

   您可以排程從資料來源擷取變更的頻率，並設定開始日期和時間。任務設定精靈可讓您設定基本排程頻率。在您完成設定任務之後，可以使用額外的排程選項。

   如需所有排程選項的說明，請參閱 [Scheduling tasks](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Deploying/Scheduling-tasks.htm)。

9. 在摘要索引標籤中，會顯示資料管道的視覺。選擇要開啟 &lt;name&gt; 任務或不做任何事。然後按一下建立。

   根據您的選擇，將會開啟任務，或將會顯示專案清單。

10. 若您選擇開啟任務，資料集索引標籤將會顯示所選資料資產表格的結構和中繼資料。這包括所有明確列出的表格，以及符合選取規則的表格。

    若您想要從資料來源新增更多表格，按一下選取來源資料。

11. 也可以變更任務設定，如 [雲端儲存目標的設定](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm) 中所述。

12. 您可以執行資料集轉換、篩選資料或新增欄。

    如需詳細資訊，請參閱[管理資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-datasets.htm)。

13. 您已新增所需的轉換之後，可按一下驗證資料集以驗證資料集。如果驗證失敗，請先解決錯誤再繼續進行。

    如需詳細資訊，請參閱[驗證和調整資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-datasets.htm#Validati)。

14. 當您就緒時，按一下準備以將登陸任務編入目錄，為執行做好準備。

15. 準備資料任務後，按一下執行。

16. 資料湖登陸任務現在應開始。您可以在監控檢視中監控其進度。如需詳細資訊，請參閱 [監控個別資料任務](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Monitoring-data-tasks.htm#Monitori)

## 設定資料集的載入優先順序

您可以透過為每個資料集指定載入優先順序，控制資料任務中資料集的載入順序。例如，如果您希望在大型資料集之前先載入較小的資料集，這會很有用。

1. 按一下載入優先順序。

2. 為每個資料集選擇一種載入優先順序。

   預設的載入優先順序為一般。資料集將會依照下列優先順序載入：

   * 最高

   * 較高

   * 高

   * 正常

   * 低

   * 較低

   * 最低

   具有相同優先順序的資料集不會按特定順序載入。

3. 按一下確定。

資訊備註SaaS 應用程式來源中的資料集可能依載入順序包含相依性。設定載入優先順序時，請考慮這一點。

## 結構描述演進

結構描述演進讓您可以輕鬆偵測多個資料來源的結構變更，然後控制如何將這些變更套用至您的任務。結構描述演進可用於偵測對來源資料結構描述所做的 DDL 變更。您也可以自動套用一些變更。

資訊備註結構描述演進不適用於 Qlik Talend Cloud 啟動器 訂閱。使用 SaaS 應用程式連接器時，僅支援資料類型變更。

對於每種變更類型，您可以在任務設定的結構描述演進區段中選取如何處理變更。您可以套用變更、忽略變更、暫停表格或停止任務處理。

您可以設定使用哪個動作來處理每種變更類型的 DDL 變更。某些動作不一定適用於所有變更類型。

* 套用至目標

  自動套用變更。

* 忽略

  忽略變更。

* 暫停表格

  暫停表格。表格將在監控中顯示為錯誤。

* 停止任務

  停止任務處理。如果您想手動處理所有結構描述變更，這非常實用。這也將停止排程，即不會進行排程的執行。

支援以下變更：

* 新增欄

* 重新命名欄

* 變更欄資料類型

* 新增與選取模式相符的表格

  如果您使用選取規則新增與模式相符的資料集，則會偵測到並新增符合該模式的新表格。

如需更多關於任務設定的資訊，請參閱 [自動結構描述演進](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Schema)

您也可以針對透過結構描述演進處理的變更取得相關通知。如需詳細資訊，請參閱[設定變更進行時的通知](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Notifications.htm)。

### 結構描述演進的限制

以下限制適用於結構描述演進：

* 只有在使用 CDC 作為更新方法時才支援結構描述演進。

* 變更結構描述演進設定後，您必須重新準備任務。

* 如果重新命名表格，則不支援結構描述演進。在這種情況下，您必須在準備任務之前重新整理中繼資料。

* 如果您正在設計任務，則必須重新整理瀏覽器，才能接收結構描述演進變更。您可以設定通知以在發生變更時發出警示。

* 在登陸任務中，不支援捨棄欄。捨棄欄並新增將會導致表格錯誤。

* 在登陸任務中，捨棄表格操作不會捨棄表格。捨棄表格然後新增表格只會截斷舊的表格，而不會新增新的表格。

* 並非所有目標都可以變更欄的長度，具體取決於目標資料庫的支援。

* 如果變更欄名稱，則使用該欄定義的明確轉換將不會生效，因為這基於欄名稱。

* 重新整理中繼資料的限制也適用於結構描述演進。

* 如果任務包含尚未準備好的設計變更，且在執行任務時偵測到來源結構描述演進變更，則任務將會停止以避免衝突。準備暫停的設計變更，並再次執行任務。

擷取 DDL 變更時，適用以下限制：

* 若來源資料庫中發生一系列快速操作 (例如 DDL&gt;DML&gt;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，如果目標表格沒有主要金鑰/唯一索引，後續更新將產生「零列受影響」的訊息。

* 將不會擷取對時間戳記和日期精確度欄的修改。

## 變更閘道或連線

當變更目標或來源連線，或來源閘道時，您必須重新建立表格。

## 檢視任務資訊

按一下功能表長條上的 the 資訊 icon 以檢視任務資訊，例如：

* 擁有者

* 空間

* 資料平台

* 專案 ID

* 資料任務執行階段 ID

## 在資料湖中登陸資料時的限制和考慮事項

轉換受到下列限制：

* 使用由右至左語言的欄不支援轉換。

* 無法對名稱中包含特殊字元 (e.g. #, \, /, -) 的欄執行轉換。

* 對 LOB/CLOB 資料類型唯一支援的轉換是捨棄目標的欄。

* 不支援使用轉換重新命名欄，然後新增名稱相同的新欄。

對於已移動的欄不支援變更可 Null 性，直接變更或使用轉換規則變更都不受支援。不過，依照預設，任務中建立的新欄可為 Null。