本文概述如何使用資料管線中的複製功能,將資料從 Fabric Lakehouse 複製出來,並將資料複製到該系統。 根據預設,資料會以 V 順序寫入 Lakehouse 資料表,且您可以移至 Delta Lake 資料表最佳化和 V 順序以取得詳細資訊。
支援的格式
Lakehouse 支援下列檔案格式。 請參閱每篇文章,以取得以格式為基礎的設定。
支援的設定
對於複製活動下每個索引標籤的組態,請分別參閱下列各節。
一般
來源
在複製活動的 [來源] 索引標籤下,Lakehouse 支援下列屬性。
以下是必要的屬性:
連線:從連線清單中選取 Lakehouse 連線。 如果不存在連線,請選取連線清單底部的 [更多],以建立新的 Lakehouse 連線。 如果您套用使用動態內容來指定 Lakehouse,請新增參數,並將 Lakehouse 物件識別碼指定為參數值。 若要取得 Lakehouse 物件識別碼,請在工作區中開啟 Lakehouse,識別碼位於 URL 中的
/lakehouses/
後面。根資料夾:選取 [資料表] 或 [檔案],指出您的 Lake 中受控或非受控區域的虛擬檢視。 如需詳細資訊,請參閱 Lakehouse 簡介。
如果您選取 [資料表]:
資料表名稱:從資料表清單中選擇現有的資料表,或指定資料表名稱作為來源。 或者,您可以選取 [新增] 來建立新的資料表。
資料表:當您在連線中套用具有結構描述的 Lakehouse 時,從資料表清單中選擇具有結構描述的現有資料表,或指定具有結構描述的資料表作為來源。 或者,您可以選取 [新增] 來建立具有結構描述的新資料表。 如果您未指定結構描述名稱,服務會使用 dbo 作為預設結構描述。
在 [進階] 下,您可以指定下列欄位:
- 時間戳記:指定以依時間戳記查詢較舊的快照。
- 版本:指定以依版本查詢較舊的快照。
- 其他資料行:新增其他資料行以儲存來源檔案的相對路徑或靜態值。 表達式受到後者支持。
如果您選取 [檔案]:
檔案路徑類型:您可以選擇 [檔案路徑]、[萬用字元檔案路徑] 或 [檔案清單] 作為檔案路徑類型。 下列清單描述每個設定的組態:
檔案路徑:選取 [瀏覽]以選擇要複製的檔案,或手動填入路徑。
萬用字元檔案路徑:在指定的 Lakehouse 非受控區域 (在 [檔案] 下) 下指定具有萬用字元的資料夾或檔案路徑,以篩選來源資料夾或檔案。 允許的萬用字元為:
*
(符合零或多個字元) 和?
(符合零或單一字元)。 如果資料夾或檔案名稱中包含萬用字元或此跳脫字元,請使用^
進行跳脫。檔案清單:表示要複製指定的檔案集。
- 資料夾路徑:指向包含您要複製之檔案的資料夾。
- 檔案清單的路徑:指向包含所要複製檔案清單的文字檔,每行一個檔案,並且每個檔案都是相對於所設定檔案路徑的相對路徑。
遞迴:指出是否從子資料夾或僅從指定的資料夾,以遞迴方式讀取資料。 如果啟用,則會以遞迴方式處理輸入資料夾及其子資料夾中的所有檔案。 當您將檔案路徑類型設定為檔案清單時,此屬性不適用。
檔案格式:從下拉式清單中選取您的檔案格式。 選取 [設定] 按鈕以設定檔案格式。 如需不同檔案格式的設定,請參閱支援格式的文章以取得詳細資訊。
在 [進階] 下,您可以指定下列欄位:
-
依上次修改日期篩選:根據上次修改日期篩選檔案。 當您將檔案路徑類型設定為檔案清單時,此屬性不適用。
- 開始時間:如果檔案上次修改時間大於或等於設定的時間,則會選取這些檔案。
- 結束時間:如果檔案上次修改時間小於設定的時間,則會選取這些檔案。
-
啟用分割區探索:針對已分割的檔案,指定是否要從檔案路徑剖析分割區,並將其新增為額外來源資料行。
- 分割區根路徑:啟用分割區探索時,指定絕對根路徑,將已分割的資料夾當成資料行進行讀取。
- 並行連線數上限:指出在活動執行期間建立至資料存放區的並行連線數上限。 僅在想要限制並行連線時,才需要指定值。
-
依上次修改日期篩選:根據上次修改日期篩選檔案。 當您將檔案路徑類型設定為檔案清單時,此屬性不適用。
目的地
在複製活動的 目的地 索引標籤下,Lakehouse 支援以下屬性。
以下是必要的屬性:
連線:從連線清單中選取 Lakehouse 連線。 如果不存在連線,請選取連線清單底部的 [更多],以建立新的 Lakehouse 連線。 如果您套用使用動態內容來指定 Lakehouse,請新增參數,並將 Lakehouse 物件識別碼指定為參數值。 若要取得 Lakehouse 物件識別碼,請在工作區中開啟 Lakehouse,識別碼位於 URL 中的
/lakehouses/
後面。根資料夾:選取 [資料表] 或 [檔案],指出您的 Lake 中受控或非受控區域的虛擬檢視。 如需詳細資訊,請參閱 Lakehouse 簡介。
如果您選取 [資料表]:
資料表名稱:從資料表清單中選擇現有的資料表,或指定資料表名稱作為目的地。 或者,您可以選取 [新增] 來建立新的資料表。
資料表:當您在連線中套用具有結構描述的 Lakehouse 時,從資料表清單中選擇具有結構描述的現有資料表,或指定具有結構描述的資料表作為目的地。 或者,您可以選取 [新增] 來建立具有結構描述的新資料表。 如果您未指定結構描述名稱,服務會使用 dbo 作為預設結構描述。
備註
數據表名稱必須至少有一個字元長,不含 『/』 或 『\』、沒有尾端點,而且沒有前置或尾端空格。
- 在 [進階底下,您可以指定下列字段:
資料表動作:針對選取的資料表指定作業。
附加:將新值附加至現有的資料表。
-
啟用分割:此選取項目可讓您根據一或多個資料行,在資料夾結構中建立分割。 每個相異的資料行值(組合)都是一個新的分區。 例如,"year=2000/month=01/file"。
- 分區資料行名稱:當您將資料附加至新資料表時,從結構描述映射中選擇目的地資料行。 當您將資料附加至已有分割的現有資料表時,系統會自動從現有資料表衍生分割資料行。 支援的資料類型為字串、整數、布林值和日期時間。 格式會遵循 對應 索引標籤下的類型轉換設定。
-
啟用分割:此選取項目可讓您根據一或多個資料行,在資料夾結構中建立分割。 每個相異的資料行值(組合)都是一個新的分區。 例如,"year=2000/month=01/file"。
覆寫:使用新值覆寫資料表中的現有資料和結構描述。 如果選取此作業,您可以在目標資料表上啟用分割:
-
啟用分割:此選取項目可讓您根據一或多個資料行,在資料夾結構中建立分割。 每個相異的資料行值(組合)都是一個新的分區。 例如,"year=2000/month=01/file"。
- 分區資料行名稱:從模式對應中選取作為目的地的資料行。 支援的資料類型為字串、整數、布林值和日期時間。 格式會遵循 對應 索引標籤下的類型轉換設定。
它支援 Delta Lake 時間移動。 被覆寫的資料表有前一版本的差異記錄,您可以在 Lakehouse 中存取。 您也可以在複製活動的來源中指定 版本,以從 Lakehouse 複製「上一版本資料表」。
-
啟用分割:此選取項目可讓您根據一或多個資料行,在資料夾結構中建立分割。 每個相異的資料行值(組合)都是一個新的分區。 例如,"year=2000/month=01/file"。
並行連線數上限:在活動執行期間建立至資料存放區的並行連線上限。 僅在想要限制並行連線時,才需要指定值。
如果您選取 [檔案]:
檔案路徑:選取 [瀏覽]以選擇要複製的檔案,或手動填入路徑。
檔案格式:從下拉式清單中選取您的檔案格式。 選取 [設定] 以設定檔案格式。 如需不同檔案格式的設定,請參閱支援格式的文章以取得詳細資訊。
在 [進階] 下,您可以指定下列欄位:
複製行為:當來源是來自檔案型資料存放區的檔案時,會定義複製行為。 您可以選擇 [扁平化階層]、[合併檔案]、[保留階層] 或 [新增動態內容] 作為複製行為。 每個設定的組態如下:
扁平化階層:來自來源資料夾的所有檔案都在目的地資料夾的第一層中。 目的地檔案具有自動產生的名稱。
合併檔案:將來源資料夾的所有檔案合併為一個檔案。 若已指定檔案名稱,合併檔案的名稱會是指定的名稱。 否則,就會是自動產生的檔案名稱。
保留階層:保留目標資料夾中的檔案階層。 來源檔案到來源資料夾的相對路徑,與目標檔案到目標資料夾的相對路徑相同。
新增動態內容:若要指定屬性值的運算式,請選取 [新增動態內容]。 此欄位會開啟運算式產生器,在這裡您可以從支援的系統變數、活動輸出、函數和使用者指定的變數或參數建置運算式。 如需有關運算式語言的詳細資訊,請參閱運算式和函數。
並行連線數上限:在活動執行期間建立至資料存放區的並行連線上限。 僅在想要限制並行連線時,才需要指定值。
區塊大小 (MB):將資料寫入 Lakehouse 時,以 MB 為單位指定區塊大小。 允許的值介於 4 MB 到 100 MB 之間。
中繼資料:在複製到目的地資料存放區時設定自訂中繼資料。
metadata
陣列下的每個物件都代表額外的資料行。name
會定義中繼資料索引鍵名稱,而value
表示該索引鍵的資料值。 若使用保留屬性功能,指定的中繼資料會與來源檔案中繼資料聯合/覆寫。 允許的資料值包括:
映射
如需設定 [對應] 索引標籤,如果您未將 Lakehouse 資料表作為目的地資料存放區,請移至 [對應]。
如果您將 Lakehouse 資料表用作目的地資料存放區,除了 Mapping 中的組態外,您還可以編輯目的地資料行的類型。 選取匯入結構描述之後,您可以在目的地指定欄位類型。
例如,來源中 [PersonID] 資料行的類型為 int,而當對應至目的地資料行時,您可以將其變更為字串類型。
備註
當您的來源為十進位類型時,目前不支援編輯目的地類型。
如果您選擇 [二進位] 作為檔案格式,則不支援映射。
設定
前往設定以組態設定標籤。
Delta Lake 數據表支援
在下列各節中,您將發現有關 Delta Lake 數據表在來源和目的地中支援的詳細資訊。
來源
支援讀取器第 1 版。 您可以在本文中找到對應的支援 Delta Lake 功能。
在 Lakehouse 數據表的 中套用讀取器版本 2 或版本 3 並使用 columnMapping
時,支援 readerFeatures
。
Delta 數據表的數據行對應功能允許更具彈性的架構演進,確保數據表結構中的變更不會中斷數據工作流程。 透過資料行對應,您可以從現有的 Delta Lake 資料表中讀取資料,並將 delta.columnMapping.mode
設為 name
或 id
。
當您在 Lakehouse 表格的 中套用具有 deletionVectors
的讀取器第 3 版時,支援 readerFeatures
。 軟刪除的資料列會在刪除向量檔案中標示,並在讀取 Delta Lake 表時略過。
目的地
現已支援 Writer 第 2 版。 您可以在本文中找到對應的支援 Delta Lake 功能。
支援 Delta 資料欄位映射。 這項功能允許更具彈性的架構演進,確保數據表結構中的變更不會中斷數據工作流程。 藉由欄位映射,您可以:
- 將資料寫入現有的 delta Lake 資料表,並將
delta.columnMapping.mode
設定為name
或id
。 - 當目的地數據表不存在且源數據行包含特殊字元和空格元時,自動建立
delta.columnMapping.mode
設定為name
的數據表。 - 當表格操作為覆寫,且來源數據集的列包含特殊字元和空格時,自動創建一個表格,將
delta.columnMapping.mode
設定為name
。
資料表摘要
下列各表包含有關 Lakehouse 中複製活動的詳細資訊。
來源資訊
名稱 | 描述 | 值 | 必須 | JSON 指令碼屬性 |
---|---|---|---|---|
[連接] | 供您選擇連線的區段。 | <您的 Lakehouse 連線> | Yes | 工作區ID (workspaceId) artifactId |
根資料夾 | 根資料夾的類型。 | • 資料表 • 檔案 |
不 | 根目錄: 資料表或檔案 |
資料表名稱 | 您要讀取資料的資料表名稱。 | <您的資料表名稱> | 是 (當您在 [根資料夾] 中選取 [資料表] 時) | 桌子 |
Table | 當您套用以結構描述作為連線的 Lakehouse 時,要讀取資料的具有結構描述的資料表名稱。 | <您的結構化資料表> | 是 (當您在 [根資料夾] 中選取 [資料表] 時) | / |
適用於 [資料表] | ||||
模式名稱 | 架構的名稱。 |
<您的結構描述名稱> (預設值為 dbo) |
不 |
(在 source ->datasetSettings ->typeProperties 下)架構 |
資料表名稱 | 資料表的名稱。 | <您的資料表名稱> | Yes | 桌子 |
Timestamp | 用於查詢較舊快照的時間戳記。 | <時間戳記> | 不 | timestampAsOf |
版本 | 用來查詢較舊快照集的版本。 | <版本> | 不 | versionAsOf |
新增欄位 | 用於儲存來源檔案的相對路徑或靜態值的其他資料行。 表達式受到後者支持。 | • 名稱 • 價值 |
不 | 額外欄位: • 名稱 • 值 |
檔案路徑類型 | 您使用的檔案路徑類型。 | • 檔案路徑 • 萬用字元檔案路徑 • 檔案清單 |
是 (當您在 [根資料夾] 中選取 [檔案] 時) | / |
檔案路徑 | 從來源資料存放區下的資料夾/檔案路徑複製。 | <檔案路徑> | 是 (選擇 [檔案路徑] 時) | • 資料夾路徑 (folderPath) • 檔案名稱 |
通配符路徑 | 設定為篩選來源資料夾的來源資料存放區下具有萬用字元的資料夾路徑。 | <萬用字元路徑> | 是,當選擇 萬用字元檔案路徑 時 | • wildcardFolderPath • 通配符檔案名稱 |
資料夾路徑 | 指向含有所要複製檔案的資料夾。 | <資料夾路徑> | 不 | 資料夾路徑 |
檔案清單路徑 | 表示要複製指定的檔案集。 請指定一個文字檔,其中包含您要複製的檔案清單,每行一個檔案,並且每個檔案的路徑是針對配置路徑的相對路徑。 | <檔案清單的路徑> | 不 | 檔案列表路徑 |
遞迴 | 以遞迴方式處理輸入資料夾及其子資料夾中的所有檔案,或只處理所選資料夾中的檔案。 選取單一檔案時,會停用此設定。 | 選取或取消選取 | 不 | 遞迴: 真或假 |
檔案格式 | 來源資料的檔案格式。 如需不同檔案格式的資訊,請參閱支援格式的文章以取得詳細資訊。 | / | 是 (當您在 [根資料夾] 中選取 [檔案] 時) | / |
依上次修改日期篩選 | 上次修改時間在 [開始時間,結束時間] 範圍內的檔案將會篩選以進一步處理。 此時間會以 yyyy-mm-ddThh:mm:ss.fffZ 格式套用至 UTC 時區。您可以略過此屬性,這表示不會套用任何檔案屬性篩選器。 當您將檔案路徑類型設定為檔案清單時,此屬性不適用。 |
• 開始時間 • 結束時間 |
不 | 修改日期時間開始 修改日期時間結束 |
啟用分區探索 | 是否要從檔案路徑解析分區,並將其作為額外的數據來源欄位新增。 | 已選取或未選取 | 不 | enablePartitionDiscovery: true 或 false (預設值) |
分割根路徑 | 用於將已分割的資料夾當成資料行進行讀取的絕對分割根路徑。 | <您的分割根路徑> | 不 | 分割區根路徑 |
並行連線數上限 | 在活動執行期間建立至資料存放區的同時連線上限。 僅在要限制並行連線時,才需要值。 | <並行連線數上限> | 不 | 最大並發連接數 |
目的地資訊
名稱 | 描述 | 值 | 必要 | JSON 指令碼屬性 |
---|---|---|---|---|
[連接] | 供您選擇連線的區段。 | <您的 Lakehouse 連線> | Yes | 工作區ID (workspaceId) artifactId (工件識別碼) |
根資料夾 | 根資料夾的類型。 | • 資料表 • 檔案 |
Yes | 根目錄: 資料表或檔案 |
資料表名稱 | 您要寫入資料至其中的資料表名稱。 | <您的資料表名稱> | 是 (當您在 [根資料夾] 中選取 [資料表] 時) | 桌子 |
Table | 當您使用具備結構描述的連線套用 Lakehouse 時,要將資料寫入的資料表名稱。 | <您的結構化資料表> | 是 (當您在 [根資料夾] 中選取 [資料表] 時) | / |
用於資料表 | ||||
模式名稱 | 架構的名稱。 |
<您的結構描述名稱> (預設值為 dbo) |
不 |
(在 sink ->datasetSettings ->typeProperties 下)架構 |
資料表名稱 | 資料表的名稱。 | <您的資料表名稱> | Yes | 桌子 |
桌面動作 | 將新值附加至現有的資料表,或使用新值覆寫資料表中的現有資料和結構描述。 | • 附加 • 覆寫 |
不 | 表格操作選項: 附加或覆寫結構描述 |
啟用分割 | 此選取項目可讓您根據一或多個資料行,在資料夾結構中建立分割。 每個相異的資料行值(組合)都是一個新的分區。 例如,"year=2000/month=01/file"。 | 已選取或未選取 | 不 | partitionOption: PartitionByKey 或 None |
分區欄位 | 綱要對應中的目的地欄位。 | <您的分區欄位> | 不 | 分區名稱清單 (partitionNameList) |
檔案路徑 | 將資料寫入目的地資料存放區下資料夾/檔案的路徑。 | <檔案路徑> | 不 | • 資料夾路徑 (folderPath) • 檔案名稱 |
檔案格式 | 您的目的地資料的檔案格式。 如需不同檔案格式的資訊,請參閱支援格式的文章以取得詳細資訊。 | / | 是 (當您在 [根資料夾] 中選取 [檔案] 時) | / |
複製行為 | 當來源是來自檔案型資料存放區的檔案時定義的複製行為。 | • 扁平化階層 • 合併檔案 • 保留階層 • 新增動態內容 |
不 | copyBehavior: • FlattenHierarchy • MergeFiles • 保留層級結構 |
並行連線數上限 | 在活動運行過程中建立至資料存放區的同時連線的上限。 僅在想要限制並行連線時,才需要指定值。 | <並行連線數上限> | 不 | 最大並發連線數 |
區塊大小 (MB) | 用於將資料寫入 Lakehouse 的區塊大小 (以 MB 為單位)。 允許的值介於 4 MB 到 100 MB 之間。 | <區塊大小> | 不 | blockSizeInMB(區塊大小以MB為單位) |
中繼資料 | 在複製到目的地時設定的自訂中繼資料。 | • $$LASTMODIFIED • 表達 • 靜態值 |
不 | 中繼資料 |