Il formato Parquet in Data Factory in Microsoft Fabric

Questo articolo illustra come configurare il formato Parquet nella pipeline di Data Factory su Microsoft Fabric.

Funzionalità supportate

Il formato Parquet è supportato per le attività e i connettori seguenti come origine e destinazione.

Categoria Connettore/attività
Connettori supportati Amazon S3
Amazon S3 Compatibile
Azure Blob Storage
Azure Data Lake Storage Gen2
File di Azure
Sistema di file
FTP
Google Cloud Storage
HTTP
Lakehouse File
Archiviazione in Oracle Cloud
SFTP
Attività supportata Attività di copia (origine/destinazione)
Attività di Ricerca
Attività di GetMetadata
Elimina attività

Formato Parquet nell'attività di copia

Per configurare il formato Parquet, scegliere la connessione nell'origine o nella destinazione di un'attività di copia della pipeline e quindi selezionare Parquet nell'elenco a discesa Formato file. Selezionare Impostazioni per configurare ulteriormente questo formato.

Screenshot che mostra le impostazioni del formato dei file.

Formato Parquet come sorgente

Dopo aver selezionato Impostazioni nella sezione Formato file, nella finestra di dialogo Impostazioni formato file vengono visualizzate le seguenti proprietà.

Screenshot che mostra l'origine del formato di file Parquet.

  • Tipo di compressione: scegliere il codec di compressione usato per leggere i file Parquet nell'elenco a discesa. È possibile scegliere tra Nessuno, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2), or lz4hadoop.

Formato Parquet come destinazione

Dopo aver selezionato Impostazioni, vengono visualizzate le proprietà seguenti nella finestra di dialogo Impostazioni formato file popup.

Screenshot che mostra la destinazione del formato di file Parquet.

  • Tipo di compressione: scegliere il codec di compressione usato per scrivere i file Parquet nell'elenco a discesa. È possibile scegliere tra Nessuno, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2), or lz4hadoop.

  • Usare V-Order: attivare un'ottimizzazione del tempo di scrittura nel formato di file Parquet. Per altre informazioni, vedere Ottimizzazione tabella Delta Lake e V-Order. È abilitata per impostazione predefinita.

In Impostazioni avanzate nella scheda Destinazione vengono visualizzate le proprietà correlate al formato Parquet seguenti.

  • Numero massimo di righe per file: quando si scrivono dati in una cartella, è possibile scegliere di scrivere su più file e specificare il numero massimo di righe per file. Specificare il numero massimo di righe da scrivere per ogni file.
  • Prefisso del nome file: Applicabile quando è configurato il numero massimo di righe per file. Specificare il prefisso del nome file durante la scrittura di dati in più file, risultando in questo schema: <fileNamePrefix>_00000.<fileExtension>. Se non specificato, il prefisso del nome file è generato automaticamente. Questa proprietà non si applica quando l'origine è l'archivio basato su file o archivio dati abilitato per l'opzione di partizione.

Mappatura

Per la configurazione della scheda Mapping, se non si applica il formato Parquet come archivio dati di destinazione, vai alla Mapping.

Modificare i tipi di dati di destinazione

Quando si copiano dati nel connettore di destinazione in formato Parquet, ad eccezione della configurazione in Mapping, è possibile specificare determinati tipi di colonna di destinazione dopo aver abilitato le impostazioni avanzate del tipo Parquet. È anche possibile configurare l'opzione IsNullable per specificare se ogni colonna di destinazione Parquet consente valori Null. Il valore predefinito per IsNullable è true.

Le mappature seguenti vengono usate dalle tipologie di dati provvisori supportate per la modifica interna da parte del servizio ai formati di dati Parquet.

Tipo di dati del servizio provvisorio Tipo logico Parquet Tipo fisico Parquet
Data e ora Opzione 1: null
Opzione 2: TIMESTAMP
Opzione 1: INT96 (impostazione predefinita)
Opzione 2: INT64 (unità: MILLIS, MICROS, NANOS (impostazione predefinita))
DateTimeOffset Opzione 1: null
Opzione 2: TIMESTAMP
Opzione 1: INT96 (impostazione predefinita)
Opzione 2: INT64 (unità: MILLIS, MICROS, NANOS (impostazione predefinita))
TimeSpan TEMPO INT32 (unità: MILLIS)
INT64 (unità: MICROS, NANOS (impostazione predefinita))
Decimal DECIMALE INT32 (1 <= precisione <= 9)
INT64 (precisione <9 < = 18)
FIXED_LEN_BYTE_ARRAY (precisione > 18) (impostazione predefinita)
GUID Opzione 1: STRING
Opzione 2: UUID
Opzione 1: BYTE_ARRAY (impostazione predefinita)
Opzione 2: FIXED_LEN_BYTE_ARRAY
Matrice di byte Null BYTE_ARRAY (impostazione predefinita) o FIXED_LEN_BYTE_ARRAY

Ad esempio, il tipo per la colonna decimalData nell'origine viene convertito in un tipo di servizio provvisorio: Decimal. In base alla tabella di mapping precedente, il tipo mappato per la colonna di destinazione viene determinato automaticamente in base alla precisione specificata. Se la precisione è uguale o inferiore a 9, viene mappata a INT32. Per i valori di precisione superiori a 9 e fino a 18, viene mappato a INT64. Se la precisione supera 18, viene mappata a FIXED_LEN_BYTE_ARRAY.

Screenshot della mappatura del tipo di colonna di destinazione.

Mapping dei tipi di dati per Parquet

Quando si copiano dati dal connettore di origine in formato Parquet, i seguenti mapping vengono utilizzati per convertire i tipi di dati Parquet in tipi di dati provvisori utilizzati internamente dal servizio.

Tipo logico Parquet Tipo fisico di Parquet Tipo di dati del servizio provvisorio
Null BOOLEAN Boolean
INT(8, true) INT32 SByte
INT(8, false) INT32 Byte
INT(16, true) INT32 Int16
INT(16, false) INT32 UInt16
INT(32, true) INT32 Int32
INT(32, false) INT32 UInt32
INT(64, true) INT64 Int64
INT(64, false) INT64 UInt64
Null FLOAT Single
Null DOPPIO Double
DECIMALE INT32, INT64, FIXED_LEN_BYTE_ARRAY o BYTE_ARRAY Decimal
DATTERO INT32 Date
TEMPO INT32 o INT64 Data e ora
TIMESTAMP INT64 Data e ora
ENUM BYTE_ARRAY String
UUID Array di byte a lunghezza fissa (FIXED_LEN_BYTE_ARRAY) GUID
Null BYTE_ARRAY Matrice di byte
STRING BYTE_ARRAY String

Quando si copiano dati nel connettore di destinazione in formato Parquet, vengono usati i seguenti mapping per i tipi di dati temporanei utilizzati internamente dal servizio verso i tipi di dati Parquet.

Tipo di dati del servizio provvisorio Tipo logico Parquet Tipo fisico Parquet
Boolean Null BOOLEAN
SByte INT INT32
Byte INT INT32
Int16 INT INT32
UInt16 INT INT32
Int32 INT INT32
UInt32 INT INT32
Int64 INT INT64
UInt64 INT INT64
Single Null FLOAT
Double Null DOPPIO
Data e ora Null INT96
DateTimeOffset Null INT96
Date DATTERO INT32
TimeSpan TEMPO INT64
Decimal DECIMALE INT32, INT64 o FIXED_LEN_BYTE_ARRAY
GUID STRING BYTE_ARRAY
String STRING BYTE_ARRAY
Matrice di byte Null BYTE_ARRAY

Tabella riepilogativa

Parquet come sorgente

Le seguenti proprietà sono supportate nella sezione Origine dell'attività di copia quando si utilizza il formato Parquet.

Nome Descrizione valore Richiesto Proprietà script JSON
Formato di file Formato che si desidera usare. Parquet tipo (sotto datasetSettings):
Parquet
Tipo di compressione Codec di compressione usato per leggere file Parquet. Scegliere tra:
Nessuno
gzip (.gz)
snappy
lzo
Brotli (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
No compressionCodec:

gzip
reattivo
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop

Parquet come destinazione

Le seguenti proprietà sono supportate nella sezione Destinazione dell'attività di copia quando si utilizza il formato Parquet.

Nome Descrizione valore Richiesto Proprietà script JSON
Formato di file Formato che si desidera usare. Parquet tipo (sotto datasetSettings):
Parquet
Usare l’ordine V Ottimizzazione del tempo di scrittura nel formato di file parquet. Selezionato o deselezionato No enableVertiParquet
Tipo di compressione Codec di compressione usato per scrivere file Parquet. Scegliere tra:
Nessuno
gzip (.gz)
snappy
lzo
Brotli (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
No compressionCodec:

gzip
reattivo
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop
Numero massimo di righe per file Quando si scrivono dati in una cartella, è possibile scegliere di scrivere su più file e specificare il numero massimo di righe per file. Specificare il numero massimo di righe da scrivere per ogni file. <numero massimo di righe per file> No maxRowsPerFile
Prefisso del nome file Applicabile quando è configurato il numero massimo di righe per file. Specificare il prefisso del nome file durante la scrittura di dati in più file, risultando in questo schema: <fileNamePrefix>_00000.<fileExtension>. Se non specificato, il prefisso del nome file è generato automaticamente. Questa proprietà non si applica quando l'origine è l'archivio basato su file o archivio dati abilitato per l'opzione di partizione. <prefisso del nome del file> No fileNamePrefix