Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, detalha-se como configurar o formato Parquet no pipeline do Data Factory no Microsoft Fabric.
Funcionalidades com suporte
O formato Parquet tem suporte para as seguintes atividades e conectores como origem e destino.
| Categoria | Conector/Atividade |
|---|---|
| Conector compatível | Amazônia S3 |
| Compatível com o Amazon S3 | |
| Armazenamento de Blobs do Azure | |
| Azure Data Lake Storage Gen1 | |
| Azure Data Lake Storage Gen2 | |
| Arquivos do Azure | |
| Sistema de arquivos | |
| FTP | |
| Google Cloud Storage | |
| HTTP | |
| Arquivos do Lakehouse | |
| Armazenamento em Nuvem Oracle | |
| SFTP | |
| Atividade com suporte | atividade Copy (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 ver mais configurações desse formato.
Formato Parquet como origem
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.
- Tipo de compactação: escolha o codec de compactação usado para ler arquivos Parquet na lista suspensa. Você pode escolher entre None, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2)ou lz4hadoop.
Formato 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.
Tipo de compactação: escolha o codec de compactação usado para ler arquivos Parquet na lista suspensa. Você pode escolher entre None, gzip (.gz), snappy, lzo, Brotli (.br), Zstandard, lz4, lz4frame, bzip2 (.bz2)ou lz4hadoop.
Usar Ordem V: habilite uma otimização de tempo de gravação para o formato de arquivo parquet. Para obter mais informações, consulte Otimização de tabela do Delta Lake e V-Order. Ele é habilitado 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 as linhas máximas que você deseja gravar por arquivo.
-
Prefixo de nome de 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 de nome de arquivo será gerado automaticamente. Essa propriedade não se aplica quando a origem é um repositório baseado em arquivo ou um armazenamento de dados habilitado para uma opção de partição.
Mapeamento
Para a configuração da guia Mapeamento, caso você não use o formato Parquet como seu armazenamento de dados de destino, vá 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 Parquet Avançado. Você também pode configurar a opção IsNullable para especificar se cada coluna de destino Parquet permite valores nulos. O valor padrão para IsNullable é true.
Os mapeamentos a seguir são utilizados para converter tipos de dados provisórios, que têm suporte para edição pelo serviço internamente, em tipos de dados Parquet.
| Tipo de dados de serviço provisório | Tipo lógico Parquet | Tipo físico parquet |
|---|---|---|
| DateTime | Opção 1: nulo Opção 2: TIMESTAMP |
Opção 1: INT96 (padrão) Opção 2: INT64 (Unidade: MILLIS, MICROS, NANOS (padrão)) |
| DateTimeOffset | Opção 1: nulo 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 | nulo | BYTE_ARRAY (padrão) ou FIXED_LEN_BYTE_ARRAY |
Por exemplo, o tipo da coluna decimalData na origem é convertido em um tipo provisório de serviço: 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 será 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 será mapeada para FIXED_LEN_BYTE_ARRAY.
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 Parquet | Tipo físico parquet | Tipo de dados de serviço provisório |
|---|---|---|
| nulo | BOOLEAN | booleano |
| 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 |
| nulo | FLOAT | Solteiro |
| nulo | DOBRAR | 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 | String |
| UUID | FIXED_LEN_BYTE_ARRAY | GUID |
| nulo | BYTE_ARRAY | Matriz de bytes |
| STRING | BYTE_ARRAY | String |
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 Parquet | Tipo físico parquet |
|---|---|---|
| booleano | 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 |
| Solteiro | nulo | FLOAT |
| Double | nulo | DOBRAR |
| DateTime | nulo | INT96 |
| DateTimeOffset | nulo | INT96 |
| Date | DATE | INT32 |
| TimeSpan | TIME | INT64 |
| Decimal | DECIMAL | INT32, INT64 ou FIXED_LEN_BYTE_ARRAY |
| GUID | STRING | BYTE_ARRAY |
| String | STRING | BYTE_ARRAY |
| Matriz de bytes | nulo | BYTE_ARRAY |
Resumo da tabela
Parquet como fonte
As propriedades a seguir têm suporte na seção Origem da atividade de cópia ao usar o formato de texto delimitado.
| Nome | Descrição | Valor | Obrigatório | Propriedade de script JSON |
|---|---|---|---|---|
| Formato de arquivo | O formato de arquivo que você deseja usar. | Parquet | Sim | tipo (em datasetSettings):Parquet |
| Tipo de compactação | O codec de compactação usado para ler/gravar arquivos binários. | Escolha entre: Nenhuma gzip (.gz) snappy lzo Brotli (.br) Zstandard lz4 lz4frame bzip2 (.bz2) lz4hadoop |
Não | compressionCodec: gzip snappy lzo brotli zstd lz4 lz4frame bz2 lz4hadoop |
Parquet como destino
As propriedades a seguir são compatíveis na seção Destino da atividade de cópia ao usar o formato de texto delimitado.
| Nome | Descrição | Valor | Obrigatório | Propriedade de script JSON |
|---|---|---|---|---|
| Formato de arquivo | O formato de arquivo que você deseja usar. | Parquet | Sim | tipo (em datasetSettings):Parquet |
| Usar ordem V | Uma otimização de tempo de gravação para o formato de arquivo parquet. | Selecionado ou não selecionado | Não | enableVertiParquet |
| Tipo de compactação | O codec de compactação usado para ler/gravar arquivos binários. | Escolha entre: Nenhuma gzip (.gz) snappy lzo Brotli (.br) Zstandard lz4 lz4frame bzip2 (.bz2) lz4hadoop |
Não | compressionCodec: gzip snappy lzo brotli zstd lz4 lz4frame bz2 lz4hadoop |
| 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 as linhas máximas que você deseja gravar por arquivo. | <suas linhas máximas por arquivo > | Não | maxRowsPerFile |
| Prefixo de nome de 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 de nome de arquivo será gerado automaticamente. Essa propriedade não se aplica quando a origem é um repositório baseado em arquivo ou um armazenamento de dados habilitado para uma opção de partição. |
<o prefixo do seu nome de arquivo > | Não | fileNamePrefix |