共用方式為


Data Factory in Microsoft Fabric 中的 Parquet格式

本文概述了如何在 Microsoft Fabric 的 Data Factory 管線中配置 Parquet 格式。

支援的功能

下列活動和連接器支援 Parquet 格式做為來源和目的地。

類別 連接器/活動
支援的連接器 Amazon S3
Amazon S3 相容
Azure Blob 儲存體
Azure Data Lake Storage Gen1
Azure Data Lake Storage Gen2 \(部分機器翻譯\)
Azure 檔案
檔案系統
FTP
谷歌雲存儲
HTTP
Lakehouse 檔案
Oracle 雲端儲存空間
SFTP
支援的活動 複製活動(來源/目的地)
查閱活動
GetMetadata 活動
刪除活動

複製活動中的 Parquet 格式

若要設定 Parquet 格式,請在管線複製活動的來源或目的地中選擇您的連線,然後在 [檔案格式] 下拉式清單中選取 [Parquet]。 選取 [設定 ] 以進一步設定此格式。

顯示檔案格式設定的螢幕快照。

Parquet 格式作為來源

選取 [檔案格式] 區段中的 [設定] 之後,快顯 [檔案格式設定] 對話框中會顯示下列屬性。

顯示 parquet 檔案格式來源的螢幕快照。

  • 壓縮類型:選擇用來讀取下拉式清單中的 Parquet 檔案的壓縮編解碼器。 您可以選擇 Nonegzip (.gz)snappylzoBrotli (.br)Zstandardlz4lz4framebzip2 (.bz2)lz4hadoop

Parquet 格式為目的地

選取 [ 設定] 之後,快顯 [檔案格式設定 ] 對話框中會顯示下列屬性。

顯示 parquet 檔案格式目的地的螢幕快照。

  • 壓縮類型:選擇用來寫入下拉式清單中的 Parquet 檔案的壓縮編解碼器。 您可以選擇 Nonegzip (.gz)snappylzoBrotli (.br)Zstandardlz4lz4framebzip2 (.bz2)lz4hadoop

  • 使用 V 順序:啟用 parquet 檔案格式的寫入時間優化。 如需詳細資訊,請參閱 Delta Lake 資料表最佳化和 V 順序。 預設會啟用此功能。

[目的地] 索引標籤的 [進階設定] 底下,會顯示下列 Parquet 格式相關屬性。

  • 每個檔案的資料列數上限:當您將資料寫入資料夾時,可以選擇寫入多個檔案,並指定每個檔案的資料列數上限。 指定您想要為每個檔案寫入的最大資料列。
  • 檔名前置詞:適用於設定每個檔案的資料列上限時。 當您將資料寫入多個檔案時,請指定檔案名稱前置詞,使系統進行此模式:<fileNamePrefix>_00000.<fileExtension>。 如果未指定,系統會自動產生檔案名稱前置詞。 當來源是以檔案為基礎的存放區,或啟用資料分割選項的資料存放區時,系統不會套用此屬性。

映射

對於 映射 標籤頁配置,如果您未將 Parquet 格式應用為目標資料存放區,請移至 映射

編輯目的地資料類型

將資料以 Parquet 格式複製到目的地連接器時 (除了 對應中的組態) 之外,您可以在啟用進階 Parquet 類型設定後指定某些目的地欄類型。 您也可以設定 IsNullable 選項,以指定每個 Parquet 欄位是否允許 null 值。 IsNullable 的預設值是 true

下列映射是利用服務在內部支援編輯的臨時資料類型,轉化為 Parquet 資料類型。

臨時服務資料類型 Parquet 邏輯類型 鑲木地板物理類型
DateTime 選項 1:空值
選項 2:時間戳記
選項 1:INT96(預設)
選項 2:INT64(單位:MILLIS、MICROS、NANOS(預設))
DateTimeOffset 選項 1:空值
選項 2:時間戳記
選項 1:INT96(預設)
選項 2:INT64(單位:MILLIS、MICROS、NANOS(預設))
TimeSpan TIME INT32(單位:MILLIS)
INT64(單位:MICROS、NANOS(預設))
Decimal 十進位的 INT32 (1 <= 精度 <= 9)
INT64 (9 < 精度 < = 18)
FIXED_LEN_BYTE_ARRAY (精細度 > 18) (預設)
GUID 選項 1:字串
選項 2:UUID
選項 1:BYTE_ARRAY (預設)
選項 2:FIXED_LEN_BYTE_ARRAY
位元組陣列 null BYTE_ARRAY (預設) 或FIXED_LEN_BYTE_ARRAY

例如,來源中 decimalData 資料行的類型會轉換為臨時服務類型:Decimal。 根據上面的映射表,目標欄的映射類型是根據指定的精度自動確定的。 如果精度為 9 或更小,則映射到 INT32。 對於高於 9 且最高為 18 的精確度值,它會映射到 INT64。 如果精確度超過 18,則會對應至 FIXED_LEN_BYTE_ARRAY。

映射目的欄位類型的螢幕截圖。

Parquet 的資料類型對應

以 Parquet 格式從來源連接器複製資料時,會使用下列從 Parquet 資料類型到服務內部使用的臨時資料類型的對應。

Parquet 邏輯類型 鑲木地板物理類型 臨時服務資料類型
null BOOLEAN 布林值
INT(8,真) 智力32 S種類
INT(8,錯誤) 智力32 位元組
INT(16,真) 智力32 整數16
INT(16,錯誤) 智力32 UInt16
INT(32,真) 智力32 整數32
INT(32,錯誤) 智力32 UInt32
INT(64,真) 智力64 整數64
INT(64,錯誤) 智力64 UInt64
null FLOAT Single
null Double
十進位的 INT32、INT64、FIXED_LEN_BYTE_ARRAY 或 BYTE_ARRAY Decimal
DATE 智力32 Date
TIME INT32 或 INT64 DateTime
TIMESTAMP 智力64 DateTime
列舉 BYTE_ARRAY 繩子
UUID FIXED_LEN_BYTE_ARRAY GUID
null BYTE_ARRAY 位元組陣列
STRING BYTE_ARRAY 繩子

以 Parquet 格式將資料複製到目的地連接器時,會使用下列對應,從服務內部使用的臨時資料類型到 Parquet 資料類型。

臨時服務資料類型 Parquet 邏輯類型 鑲木地板物理類型
布林值 null BOOLEAN
S種類 INT 智力32
位元組 INT 智力32
整數16 INT 智力32
UInt16 INT 智力32
整數32 INT 智力32
UInt32 INT 智力32
整數64 INT 智力64
UInt64 INT 智力64
Single null FLOAT
Double null
DateTime null 國際96
DateTimeOffset null 國際96
Date DATE 智力32
TimeSpan TIME 智力64
Decimal 十進位的 INT32、INT64 或 FIXED_LEN_BYTE_ARRAY
GUID STRING BYTE_ARRAY
繩子 STRING BYTE_ARRAY
位元組陣列 null BYTE_ARRAY

資料表摘要

Parquet 作為來源

使用 Parquet 格式時,複製活動 [來源 ] 區段支援下列屬性。

名稱 描述 必要 JSON 腳本屬性
檔案格式 選取要使用的檔案格式。 Parquet Yes type (datasetSettings):
Parquet
壓縮類型 用來讀取 Parquet 檔案的壓縮編解碼器。 從下列項目中選擇:
None
gzip (.gz)
snappy
lzo
布羅特利 (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
No compressionCodec:

gzip
snappy
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop

Parquet 作為目的地

使用 Parquet 格式時,複製活動 目的地 區段支援下列屬性。

名稱 描述 必要 JSON 腳本屬性
檔案格式 選取要使用的檔案格式。 Parquet Yes type (datasetSettings):
Parquet
使用 V-Order parquet 檔格式的寫入時間優化。 已選取或未選取 No enableVertiParquet
壓縮類型 用來寫入 Parquet 檔案的壓縮編解碼器。 從下列項目中選擇:
None
gzip (.gz)
snappy
lzo
布羅特利 (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
No compressionCodec:

gzip
snappy
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop
每個檔案的最大資料列 當您將資料寫入資料夾時,可以選擇寫入多個檔案,並指定每個檔案的資料列上限。 指定您想要為每個檔案寫入的最大資料列。 <每個檔案的資料列數上限> No maxRowsPerFile
檔名前置詞 適用於設定 每個檔案 的資料列上限時。 當您將資料寫入多個檔案時,請指定檔案名稱前置詞,使系統進行此模式:<fileNamePrefix>_00000.<fileExtension>。 如果未指定,系統會自動產生檔案名稱前置詞。 當來源是以檔案為基礎的存放區,或啟用資料分割選項的資料存放區時,系統不會套用此屬性。 <您的檔名前置詞> No fileNamePrefix