使用 Azure Data Factory 或 Azure Synapse Analytics 在 Microsoft Fabric Lakehouse 中複製和轉換資料
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
Microsoft Fabric Lakehouse 是一個資料架構平台,用於在單一位置儲存、管理和分析結構化和非結構化資料。 若要在 Microsoft Fabric 中的所有計算引擎之間實現順暢的資料存取,請移至 Lakehouse 和 Delta Tables 以深入了解。 根據預設,資料會以 V 順序寫入 Lakehouse 資料表,且您可以移至 Delta Lake 資料表最佳化和 V 順序以取得詳細資訊。
本文概述如何使用複製活動往來於 Microsoft Fabric Lakehouse 複製資料,並使用資料流程轉換 Microsoft Fabric Lakehouse 中的資料。 若要深入了解,請閱讀 Azure Data Factory 或 Azure Synapse Analytics 的介紹文章。
支援的功能
此 Microsoft Fabric Lakehouse 連接器支援下列功能:
支援的功能 | IR |
---|---|
複製活動 (來源/接收) | (1) (2) |
對應資料流 (來源/接收) | (1) |
查閱活動 | (1) (2) |
GetMetadata 活動 | (1) (2) |
刪除活動 | (1) (2) |
① Azure 整合執行階段 ② 自我裝載整合執行階段
開始使用
若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:
使用 UI 建立 Microsoft Fabric Lakehouse 連結服務
使用下列步驟,在 Azure 入口網站 UI 中建立 Microsoft Fabric Lakehouse 連結服務。
瀏覽至 Azure Data Factory 或 Synapse 工作區中的 [管理] 索引標籤,並選取 [連結服務],然後選取 [新增]:
搜尋 Microsoft Fabric Lakehouse 並選取連接器。
設定服務詳細資料,測試連線,然後建立新的連結服務。
連接器設定詳細資料
下列各節提供屬性的相關詳細資料,這些屬性是用來定義 Microsoft Fabric Lakehouse 特定的 Data Factory 實體。
連結服務屬性
Microsoft Fabric Lakehouse 連接器支援下列驗證類型。 如需詳細資訊,請參閱對應章節:
服務主體驗證
若要使用服務主體驗證,請遵循下列步驟。
使用 Microsoft 身分識別平台註冊應用程式,並新增用戶端密碼。 之後,請記下這些值,以便用於定義連結服務:
- 應用程式 (用戶端) 識別碼,這是連結服務中的服務主體識別碼。
- 用戶端密碼值,這是連結服務中的服務主體金鑰。
- 租用戶識別碼
至少授與服務主體 Microsoft Fabric 工作區中的參與者角色。 執行下列步驟:
移至您的 Microsoft Fabric 工作區,選取頂端列上的 [管理存取權]。 然後選取 [新增人員或群組]。
在 [新增人員] 窗格中,輸入您的服務主體名稱,然後從下拉式清單中選取您的服務主體。
注意
除非 Power BI 租使用者設定啟用服務主體存取 Fabric API,否則服務主體不會出現在 [新增人員] 列表中。
將角色指定為參與者或更新版本 (系統管理員、成員),然後選取 [新增]。
您的服務主體會顯示在 [管理存取權] 窗格上。
以下是連結服務支援的屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | type 屬性必須設定為 Lakehouse。 | Yes |
workspaceId | Microsoft Fabric 工作區識別碼。 | Yes |
artifactId | Microsoft Fabric Lakehouse 物件識別碼。 | Yes |
tenant | 指定您的應用程式所在租用戶的資訊 (網域名稱或租用戶識別碼)。 將滑鼠游標暫留在 Azure 入口網站右上角,即可加以擷取。 | Yes |
servicePrincipalId | 指定應用程式的用戶端識別碼。 | Yes |
servicePrincipalCredentialType | 用於服務主體驗證的認證類型。 允許的值為 ServicePrincipalKey 和 ServicePrincipalCert。 | Yes |
servicePrincipalCredential | 服務主體認證。 當您使用 ServicePrincipalKey 作為認證類型時,請指定應用程式的用戶端密碼值。 將此欄位標記為 SecureString 以將其安全地儲存,或參考 Azure Key Vault 中儲存的祕密。 當您使用 ServicePrincipalCert 作為認證時,請在 Azure Key Vault 中參考憑證,並確定憑證內容類型為 PKCS #12。 |
Yes |
connectVia | 用來連線到資料存放區的整合執行階段。 如果您的資料存放區位於私人網路中,則可使用 Azure Integration Runtime 或自我裝載整合執行階段。 若未指定,則會使用預設 Azure Integration Runtime。 | No |
範例:使用服務主體金鑰驗證
您也可以將服務主體金鑰儲存在 Azure Key Vault 中。
{
"name": "MicrosoftFabricLakehouseLinkedService",
"properties": {
"type": "Lakehouse",
"typeProperties": {
"workspaceId": "<Microsoft Fabric workspace ID>",
"artifactId": "<Microsoft Fabric Lakehouse object ID>",
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalCredential": {
"type": "SecureString",
"value": "<service principal key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
資料集屬性
Microsoft Fabric Lakehouse 連接器支援兩種類型的資料集,也就是 Microsoft Fabric Lakehouse 檔案資料集和 Microsoft Fabric Lakehouse 資料表資料集。 如需詳細資料,請參閱對應章節。
如需定義資料集的區段和屬性完整清單,請參閱資料集。
Microsoft Fabric Lakehouse 檔案資料集
Microsoft Fabric Lakehouse 連接器支援下列檔案格式。 請參閱每篇文章,以取得以格式為基礎的設定。
在格式型 Microsoft Fabric Lakehouse 檔案資料集中的 location
設定下,支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 資料集中 location 下的 type 屬性必須設定為 LakehouseLocation。 |
Yes |
folderPath | 資料夾的路徑。 如果您想要使用萬用字元來篩選資料夾,請略過此設定,並在活動來源設定中指定。 | No |
fileName | 所指定 folderPath 下方的檔案名稱。 如果您想要使用萬用字元來篩選檔案,請略過此設定,並在活動來源設定中指定。 | No |
範例:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Microsoft Fabric Lakehouse linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"location": {
"type": "LakehouseLocation",
"fileName": "<file name>",
"folderPath": "<folder name>"
},
"columnDelimiter": ",",
"compressionCodec": "gzip",
"escapeChar": "\\",
"firstRowAsHeader": true,
"quoteChar": "\""
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ]
}
}
Microsoft Fabric Lakehouse 資料表資料集
Microsoft Fabric Lakehouse 資料表資料集支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 資料集的 type 屬性必須設定為 LakehouseTable。 | Yes |
schema | 結構描述的名稱。 若未指定,則預設值為 dbo 。 |
No |
table | 資料表的名稱。 數據表名稱必須至少有一個字元長,不含 『/』 或 『\』、沒有尾端點,而且沒有前置或尾端空格。 | Yes |
範例:
{
"name": "LakehouseTableDataset",
"properties": {
"type": "LakehouseTable",
"linkedServiceName": {
"referenceName": "<Microsoft Fabric Lakehouse linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
},
"schema": [< physical schema, optional, retrievable during authoring >]
}
}
複製活動屬性
Microsoft Fabric Lakehouse 檔案資料集和 Microsoft Fabric Lakehouse 資料表資料集的複製活動屬性不同。 如需詳細資料,請參閱對應章節。
如需可用來定義活動的區段和屬性完整清單,請參閱複製活動組態和管線和活動。
複製活動中的 Microsoft Fabric Lakehouse 檔案
若要使用 Microsoft Fabric Lakehouse Files 資料集類型作為複製活動中的來源或接收器,請移至下列各節以取得詳細設定。
Microsoft Fabric Lakehouse 檔案作為來源類型
Microsoft Fabric Lakehouse 連接器支援下列檔案格式。 請參閱每篇文章,以取得以格式為基礎的設定。
您有幾個選項可以使用 Microsoft Fabric Lakehouse 檔案資料集,從 Microsoft Fabric Lakehouse 複製資料:
- 請從資料集內的指定路徑複製。
- 針對資料夾路徑或檔案名的萬用字元篩選,請參閱
wildcardFolderPath
和wildcardFileName
。 - 將指定文字檔中定義的檔案複製為檔案集,請參閱
fileListPath
。
使用 Microsoft Fabric Lakehouse 檔案資料集時,下列屬性位於格式型複製來源中的 storeSettings
設定下:
屬性 | 描述 | 必要 |
---|---|---|
type | storeSettings 下的 type 屬性必須設定為 LakehouseReadSettings。 |
Yes |
找到要複製的檔案: | ||
選項 1:靜態路徑 |
請從資料集內的指定資料夾/檔案路徑複製。 如果您想要複製資料夾中的所有檔案,請另外將 wildcardFileName 指定為 * 。 |
|
選項 2:萬用字元 - wildcardFolderPath |
含有萬用字元的資料夾路徑,可用來篩選來源資料夾。 允許的萬用字元為: * (比對零或多個字元) 和 ? (比對零或單一字元);如果您的實際資料夾名稱包含萬用字元或此逸出字元,請使用 ^ 來逸出。 如需更多範例,請參閱資料夾和檔案篩選範例。 |
No |
選項 2:萬用字元 - wildcardFileName |
在特定 folderPath/wildcardFolderPath 下含有萬用字元的檔案名稱,用於篩選來源檔案。 允許的萬用字元為: * (比對零或多個字元) 和 ? (比對零或單一字元);如果您的實際檔案名稱包含萬用字元或此逸出字元,請使用 ^ 來逸出。 如需更多範例,請參閱資料夾和檔案篩選範例。 |
Yes |
選項 3:檔案清單 - fileListPath |
表示要複製指定的檔案集。 指向含有所要複製檔案清單的文字檔,一行一個檔案,而這是資料集中所設定路徑的相對路徑。 使用此選項時,請勿指定資料集中的檔案名稱。 檔案清單範例有更多範例可供參閱。 |
No |
其他設定: | ||
遞迴 | 指出是否從子資料夾、或只有從指定的資料夾,以遞迴方式讀取資料。 當遞迴設定為 true 且接收是檔案型存放區時,就不會在接收上複製或建立空的資料夾或子資料夾。 允許的值為 true (預設值) 和 false。 設定 fileListPath 時,此屬性不適用。 |
No |
deleteFilesAfterCompletion | 指出成功移至目的地存放區之後,是否要從來源存放區中刪除二進位檔案。 檔案刪除會針對每個檔案執行,因此,當複製活動失敗時,您會看到已將某些檔案複製到目的地,而且已從來源刪除,而其他檔案仍保留在來源存放區上。 此屬性僅適用於二進位檔案複製案例。 預設值:false。 |
No |
modifiedDatetimeStart | 根據屬性篩選檔案:上次修改。 如果檔案的上次修改時間大於或等於 modifiedDatetimeStart 且小於 modifiedDatetimeEnd ,則會選取檔案。 此時間會以 "2018-12-01T05:00:00Z" 格式套用至 UTC 時區。 此屬性可以是 NULL,這意謂著不會對資料集套用任何檔案屬性篩選。 當 modifiedDatetimeStart 具有日期時間值,但 modifiedDatetimeEnd 為 NULL 時,意謂著系統將會選取上次更新時間屬性大於或等於此日期時間值的檔案。 當 modifiedDatetimeEnd 具有日期時間值,但 modifiedDatetimeStart 為 NULL 時,則意謂著系統將會選取上次更新時間屬性小於此日期時間值的檔案。設定 fileListPath 時,此屬性不適用。 |
No |
modifiedDatetimeEnd | 同上。 | No |
enablePartitionDiscovery | 針對已分割的檔案,指定是否要從檔案路徑剖析分割區,並將其新增為其他來源資料行。 允許的值為 false (預設值) 和 true。 |
No |
partitionRootPath | 啟用分割區探索時,請指定絕對根路徑,將已分割的資料夾當成資料行進行讀取。 如果未指定,則根據預設, - 當您使用資料集中的檔案路徑或來源上的檔案清單時,分割區根路徑是資料集中所設定的路徑。 - 當您使用萬用字元資料夾篩選時,分割區根路徑是第一個萬用字元前面的子路徑。 例如,假設您將資料集中的路徑設定為 "root/folder/year=2020/month=08/day=27": - 如果您將分割區根路徑指定為 "root/folder/year=2020",則除了檔案內的資料行之外,複製活動還會分別產生值為 "08" 和 "27" 的兩個資料行 month 和 day 。- 如果未指定分割區根路徑,則不會產生額外資料行。 |
No |
maxConcurrentConnections | 在活動執行期間建立至資料存放區的同時連線上限。 僅在想要限制並行連線時,才需要指定值。 | No |
範例:
"activities": [
{
"name": "CopyFromLakehouseFiles",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"storeSettings": {
"type": "LakehouseReadSettings",
"recursive": true,
"enablePartitionDiscovery": false
},
"formatSettings": {
"type": "DelimitedTextReadSettings"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Microsoft Fabric Lakehouse 檔案作為接收器類型
Microsoft Fabric Lakehouse 連接器支援下列檔案格式。 請參閱每篇文章,以取得以格式為基礎的設定。
使用 Microsoft Fabric Lakehouse 檔案資料集時,下列屬性位於格式型複製接收器中的 storeSettings
設定下:
屬性 | 描述 | 必要 |
---|---|---|
type | storeSettings 下的 type 屬性必須設定為 LakehouseWriteSettings。 |
Yes |
copyBehavior | 當來源是來自檔案型資料存放區的檔案時,會定義複製行為。 允許的值如下: - PreserveHierarchy (預設值):保留目標資料夾中的檔案階層。 來源檔案到來源資料夾的相對路徑,與目標檔案到目標資料夾的相對路徑相同。 - FlattenHierarchy:來自來源資料夾的所有檔案都在目標資料夾的第一層中。 目標檔案會有自動產生的名稱。 - MergeFiles:將來源資料夾的所有檔案合併成一個檔案。 若已指定檔案名稱,合併檔案的名稱會是指定的名稱。 否則,就會是自動產生的檔案名稱。 |
No |
blockSizeInMB | 指定用於將資料寫入 Microsoft Fabric Lakehouse 的區塊大小 (以 MB 為單位)。 請參閱關於區塊 Blob 以深入了解。 允許的值介於 4 MB 到 100 MB 之間。 根據預設,ADF 會根據您的來源存放區類型和資料,自動決定區塊大小。 對於非二進位複製到 Microsoft Fabric Lakehouse 中,預設區塊大小為 100 MB,因此最多大約可容納 4.75 TB 的資料。 這在資料不大時可能並不理想,尤其在使用「自我裝載整合執行階段」,而且網路連線不佳的情況下,將導致作業逾時或效能問題。 您可以明確指定區塊大小,同時確保 blockSizeInMB*50000 夠大足以儲存資料,否則複製活動執行會失敗。 |
No |
maxConcurrentConnections | 在活動執行期間建立至資料存放區的同時連線上限。 僅在想要限制並行連線時,才需要指定值。 | No |
中繼資料 | 在複製到接收時設定自訂中繼資料。 metadata 陣列下的每個物件都代表額外的資料行。 name 會定義中繼資料索引鍵名稱,而 value 表示該索引鍵的資料值。 若使用保留屬性功能,指定的中繼資料會與來源檔案中繼資料聯合/覆寫。允許的資料值為: - $$LASTMODIFIED :保留變數指出儲存來源檔案上次修改時間。 僅適用於二進位格式的檔案型來源。- 運算式 - 靜態值 |
No |
範例:
"activities": [
{
"name": "CopyToLakehouseFiles",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings": {
"type": "LakehouseWriteSettings",
"copyBehavior": "PreserveHierarchy",
"metadata": [
{
"name": "testKey1",
"value": "value1"
},
{
"name": "testKey2",
"value": "value2"
}
]
},
"formatSettings": {
"type": "ParquetWriteSettings"
}
}
}
}
]
資料夾和檔案篩選範例
本節描述含有萬用字元篩選之資料夾路徑和檔案名稱所產生的行為。
folderPath | fileName | 遞迴 | 來源資料夾結構和篩選結果 (會擷取以粗體顯示的檔案) |
---|---|---|---|
Folder* |
(空白,使用預設值) | false | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(空白,使用預設值) | true | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
false | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
true | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
檔案清單範例
本節說明使用複製活動來源中的檔案清單路徑時,所會產生的行為。
假設您的來源資料夾結構如下,且想要複製以粗體標示的檔案:
範例來源結構 | FileListToCopy.txt 中的內容 | ADF 組態 |
---|---|---|
檔案系統 FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv 中繼資料 FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
在資料集內: - 資料夾路徑: FolderA 複製活動來源中: - 檔案清單路徑: Metadata/FileListToCopy.txt 檔案清單路徑指向同一個資料存放區中的文字檔,內有您想複製的檔案清單,每行一個檔案,以資料集內所設定路徑的相對路徑表示。 |
一些遞迴和 copyBehavior 範例
本節說明遞迴和 copyBehavior 值在不同組合的情況下,複製作業所產生的行為。
遞迴 | copyBehavior | 來源資料夾結構 | 產生的目標 |
---|---|---|---|
true | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
會以與來源相同的結構,建立目標 Folder1: Folder1 File1 File2 Subfolder1 File3 File4 File5 |
true | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
會以下列結構建立目標資料夾 Folder1: Folder1 針對 File1 自動產生的名稱 針對 File2 自動產生的名稱 針對 File3 自動產生的名稱 針對 File4 自動產生的名稱 針對 File5 自動產生的名稱 |
true | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
會以下列結構建立目標資料夾 Folder1: Folder1 File1 + File2 + File3 + File4 + File5 的內容會合併成一個檔案,並具有自動產生的檔案名稱。 |
false | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
會以下列結構建立目標資料夾 Folder1: Folder1 File1 File2 系統不會挑選含有 File3、File4、File5 的 Subfolder1。 |
false | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
會以下列結構建立目標資料夾 Folder1: Folder1 針對 File1 自動產生的名稱 針對 File2 自動產生的名稱 系統不會挑選含有 File3、File4、File5 的 Subfolder1。 |
false | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
會以下列結構建立目標資料夾 Folder1: Folder1 File1 + File2 的內容會合併成一個檔案,並具有自動產生的檔案名稱。 針對 File1 自動產生的名稱 系統不會挑選含有 File3、File4、File5 的 Subfolder1。 |
複製活動中的 Microsoft Fabric Lakehouse 資料表
若要使用 Microsoft Fabric Lakehouse 資料表資料集作為複製活動中的來源或接收器資料集,請移至下列各節以取得詳細設定。
Microsoft Fabric Lakehouse 資料表作為來源類型
若要使用 Microsoft Fabric Lakehouse 資料表資料集從 Microsoft Fabric Lakehouse 複製資料,請將複製活動來源中的 type 屬性設定為 LakehouseTableSource。 複製活動的 [來源] 區段支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 複製活動來源的 type 屬性必須設定為 LakehouseTableSource。 | Yes |
timestampAsOf | 用來查詢較舊快照集的時間戳記。 | No |
versionAsOf | 用來查詢較舊快照集的版本。 | No |
範例:
"activities":[
{
"name": "CopyFromLakehouseTable",
"type": "Copy",
"inputs": [
{
"referenceName": "<Microsoft Fabric Lakehouse Table input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "LakehouseTableSource",
"timestampAsOf": "2023-09-23T00:00:00.000Z",
"versionAsOf": 2
},
"sink": {
"type": "<sink type>"
}
}
}
]
Microsoft Fabric Lakehouse 資料表作為接收器類型
若要使用 Microsoft Fabric Lakehouse 資料表資料集將資料複製到 Microsoft Fabric Lakehouse,請將複製活動接收器中的 type 屬性設定為 LakehouseTableSink。 複製活動的 [接收器] 區段支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 複製活動來源的 type 屬性必須設定為 LakehouseTableSink。 | Yes |
注意
資料預設會以 V 順序寫入 Lakehouse 資料表。 如需詳細資訊,請移至 Delta Lake 資料表最佳化和 V 順序。
範例:
"activities":[
{
"name": "CopyToLakehouseTable",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Microsoft Fabric Lakehouse Table output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "LakehouseTableSink",
"tableActionOption ": "Append"
}
}
}
]
對應資料流程屬性
在對應資料流中轉換資料時,您可以讀取和寫入 Microsoft Fabric Lakehouse 中的檔案或資料表。 如需詳細資料,請參閱對應章節。
對應資料流中的 Microsoft Fabric Lakehouse 檔案
若要在對應資料流中使用 Microsoft Fabric Lakehouse 檔案資料集作為來源或接收器資料集,請移至下列各節以取得詳細設定。
Microsoft Fabric Lakehouse 檔案作為來源或接收器類型
Microsoft Fabric Lakehouse 連接器支援下列檔案格式。 請參閱每篇文章,以取得以格式為基礎的設定。
若要在內嵌資料集類型中使用 Fabric Lakehouse 檔案型連接器,您必須為資料選擇正確的內嵌資料集類型。 視您的資料格式而定,您可以使用 DelimitedText、Avro、JSON、ORC 或 Parquet。
對應資料流中的 Microsoft Fabric Lakehouse 資料表
若要在對應資料流中使用 Microsoft Fabric Lakehouse 資料表資料集作為來源或接收器資料集,請移至下列各節以取得詳細設定。
Microsoft Fabric Lakehouse 資料表作為來源類型
來源選項下沒有可設定的屬性。
注意
目前無法使用 Lakehouse 資料表來源的 CDC 支援。
Microsoft Fabric Lakehouse 資料表作為接收器類型
對應資料流 [接收器] 區段中支援下列屬性:
名稱 | 描述 | 必要 | 允許的值 | 資料流程指令碼屬性 |
---|---|---|---|---|
更新方法 | 當您單獨選取 [允許插入] 或寫入新的差異資料表時,目標會接收所有傳入的資料列,而不論設定的資料列原則為何。 如果您的資料包含其他資料列原則的資料列,則必須使用先前的篩選轉換加以排除。 選取所有更新方法時,系統會執行合併,其中資料列會根據使用先前更改資料列轉換所設定的資料列原則進行插入/刪除/upsert/更新。 |
是 | true 或 false |
insertable deletable upsertable updateable |
最佳化寫入 | 透過最佳化 Spark 執行程式中的內部隨機顯示,提高寫入作業的輸送量。 因此,您可能會注意到分割區較少和檔案大小較大 | 否 | true 或 false |
optimizedWrite:true |
自動壓縮 | 在任何寫入作業完成之後,Spark 會自動執行 OPTIMIZE 命令來重新群組織資料,視需要產生更多分割區,藉以在未來提升讀取效能 |
否 | true 或 false |
autoCompact: true |
合併結構描述 | [合併結構描述] 選項允許結構描述演進,也就是說目前在傳入資料流中,但未出現在目標差異資料表中的任何資料行都會自動新增至其結構描述。 所有更新方法都支援此選項。 | 否 | true 或 false |
mergeSchema: true |
範例:Microsoft Fabric Lakehouse 資料表接收器
sink(allowSchemaDrift: true,
validateSchema: false,
input(
CustomerID as string,
NameStyle as string,
Title as string,
FirstName as string,
MiddleName as string,
LastName as string,
Suffix as string,
CompanyName as string,
SalesPerson as string,
EmailAddress as string,
Phone as string,
PasswordHash as string,
PasswordSalt as string,
rowguid as string,
ModifiedDate as string
),
deletable:false,
insertable:true,
updateable:false,
upsertable:false,
optimizedWrite: true,
mergeSchema: true,
autoCompact: true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> CustomerTable
針對內嵌資料集類型中的 Fabric Lakehouse 資料表型連接器,您只需要使用差異作為資料集類型。 這可讓您從 Fabric Lakehouse 資料表讀取和寫入資料。
查閱活動屬性
若要了解屬性的詳細資料,請參閱查閱活動。
GetMetadata 活動屬性
若要了解關於屬性的詳細資料,請參閱 GetMetadata 活動
刪除活動屬性
若要了解關於屬性的詳細資料,請參閱刪除活動
相關內容
如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區。