Формат Parquet в фабрике данных в Microsoft Fabric

В этой статье описывается настройка формата Parquet в конвейере Data Factory в Microsoft Fabric.

Поддерживаемые возможности

Формат Parquet поддерживается для следующих действий и соединителей в качестве источника и назначения.

Категория Соединитель или действие
Поддерживаемый соединитель Amazon S3
Совместимая с Amazon S3
Хранилище BLOB-объектов Azure
Azure Data Lake Storage 2-го поколения
Файлы Azure
Файловая система
FTP
Google Cloud Storage
HTTP
Lakehouse Files
Хранилище Oracle Cloud
SFTP
Поддерживаемая активность Действие копирования (источник или назначение)
Операция поиска
Активность получения метаданных
Удаление действия

Формат Parquet при копировании

Чтобы настроить формат Parquet, выберите подключение в источнике или приёмнике копирования данных, а затем выберите Parquet в раскрывающемся списке формата файла. Выберите параметры для дальнейшей настройки этого формата.

Снимок экрана: параметры формата файла.

Формат Parquet в качестве источника

После выбора параметров в разделе "Формат файла" в диалоговом окне "Всплывающие параметры формата файла" отображаются следующие свойства.

Снимок экрана, показывающий формат файла Parquet в качестве источника.

  • Тип сжатия: выберите кодек сжатия, используемый для чтения файлов Parquet в раскрывающемся списке. Вы можете выбрать из None, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2) или lz4hadoop.

Формат Parquet как место назначения

После выбора Настройки в диалоговом окне настроек формата файла отображаются следующие свойства.

Снимок экрана с указанием местоположения в формате файла паркет.

  • Тип сжатия: выберите кодек сжатия, используемый для записи файлов Parquet в раскрывающемся списке. Вы можете выбрать из None, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2), или lz4hadoop.

  • Используйте V-Order: включите оптимизацию времени записи в формат файла parquet. Дополнительные сведения см. в разделе "Оптимизация таблицы Delta Lake" и "V-Order". Он включен по умолчанию.

В разделе „Дополнительные настройки“ на вкладке „Назначение“ отображаются следующие свойства, связанные с форматом Parquet.

  • Максимальное количество строк для каждого файла: при записи данных в папку можно выбрать запись в несколько файлов и указать максимальные строки для каждого файла. Укажите максимальные строки, которые требуется записать для каждого файла.
  • Префикс имени файла: применимо, если настроены максимальные строки для каждого файла . Укажите префикс имени файла при записи данных в несколько файлов, в результате чего используется следующий шаблон: <fileNamePrefix>_00000.<fileExtension>. Если имя файла не указано, префикс имени файла создается автоматически. Это свойство не применяется, если источник является хранилищем данных на основе файлов или хранилищем данных с включенной опцией разделов.

Картирование

Если вы не применяете формат Parquet в качестве целевого хранилища данных, перейдите в раздел "Сопоставление".

Изменение типов данных назначения

При копировании данных в целевой соединитель в формате Parquet, не считая конфигурации в Mapping, можно указать определенные типы столбцов назначения после включения параметров расширенного типа Parquet. Можно также настроить параметр IsNullable, чтобы указать, допускает ли каждый целевой столбец Parquet значения NULL. Значение по умолчанию для IsNullable — это true.

Следующие сопоставления используются из промежуточных типов данных, поддерживаемых службой для внутреннего редактирования, в типы данных Parquet.

Тип данных временной службы Логический тип Parquet Физический тип Parquet
DateTime Вариант 1: null
Вариант 2. TIMESTAMP
Вариант 1. INT96 (по умолчанию)
Вариант 2: INT64 (единица: МИЛЛИ, МИКРОС, NANOS (по умолчанию))
DateTimeOffset Вариант 1: null
Вариант 2. TIMESTAMP
Вариант 1. INT96 (по умолчанию)
Вариант 2: INT64 (единица: МИЛЛИ, МИКРОС, NANOS (по умолчанию))
TimeSpan TIME INT32 (единица: МИЛЛИСЕКУНДЫ)
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
Массив байтов ноль BYTE_ARRAY (по умолчанию) или FIXED_LEN_BYTE_ARRAY

Например, тип столбца decimalData в источнике преобразуется в промежуточный тип службы: Decimal. Согласно приведенной выше таблице сопоставления, сопоставленный тип для целевого столбца автоматически определяется в соответствии с указанной точностью. Если точность равна 9 или меньше, она сопоставляется с INT32. Для значений точности выше 9 и до 18 он сопоставляется с INT64. Если точность превышает 18, она сопоставляется с FIXED_LEN_BYTE_ARRAY.

снимок экрана с сопоставлением типа целевого столбца.

Сопоставление типов данных для Parquet

При копировании данных из исходного соединителя в формате Parquet используются следующие сопоставления типов данных Parquet с промежуточными типами данных, применяемыми службой.

Логический тип Parquet Физический тип Parquet Тип данных временной службы
ноль BOOLEAN Boolean
INT(8, истина) INT32 SByte
INT(8, false) INT32 Байт
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
ноль FLOAT Single
ноль ДВОЙНОЙ Double
ДЕСЯТИЧНЫЙ INT32, INT64, FIXED_LEN_BYTE_ARRAY или BYTE_ARRAY Decimal
DATE INT32 Date
TIME INT32 или INT64 DateTime
TIMESTAMP INT64 DateTime
ENUM Массив байтов String
UUID FIXED_LEN_BYTE_ARRAY GUID
ноль Массив байтов Массив байтов
STRING Массив байтов String

При копировании данных в целевой соединитель в формате Parquet используются следующие сопоставления промежуточных типов данных, которые служба использует для преобразования в типы данных Parquet.

Тип данных временной службы Логический тип Parquet Физический тип Parquet
Boolean ноль BOOLEAN
SByte INT INT32
Байт INT INT32
Int16 INT INT32
UInt16 INT INT32
Int32 INT INT32
UInt32 INT INT32
Int64 INT INT64
UInt64 INT INT64
Single ноль FLOAT
Double ноль ДВОЙНОЙ
DateTime ноль INT96
DateTimeOffset ноль INT96
Date DATE INT32
TimeSpan TIME INT64
Decimal ДЕСЯТИЧНЫЙ INT32, INT64 или FIXED_LEN_BYTE_ARRAY
GUID STRING Массив байтов
String STRING Массив байтов
Массив байтов ноль Массив байтов

Сводка таблицы

Parquet в качестве источника

Следующие свойства поддерживаются в разделе источника действия копирования при использовании формата Parquet.

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Формат файлов Формат файла, который требуется использовать. Parquet Да тип (под datasetSettings):
Паркет
Тип сжатия Кодек сжатия, используемый для чтения файлов Parquet. Выберите один из вариантов:
Не допускается
gzip (.gz)
быстрый
lzo
Brotli (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
Нет compressionCodec:

gzip
быстрый
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop

Parquet в качестве места назначения

Следующие свойства поддерживаются в разделе назначения активности копирования с использованием формата Parquet.

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Формат файлов Формат файла, который требуется использовать. Parquet Да тип (под datasetSettings):
Паркет
Использование V-Order Оптимизация скорости записи для формата файла Parquet. выбрано или не выбрано Нет enableVertiParquet
Тип сжатия Кодек сжатия, используемый для записи файлов Parquet. Выберите один из вариантов:
Не допускается
gzip (.gz)
быстрый
lzo
Brotli (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
Нет compressionCodec:

gzip
быстрый
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop
Максимальное количество строк на файл При записи данных в папку можно выбрать запись в несколько файлов и указать максимальные строки для каждого файла. Укажите максимальные строки, которые требуется записать для каждого файла. <максимальное количество строк на файл> Нет maxRowsPerFile
Префикс имени файла Применимо, если настроены максимальные строки для каждого файла . Укажите префикс имени файла при записи данных в несколько файлов, в результате чего используется следующий шаблон: <fileNamePrefix>_00000.<fileExtension>. Если имя файла не указано, префикс имени файла создается автоматически. Это свойство не применяется, если источник является хранилищем данных на основе файлов или хранилищем данных с включенной опцией разделов. <префикс имени файла> Нет Префикс имени файла