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