Partilhar via


Formato Parquet no Data Factory no Microsoft Fabric

Este artigo descreve como configurar o formato Parquet no pipeline do Data Factory no Microsoft Fabric.

Capacidades suportadas

O formato Parquet é suportado para as seguintes atividades e conectores como origem e destino.

Categoria Conector/Atividade
Conector suportado Amazon S3
Compatível com Amazon S3
Armazenamento de Blobs do Azure
Armazenamento do Azure Data Lake Ger1
Azure Data Lake Storage Gen2 (Armazenamento do Azure Data Lake Gen2)
Ficheiros do Azure
Sistema de ficheiros
FTP
Armazenamento em nuvem do Google
HTTP
Arquivos Lakehouse
Armazenamento em nuvem Oracle
SFTP
Atividade apoiada Atividade de cópia (origem/destino)
Atividade de Pesquisa
Atividade GetMetadata
Excluir atividade

Formato Parquet na atividade de cópia

Para configurar o formato Parquet, escolha sua conexão na origem ou no destino de uma atividade de cópia de pipeline e selecione Parquet na lista suspensa de Formato de arquivo. Selecione Configurações para configuração adicional deste formato.

Captura de ecrã a mostrar definições de formato de ficheiro.

Formato de parquet como fonte

Depois de selecionar Configurações na seção Formato de arquivo , as seguintes propriedades são mostradas na caixa de diálogo pop-up Configurações de formato de arquivo.

Captura de tela mostrando a origem do formato de arquivo parquet.

  • Tipo de compactação: escolha o codec de compactação usado para ler arquivos Parquet na lista suspensa. Você pode escolher entre Nenhum, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2) ou lz4hadoop.

Formato de parquet como destino

Depois de selecionar Configurações, as seguintes propriedades são mostradas na caixa de diálogo pop-up Configurações de formato de arquivo.

Captura de tela mostrando o destino do formato de arquivo parquet.

  • Tipo de compactação: escolha o codec de compactação usado para gravar arquivos Parquet na lista suspensa. Você pode escolher entre Nenhum, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2) ou lz4hadoop.

  • Use V-Order: habilite uma otimização do tempo de gravação para o formato de arquivo parquet. Para obter mais informações, consulte Otimização da tabela Delta Lake e V-Order. Ele é ativado por padrão.

Em Configurações avançadas na guia Destino , as seguintes propriedades relacionadas ao formato Parquet são exibidas.

  • Máximo de linhas por arquivo: Ao gravar dados em uma pasta, você pode optar por gravar em vários arquivos e especificar o máximo de linhas por arquivo. Especifique o máximo de linhas que você deseja escrever por arquivo.
  • Prefixo do nome do arquivo: Aplicável quando o máximo de linhas por arquivo é configurado. Especifique o prefixo do nome do arquivo ao gravar dados em vários arquivos, resultando neste padrão: <fileNamePrefix>_00000.<fileExtension>. Se não for especificado, o prefixo do nome do arquivo será gerado automaticamente. Essa propriedade não se aplica quando a origem é um armazenamento baseado em arquivo ou um armazenamento de dados habilitado para opção de partição.

Mapeamento

Para a configuração da guia Mapeamento, se não usar o formato Parquet como armazenamento de dados de destino, deverá ir para Mapeamento.

Editar tipos de dados de destino

Ao copiar dados para o conector de destino no formato Parquet, exceto a configuração no Mapeamento, você pode especificar determinados tipos de coluna de destino depois de habilitar as configurações de tipo Advanced Parquet. Você também pode configurar a opção IsNullable para especificar se cada coluna de destino do Parquet permite valores nulos. O valor padrão para IsNullable é true.

Os mapeamentos a seguir são usados a partir de tipos de dados provisórios suportados para edição pelo serviço internamente para tipos de dados do Parquet.

Tipo de dados de serviço provisório Tipo lógico de parquet Tipo físico de parquet
DateTime Opção 1: null
Opção 2: Carimbo de Data/Hora
Opção 1: INT96 (padrão)
Opção 2: INT64 (Unidade: MILLIS, MICROS, NANOS (padrão))
DateTimeOffset Opção 1: null
Opção 2: TIMESTAMP
Opção 1: INT96 (padrão)
Opção 2: INT64 (Unidade: MILLIS, MICROS, NANOS (padrão))
TimeSpan TIME INT32 (Unidade: MILLIS)
INT64 (Unidade: MICROS, NANOS (padrão))
Decimal DECIMAL INT32 (1 <= precisão <= 9)
INT64 (9 < precisão <= 18)
FIXED_LEN_BYTE_ARRAY (precisão > 18) (padrão)
GUID Opção 1: STRING
Opção 2: UUID
Opção 1: BYTE_ARRAY (padrão)
Opção 2: FIXED_LEN_BYTE_ARRAY
Matriz de bytes null BYTE_ARRAY (padrão) ou FIXED_LEN_BYTE_ARRAY

Por exemplo, o tipo da coluna decimalData na origem é convertido em um tipo de serviço provisório: Decimal. De acordo com a tabela de mapeamento acima, o tipo mapeado para a coluna de destino é determinado automaticamente de acordo com a precisão especificada. Se a precisão for 9 ou menos, ela é mapeada para INT32. Para valores de precisão acima de 9 e até 18, ele é mapeado para INT64. Se a precisão exceder 18, ela é mapeada para FIXED_LEN_BYTE_ARRAY.

Captura de ecrã do tipo de coluna de destino do mapeamento.

Mapeamento de tipo de dados para Parquet

Ao copiar dados do conector de origem no formato Parquet, os mapeamentos a seguir são usados de tipos de dados Parquet para tipos de dados provisórios usados pelo serviço internamente.

Tipo lógico de parquet Tipo físico de parquet Tipo de dados de serviço provisório
null BOOLEAN booleano
INT(8, verdadeiro) INT32 SByte
INT(8, falso) INT32 Byte
INT(16, verdadeiro) INT32 Int16
INT(16, falso) INT32 UInt16
INT(32, verdadeiro) INT32 Int32
INT(32, falso) INT32 UInt32
INT(64, verdadeiro) INT64 Int64
INT(64, falso) INT64 UInt64
null FLOAT Single
null DUPLO Double
DECIMAL INT32, INT64, FIXED_LEN_BYTE_ARRAY ou BYTE_ARRAY Decimal
DATE INT32 Date
TIME INT32 ou INT64 DateTime
TIMESTAMP INT64 DateTime
ENUM BYTE_ARRAY Cordão
UUID FIXED_LEN_BYTE_ARRAY GUID
null BYTE_ARRAY Matriz de bytes
STRING BYTE_ARRAY Cordão

Ao copiar dados para o conector de destino no formato Parquet, os mapeamentos a seguir são usados de tipos de dados provisórios usados pelo serviço internamente para tipos de dados Parquet.

Tipo de dados de serviço provisório Tipo lógico de parquet Tipo físico de parquet
booleano 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 DUPLO
DateTime null INT96
DateTimeOffset null INT96
Date DATE INT32
TimeSpan TIME INT64
Decimal DECIMAL INT32, INT64 ou FIXED_LEN_BYTE_ARRAY
GUID STRING BYTE_ARRAY
Cordão STRING BYTE_ARRAY
Matriz de bytes null BYTE_ARRAY

Resumo da tabela

Parquet como fonte

As propriedades a seguir são suportadas na seção Fonte da atividade de cópia ao usar o formato Parquet.

Nome Descrição valor Necessário Propriedade de script JSON
Formato do ficheiro O formato de ficheiro que pretende utilizar. Parquet Sim tipo (em datasetSettings):
Parquet
Tipo de compressão O codec de compressão usado para ler arquivos Parquet. Escolha entre:
Nenhuma
gzip (.gz)
Ágil
LZO
Brotli (.br)
Zstandard
LZ4
lz4frame
bzip2 (.bz2)
lz4hadoop
Não compressãoCodec:

gzip
snappy
LZO
Brotli
ZSTD
lz4
lz4frame
BZ2
lz4hadoop

Parquet como destino

As propriedades a seguir são suportadas na seção Destino da atividade de cópia ao usar o formato Parquet.

Nome Descrição valor Necessário Propriedade de script JSON
Formato do ficheiro O formato de ficheiro que pretende utilizar. Parquet Sim tipo (em datasetSettings):
Parquet
Usar V-Order Uma otimização do tempo de gravação para o formato de arquivo parquet. selecionado ou não selecionado Não enableVertiParquet
Tipo de compressão O codec de compressão usado para escrever arquivos Parquet. Escolha entre:
Nenhuma
gzip (.gz)
Ágil
LZO
Brotli (.br)
Zstandard
LZ4
lz4frame
bzip2 (.bz2)
lz4hadoop
Não compressãoCodec:

gzip
snappy
LZO
Brotli
ZSTD
lz4
lz4frame
BZ2
lz4hadoop
Máximo de linhas por ficheiro Ao gravar dados em uma pasta, você pode optar por gravar em vários arquivos e especificar o máximo de linhas por arquivo. Especifique o máximo de linhas que você deseja escrever por arquivo. <o máximo de linhas por ficheiro> Não maxRowsPerFile
Prefixo do nome do arquivo Aplicável quando o máximo de linhas por arquivo é configurado. Especifique o prefixo do nome do arquivo ao gravar dados em vários arquivos, resultando neste padrão: <fileNamePrefix>_00000.<fileExtension>. Se não for especificado, o prefixo do nome do arquivo será gerado automaticamente. Essa propriedade não se aplica quando a origem é um armazenamento baseado em arquivo ou um armazenamento de dados habilitado para opção de partição. <seu prefixo de nome de arquivo> Não fileNamePrefix