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