Compartir a través de


Formato de parquet en Data Factory en Microsoft Fabric

En este artículo se describe cómo configurar el formato Parquet en la canalización de Data Factory en Microsoft Fabric.

Funcionalidades admitidas

El formato Parquet es compatible con las siguientes actividades y conectores como origen y destino.

Category Conector/Actividad
Conector compatible Amazon S3
Compatible con Amazon S3
Azure Blob Storage
Azure Data Lake Storage Gen1
Azure Data Lake Storage Gen2
Archivos de Azure
Sistema de archivos
FTP
Google Cloud Storage
HTTP
Archivos del almacén de lago
Oracle Cloud Storage
SFTP
Actividad compatible Copiar actividad (origen/destino)
Actividad de búsqueda
Actividad GetMetadata
Actividad de eliminación

Formato Parquet en la actividad de copia

Para configurar el formato Parquet, elija su conexión en el origen o destino de una actividad de copia de una canalización y, a continuación, seleccione Parquet en la lista desplegable de Formato de archivo. Seleccione Configuración para una configuración adicional de este formato.

Captura de pantalla que muestra la configuración del formato de archivo.

Formato Parquet como origen

Después de seleccionar Configuración en la sección Formato de archivo , se muestran las siguientes propiedades en el cuadro de diálogo emergente Configuración de formato de archivo .

Captura de pantalla que muestra el origen del formato de archivo de parquet.

  • Tipo de compresión : elija el códec de compresión utilizado para leer los archivos de Parquet en la lista desplegable. Puede elegir entre Ninguno, gzip (.gz), snappy, lzo , Brotli (.br), Zstandard, lz4, lz4frame , bzip2 (.bz2) o lz4hadoop .

Formato Parquet como destino

Después de seleccionar Configuración, se muestran las siguientes propiedades en el cuadro de diálogo emergente Configuración de formato de archivo .

Captura de pantalla que muestra el destino del formato de archivo de parquet.

  • Tipo de compresión : elija el códec de compresión utilizado para escribir los archivos de Parquet en la lista desplegable. Puede elegir entre Ninguno, gzip (.gz), snappy, lzo , Brotli (.br), Zstandard, lz4, lz4frame , bzip2 (.bz2) o lz4hadoop .

  • Usar V-Order : habilite una optimización del tiempo de escritura en el formato de archivo de parquet. Para obtener más información, consulte Optimización de la tabla de Delta Lake yV-Order . Está habilitada de forma predeterminada.

En la configuración Avanzada de la ficha Destino, se muestran las siguientes propiedades relacionadas con el formato de Parquet.

  • Máximo de filas por archivo: al escribir datos en una carpeta, puede elegir escribir en varios archivos y especificar el máximo de filas por archivo. Especifique las filas máximas que desea escribir por archivo.
  • Prefijo de nombre de archivo: aplicable cuando se configura Número máximo de filas por archivo. Especifique el prefijo de nombre de archivo al escribir datos en varios archivos, lo que da como resultado este patrón: <fileNamePrefix>_00000.<fileExtension>. Si no se especifica, el prefijo de nombre de archivo se genera automáticamente. Esta propiedad no se aplica cuando el origen es un almacén basado en archivos o una opción de partición habilitada para el almacén de datos.

Cartografía

Para la configuración de la pestaña Mapeo, si no utiliza el formato Parquet como almacén de datos de destino, vaya a Mapeo.

Editar tipos de datos de destino

Al copiar datos en el conector de destino en formato Parquet, excepto la configuración en Asignación, puede especificar determinados tipos de columnas de destino después de habilitar la configuración avanzada del tipo Parquet. También puede configurar la opción IsNullable para especificar si cada columna de destino de Parquet permite valores NULL. El valor predeterminado de IsNullable es true.

Las asignaciones siguientes se usan de tipos de datos provisionales admitidos por el servicio para su edición interna en tipos de datos Parquet.

Tipo de datos de servicio provisional Tipo lógico Parquet Tipo físico parquet
DateTime Opción 1: null
Opción 2: TIMESTAMP
Opción 1: INT96 (valor predeterminado)
Opción 2: INT64 (Unidad: MILLIS, MICROS, NANOS (valor predeterminado))
DateTimeOffset Opción 1: null
Opción 2: TIMESTAMP
Opción 1: INT96 (valor predeterminado)
Opción 2: INT64 (Unidad: MILLIS, MICROS, NANOS (valor predeterminado))
TimeSpan TIME INT32 (Unidad: milisegundos)
INT64 (Unidad de medida: MICROS, NANOS (por defecto))
Decimal DECIMAL INT32 (1 <= precisión <= 9)
INT64 (9 < precisión < = 18)
FIXED_LEN_BYTE_ARRAY (precisión > 18) (valor predeterminado)
GUID Opción 1: STRING
Opción 2: UUID
Opción 1: BYTE_ARRAY (valor predeterminado)
Opción 2: FIXED_LEN_BYTE_ARRAY (Matriz de bytes de longitud fija)
Matriz de bytes nulo BYTE_ARRAY (valor predeterminado) o FIXED_LEN_BYTE_ARRAY

Por ejemplo, el tipo para la columna decimalData del origen se convierte en un tipo de servicio provisional: Decimal. Según la tabla de asignación anterior, el tipo asignado para la columna de destino se determina automáticamente según la precisión especificada. Si la precisión es 9 o menos, se asigna a INT32. Para los valores de precisión superiores a 9 y hasta 18, se mapea a INT64. Si la precisión supera los 18, se asigna a FIXED_LEN_BYTE_ARRAY.

Captura de pantalla del tipo de columna de destino de mapeo.

Asignación de tipos de datos para Parquet

Al copiar datos desde el conector de origen en formato Parquet, las siguientes asignaciones se usan de tipos de datos de Parquet a los tipos de datos provisionales utilizados por el servicio internamente.

Tipo lógico Parquet Tipo físico parquet Tipo de datos de servicio provisional
nulo BOOLEAN Boolean
INT(8, true) INT32 SByte
INT(8, false) INT32 Byte
INT(16, true) INT32 Int16
INT(16, falso) INT32 UInt16
INT(32, true) INT32 Int32
INT(32, false) INT32 UInt32
INT(64, true) INT64 Int64
INT(64, false) INT64 UInt64
nulo FLOAT Soltero
nulo DOBLE Double
DECIMAL INT32, INT64, FIXED_LEN_BYTE_ARRAY o BYTE_ARRAY Decimal
DATE INT32 Fecha
TIME INT32 o INT64 DateTime
TIMESTAMP INT64 DateTime
ENUM BYTE_ARRAY String
UUID FIXED_LEN_BYTE_ARRAY GUID
nulo BYTE_ARRAY Matriz de bytes
STRING BYTE_ARRAY String

Al copiar datos en el conector de destino en formato Parquet, las siguientes asignaciones se usan de tipos de datos provisionales utilizados por el servicio internamente a tipos de datos parquet.

Tipo de datos de servicio provisional Tipo lógico Parquet Tipo físico parquet
Boolean nulo 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
Soltero nulo FLOAT
Double nulo DOBLE
DateTime nulo INT96
DateTimeOffset nulo INT96
Fecha DATE INT32
TimeSpan TIME INT64
Decimal DECIMAL INT32, INT64 o FIXED_LEN_BYTE_ARRAY
GUID STRING BYTE_ARRAY
String STRING BYTE_ARRAY
Matriz de bytes nulo BYTE_ARRAY

Resumen de tabla

Parquet como origen

Las siguientes propiedades se admiten en la sección Origen de la actividad de copia cuando se utiliza el formato Parquet.

Nombre Descripción Value Obligatorio Propiedad de script JSON
Formato de archivo El formato de archivo que quiere usar. Parquet tipo (en datasetSettings):
Parquet
Tipo de compresión El códec de compresión utilizado para leer los archivos de Parquet. Elija entre las siguientes opciones:
Ninguna
gzip (.gz)
snappy
lzo
Brotli (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
No compressionCodec:

gzip
snappy
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop

Parquet como destino

Las siguientes propiedades se admiten en la sección Destino de la actividad de copia cuando se utiliza el formato Parquet.

Nombre Descripción Value Obligatorio Propiedad de script JSON
Formato de archivo El formato de archivo que quiere usar. Parquet tipo (en datasetSettings):
Parquet
Usar V-Order Optimización del tiempo de escritura en el formato de archivo parquet. seleccionado o no seleccionado No enableVertiParquet
Tipo de compresión El códec de compresión utilizado para escribir archivos Parquet. Elija entre las siguientes opciones:
Ninguna
gzip (.gz)
snappy
lzo
Brotli (.br)
Zstandard
lz4
lz4frame
bzip2 (.bz2)
lz4hadoop
No compressionCodec:

gzip
snappy
lzo
brotli
zstd
lz4
lz4frame
bz2
lz4hadoop
Número máximo de filas por archivo Al escribir datos en una carpeta, puede optar por escribir en varios archivos y especificar el número máximo de filas por archivo. Especifique las filas máximas que desea escribir por archivo. <las filas máximas por archivo> No maxRowsPerFile
Prefijo de nombre de archivo Se aplica cuando Número máximo de filas por archivo está configurado. Especifique el prefijo de nombre de archivo al escribir datos en varios archivos, lo que da como resultado este patrón: <fileNamePrefix>_00000.<fileExtension>. Si no se especifica, el prefijo de nombre de archivo se genera automáticamente. Esta propiedad no se aplica cuando el origen es un almacén basado en archivos o una opción de partición habilitada para el almacén de datos. < el prefijo del nombre de archivo > No fileNamePrefix