平行載入資料集區段
在完整載入期間,您可以將資料集分成多個平行載入的區段,以加速大型資料集的載入。表格可以按照資料範圍、所有分割、所有子分割或特定分割進行分割。
每個資料集區段都是使用單獨的子任務來載入。因此,決定如何分割資料集時,應一律考慮資料庫和網路資源的可用性。將表格分割為太多區段可能會影響資料庫效能並讓網路容量負擔過重。如果您對分割資料集選擇資料範圍 分段方法,最佳做法是設定範圍,以便每個範圍涵蓋一個或多個整個分割區。這將加快資料擷取並盡量減少對資料庫處理資源的影響。
支援的資料來源和目標
資料任務必須使用以下資料來源和目標連接器的組合來定義。
支援的資料來源連接器
- IBM DB2 for LUW
-
IBM DB2 for z/OS
資訊備註IBM DB2 for z/OS 來源連接器不支援透過分割或子分割進行表格分段。
- Microsoft SQL Server (記錄為主)
- MySQL
- Oracle
-
PostgreSQL
資訊備註PostgreSQL 來源連接器不支援透過分割或子分割進行表格分段。
- SAP (應用程式)資訊備註
預設情況下,具有 SAP (應用程式) 來源端點的表與用戶端有相依性。可自動直接從連接器取得 MANDT 欄。
- SAP HANA (資料庫)
支援的目標連接器
- Amazon Redshift
- Amazon S3
- Google Cloud BigQuery
- Google Cloud Storage
- Microsoft Fabric 資料倉庫
- Microsoft SQL Server
- MySQL
- Oracle
- PostgreSQL
- Snowflake
設定平行載入
您可以使用以下兩種方法之一來分割表格:資料範圍或分割。資料範圍方法依資料範圍分割表格,而分割方法則根據分割區分割表格。
使用資料範圍方法
若要依資料範圍定義區段邊界:
-
在資料集索引標籤中,按一下資料集右側的功能表,然後選取設定。
就會開啟平行載入對話方塊。
-
選取資料範圍分段方法。
-
按一下選取欄。
就會開啟表格分段欄對話方塊
-
對於所有支援的資料來源,將自動選取「唯一索引」欄。選取要使用哪些附加欄來描述範圍,然後按一下確定。
資訊備註-
建議使用不允許 NULL 且在正常來源資料庫操作期間不會更新的欄 (例如主要索引鍵欄或具有固定日期的日期欄)。使用在完整載入期間更新的欄可能會導致目標資料庫中出現重複內容。
-
建議使用索引來源欄,因為這將最佳化資料擷取效能。
-
最多可選取十欄
-
不會複寫具有 Null 值的記錄
-
下列資料類型不能用於依範圍定義區段:DOUBLE、FLOAT 和 LOB (BLOB、CLOB、NCLOB)
-
-
按一下新增資料範圍以新增資料範圍區段。
新增資料範圍對話方塊將會開啟,其中包含您選取的欄。
-
對於每個欄,輸入區段的資料範圍上限。
資訊備註必須以來源支援的格式輸入日期欄中的值。例如,對於 Oracle 來源,正確的格式為:
-
ALTER SESSION SET NLS_DATE_FORMAT:
'YYYY-MM-DD HH24:MI:SS' (僅指定 YYYY-MM-DD 也有效)
-
ALTER SESSION SET NLS_TIMESTAMP_FORMAT:
'YYYY-MM-DD HH24:MI:SS.FF9'
-
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT:
'YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'
-
-
按一下確定以儲存設定並關閉對話方塊。
每個所選的欄都將顯示其指定的範圍。
- 根據需要重複步驟 3-6 以新增欄和資料範圍。
- 按一下驗證以驗證您輸入的資料是否對應於來源欄資料類型,以及所有定義的區段是否包含值。
藉由資料範圍分段方法,即使沒有為所有欄定義資料範圍,也會複寫所有表格資料。
若要編輯資料範圍:
- 按一下列末尾的 功能表,並選取編輯。
- 根據需要編輯資料範圍,然後按一下確定以儲存變更。
若要刪除資料範圍:
- 按一下列末尾的 功能表,並選取刪除。
- 提示確認刪除時,按一下刪除。
使用範例
假設定義了以下區段:
Column_1 | Column_2 | Column_3 |
---|---|---|
10 |
30 |
105 |
20 |
20 |
120 |
100 |
12 |
99 |
在此情況下,將為每個載入區段建立以下「WHERE」子句:
- 區段 1:((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
- 區段 2:NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
- 區段 3:NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 30) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
- 區段 4:NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
使用分割方法
您可以透過所有表格分割、表格的所有子分割 (如果資料來源支援子分割) 或特定分割來定義區段邊界。
- 只有在已分割資料集時才能使用此方法。
- 如果您在此功能發佈之前已經有任務存在,而且您尚未啟動該任務或想要使用此方法平行載入一個或多個表格,則首先需要重新整理中繼資料,如 註冊已存在於資料平台的資料 中所述 (本主題中所述的中繼資料重新整理流程對於所有類型的資料任務皆相同)。
使用所有分割
若要依所有表格分割或子分割定義區段邊界:
-
在資料集索引標籤中,按一下資料集右側的功能表,然後選取設定。
就會開啟平行載入對話方塊。
-
選取分割分段方法。
-
選取以下一項:
-
使用所有主要分割
-
使用所有子分割
資訊備註若資料來源不支援子分割,則會停用此選項。
-
- 按一下確定。
使用特定分割
若要依特定分割定義區段邊界:
-
在資料集索引標籤中,按一下資料集右側的功能表,然後選取設定。
就會開啟平行載入對話方塊。
-
選取分割分段方法。
-
選取指定分割。
資訊備註若選取了指定分割,只會複寫指定的分割。
-
按一下新增分割。
隨即會開啟新增分割對話方塊。
-
指定現有分割或子分割的名稱。
若要新增子分割,請選取子分割核取方塊。
- 按一下確定以儲存設定。
- 根據需要重複步驟 4-6,以新增分割或子分割。
若要編輯分割:
- 按一下列末尾的 功能表,並選取編輯。
- 根據需要編輯分割資訊,然後按一下確定以儲存變更。
若要刪除分割:
- 按一下列末尾的 功能表,並選取刪除。
- 提示確認刪除時,按一下刪除。
調整可以平行載入的區段數量
您可以增加或減少平行載入的區段數量。該值繼承自完整載入 > 效能微調 > 資料任務設定中的平行載入的表格數量上限欄位。目前值顯示在平行載入對話方塊中的「最多可以平行載入 <n> 個區段」字串中。若資料集分割為許多區段,增加數量可能會提高效能,但也會對資料庫資源和網路容量造成更大的壓力。