Udostępnij przez


Format Parquet w usłudze Data Factory w usłudze Microsoft Fabric

W tym artykule opisano sposób konfigurowania formatu Parquet w potoku usługi Data Factory w usłudze Microsoft Fabric.

Obsługiwane możliwości

Format Parquet jest obsługiwany w przypadku następujących działań i łączników jako źródła i miejsca docelowego.

Kategoria Łącznik/działanie
Obsługiwany łącznik Amazon S3
Zgodność z usługą Amazon S3
Azure Blob Storage
Usługa Azure Data Lake Storage 1. generacji
Azure Data Lake Storage Gen2
Azure Files
System plików
FTP
Google Cloud Storage
HTTP
Pliki lakehouse
Oracle Cloud Storage
SFTP
Obsługiwane działanie działanie Kopiuj (źródło/miejsce docelowe)
Działanie Lookup
Działanie GetMetadata
Działanie usuwania

Format Parquet w działaniu kopiowania

Aby skonfigurować format Parquet, wybierz połączenie w źródle lub miejscu docelowym działania kopiowania potoku, a następnie wybierz pozycję Parquet z listy rozwijanej Format pliku. Wybierz pozycję Ustawienia , aby uzyskać dalszą konfigurację tego formatu.

Zrzut ekranu przedstawiający ustawienia formatu pliku.

Format Parquet jako źródło

Po wybraniu pozycji Ustawienia w sekcji Format pliku w oknie dialogowym Ustawienia formatu pliku zostaną wyświetlone następujące właściwości.

Zrzut ekranu przedstawiający źródło formatu pliku parquet.

  • Typ kompresji: wybierz koder-dekoder kompresji używany do odczytywania plików Parquet na liście rozwijanej. Możesz wybrać spośród opcji None, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2), lub lz4hadoop.

Format Parquet jako miejsce docelowe

Po wybraniu pozycji Ustawienia zostaną wyświetlone następujące właściwości w wyskakującym oknie dialogowym Ustawienia formatu pliku.

Zrzut ekranu przedstawiający miejsce docelowe formatu pliku parquet.

  • Typ kompresji: wybierz koder-dekoder kompresji używany do zapisywania plików Parquet na liście rozwijanej. Możesz wybrać spośród opcji None, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2), lub lz4hadoop.

  • Użyj opcji V-Order: włącz optymalizację czasu zapisu w formacie pliku parquet. Aby uzyskać więcej informacji, zobacz Delta Lake table optimization and V-Order (Optymalizacja tabel usługi Delta Lake) i V-Order (Kolejność maszyn wirtualnych). Jest ona domyślnie włączona.

W obszarze Ustawienia zaawansowane na karcie Miejsce docelowe zostaną wyświetlone następujące właściwości powiązane z formatem Parquet.

  • Maksymalna liczba wierszy na plik: podczas zapisywania danych w folderze można zapisać w wielu plikach i określić maksymalną liczbę wierszy na plik. Określ maksymalną liczbę wierszy, które mają być zapisywane dla każdego pliku.
  • Prefiks nazwy pliku: ma zastosowanie, gdy skonfigurowano maksymalną liczbę wierszy na plik . Określ prefiks nazwy pliku podczas zapisywania danych w wielu plikach, co spowodowało następujący wzorzec: <fileNamePrefix>_00000.<fileExtension>. Jeśli nie zostanie określony, prefiks nazwy pliku jest generowany automatycznie. Ta właściwość nie ma zastosowania, gdy źródło jest magazynem opartym na plikach lub opcją partycji włączonego magazynu danych.

Mapowanie

W przypadku konfiguracji karty Mapping, jeśli nie zastosujesz formatu Parquet jako docelowego magazynu danych, przejdź do Mapping.

Edytowanie docelowych typów danych

Podczas kopiowania danych do łącznika docelowego w formacie Parquet, z wyjątkiem konfiguracji w Mapowaniu, można określić typy kolumn docelowych po włączeniu zaawansowanych ustawień typów Parquet. Można również skonfigurować opcję IsNullable, aby określić, czy każda kolumna w docelowym pliku Parquet pozwala na wartości null. Wartość domyślna dla IsNullable to true.

Następujące mapowania są stosowane dla przejściowych typów danych obsługiwanych wewnętrznie przez usługę do edycji na typy danych Parquet.

Typ danych usługi tymczasowej Typ logiczny Parquet Typ fizyczny Parquet
DateTime Opcja 1: null
Opcja 2: Znacznik czasu
Opcja 1: INT96 (ustawienie domyślne)
Opcja 2: INT64 (jednostka: MILLIS, MICROS, NANOS (wartość domyślna))
DateTimeOffset Opcja 1: null
Opcja 2: sygnatura czasowa
Opcja 1: INT96 (ustawienie domyślne)
Opcja 2: INT64 (jednostka: MILLIS, MICROS, NANOS (wartość domyślna))
TimeSpan TIME INT32 (Jednostka: MILLIS)
INT64 (Jednostka: MICROS, NANOS (wartość domyślna))
Decimal DZIESIĘTNY INT32 (1 <= precyzja <= 9)
INT64 (9 < precyzja < = 18)
FIXED_LEN_BYTE_ARRAY (precyzja > 18) (wartość domyślna)
GUID Opcja 1. CIĄG
Opcja 2: UUID
Opcja 1: BYTE_ARRAY (ustawienie domyślne)
Opcja 2: FIXED_LEN_BYTE_ARRAY
Tablica bajtów null BYTE_ARRAY (ustawienie domyślne) lub FIXED_LEN_BYTE_ARRAY

Na przykład typ kolumny decimalData w źródle jest konwertowany na typ usługi tymczasowej: Decimal. Zgodnie z tabelą mapowania powyżej typ mapowany dla kolumny docelowej jest automatycznie określany zgodnie z określoną dokładnością. Jeśli precyzja jest 9 lub mniejsza, jest przypisywana do INT32. W przypadku wartości dokładności powyżej 9 i do 18 jest mapowany na INT64. Jeśli precyzja przekroczy 18, jest mapowana na FIXED_LEN_BYTE_ARRAY.

Zrzut ekranu przedstawiający typ kolumny docelowej mapowania.

Mapowanie typów danych dla Parquet

Podczas kopiowania danych z łącznika źródłowego w formacie Parquet następujące mapowania są używane z typów danych Parquet do tymczasowych typów danych używanych przez usługę wewnętrznie.

Typ logiczny Parquet Typ fizyczny Parquet Typ danych usługi tymczasowej
null BOOLEAN logiczny
INT(8, true) INT32 SByte
INT(8, fałsz) INT32 Bajt
INT(16, prawda) INT32 Int16
INT(16, false) INT32 UInt16
INT(32, true) INT32 Int32
INT(32, false) INT32 UInt32
INT(64, true) INT64 Int64
INT(64, fałsz) INT64 UInt64
null FLOAT Single
null PODWÓJNY Double
DZIESIĘTNY INT32, INT64, FIXED_LEN_BYTE_ARRAY lub BYTE_ARRAY Decimal
DATE INT32 Date
TIME INT32 lub INT64 DateTime
TIMESTAMP INT64 DateTime
ENUM Tablica bajtów Sznurek
UUID FIXED_LEN_BYTE_ARRAY GUID
null Tablica bajtów Tablica bajtów
STRING Tablica bajtów Sznurek

Podczas kopiowania danych do łącznika docelowego w formacie Parquet, używane są następujące mapowania, które przekształcają tymczasowe typy danych stosowane wewnętrznie przez usługę na typy danych Parquet.

Typ danych usługi tymczasowej Typ logiczny Parquet Typ fizyczny Parquet
logiczny null BOOLEAN
SByte INT INT32
Bajt 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 PODWÓJNY
DateTime null INT96
DateTimeOffset null INT96
Date DATE INT32
TimeSpan TIME INT64
Decimal DZIESIĘTNY INT32, INT64 lub FIXED_LEN_BYTE_ARRAY
GUID STRING Tablica bajtów
Sznurek STRING Tablica bajtów
Tablica bajtów null Tablica bajtów

Podsumowanie tabeli

Parquet jako źródło

Poniższe właściwości są obsługiwane w sekcji Źródło działania kopiowania w przypadku korzystania z formatu Parquet.

Nazwa/nazwisko Opis Wartość Wymagania Właściwość skryptu JSON
Format pliku Format pliku, którego chcesz użyć. Parkiet Tak type (w obszarze datasetSettings):
Parquet
Typ kompresji Koder koder kompresji używany do odczytywania plików Parquet. Wybierz jedną z:
Brak
gzip (.gz)
Żwawy
lzo
Brotli (br)
Zstandard
lz4
lz4frame
bzip2 (bz2)
lz4hadoop
Nie. compressionCodec:

gzip
Żwawy
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop

Parquet jako miejsce docelowe

Poniższe właściwości są obsługiwane w sekcji Miejsce docelowe działania kopiowania w przypadku korzystania z formatu Parquet.

Nazwa/nazwisko Opis Wartość Wymagania Właściwość skryptu JSON
Format pliku Format pliku, którego chcesz użyć. Parkiet Tak type (w obszarze datasetSettings):
Parquet
Użyj polecenia V-Order Optymalizacja czasu zapisu w formacie pliku parquet. zaznaczone lub niezaznaczone Nie. enableVertiParquet
Typ kompresji Koder koder kompresji używany do pisania plików Parquet. Wybierz jedną z:
Brak
gzip (.gz)
Żwawy
lzo
Brotli (br)
Zstandard
lz4
lz4frame
bzip2 (bz2)
lz4hadoop
Nie. compressionCodec:

gzip
Żwawy
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop
Maksymalna liczba wierszy na plik Podczas zapisywania danych w folderze można zapisać w wielu plikach i określić maksymalną liczbę wierszy na plik. Określ maksymalną liczbę wierszy, które mają być zapisywane dla każdego pliku. <maksymalna liczba wierszy na plik> Nie. maxRowsPerFile
Prefiks nazwy pliku Ma zastosowanie w przypadku skonfigurowania maksymalnej liczby wierszy na plik . Określ prefiks nazwy pliku podczas zapisywania danych w wielu plikach, co spowodowało następujący wzorzec: <fileNamePrefix>_00000.<fileExtension>. Jeśli nie zostanie określony, prefiks nazwy pliku jest generowany automatycznie. Ta właściwość nie ma zastosowania, gdy źródło jest magazynem opartym na plikach lub opcją partycji włączonego magazynu danych. <prefiks nazwy pliku> Nie. fileNamePrefix