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.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Dica
Data Factory no Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA interna e novos recursos. Se você não estiver familiarizado com a integração de dados, comece com Fabric Data Factory. As cargas de trabalho existentes do ADF podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.
Siga este artigo quando desejar analisar os arquivos parquet ou gravar os dados no formato parquet.
O formato parquet tem suporte para os seguintes conectores:
- Amazon S3
- Armazenamento compatível com Amazon S3
- Blob do Azure
- Azure Data Lake Storage Gen1
- Azure Data Lake Storage Gen2
- Arquivos do Azure
- Sistema de Arquivos
- FTP
- Google Cloud Storage
- HDFS
- HTTP
- Armazenamento em Nuvem da Oracle
- SFTP
Para obter uma lista de recursos com suporte para todos os conectores disponíveis, visite o artigo Visão geral dos conectores.
Uso do Integration Runtime auto-hospedado
Importante
Para cópias autorizadas pelo Integration Runtime (auto-hospedado), por exemplo, entre repositórios de dados locais e na nuvem, se você não estiver copiando arquivos Parquet como são, precisará instalar o JRE 8 de 64 bits (Java Runtime Environment), JDK 23 (Java Development Kit) ou OpenJDK no IR de seu computador. Confira o próximo parágrafo para obter mais detalhes.
Para cópia em execução no IR auto-hospedado com serialização/desserialização de arquivo Parquet, o serviço encontra o runtime do Java verificando o registro (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) para JRE, em primeiro lugar e, se não encontrado, realiza, em segundo lugar, a verificação na variável do sistema JAVA_HOME para o OpenJDK.
- Para usar JRE: o IR de 64 bits requer JRE de 64 bits. É possível encontrá-lo aqui.
-
Para usar o JDK: o IR de 64 bits requer o JDK 23 de 64 bits. É possível encontrá-lo aqui. Atualize a variável do sistema
JAVA_HOMEpara a pasta raiz da instalação do JDK 23, ou seja,C:\Program Files\Java\jdk-23e adicione o caminho às pastasC:\Program Files\Java\jdk-23\bineC:\Program Files\Java\jdk-23\bin\serverà variável do sistemaPath. - Para usar o OpenJDK: ele é compatível desde a versão do IR 3.13. Empacote o jvm.dll com todos os outros assemblies necessários do OpenJDK no IR Auto-hospedado do computador e defina a variável de ambiente do sistema JAVA_HOME adequadamente e, em seguida, reinicie o IR Auto-hospedado para entrar em vigor imediatamente. Para baixar o Microsoft Build do OpenJDK, consulte Microsoft Build do OpenJDK™.
Dica
Se você copiar os dados para/do formato Parquet usando o Integration Runtime auto-hospedado e ocorrências de erro informando que "Ocorreu um erro ao chamar o java, mensagem: espaço de heap java.lang.OutOfMemoryError:Java", poderá adicionar uma variável de ambiente _JAVA_OPTIONS na máquina que hospeda o IR auto-hospedado para ajustar o tamanho mín/máx do heap para JVM para capacitar a cópia e executar novamente o pipeline.
Exemplo: defina a variável _JAVA_OPTIONS com o valor -Xms256m -Xmx16g. O sinalizador Xms especifica o pool de alocação de memória inicial para uma JVM (máquina virtual) Java, enquanto Xmx especifica o pool de alocação de memória máximo. Isso significa que a JVM será iniciada com Xms quantidade de memória e será capaz de usar um máximo de Xmx quantidade de memória. Por padrão, o serviço usa no mínimo 64 MB e no máximo 1 G.
Propriedades do conjunto de dados
Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre Conjuntos de Dados. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados do Parquet.
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade Type do conjunto de dados deve ser definida como Parquet. | Sim |
| local | Configurações de local dos arquivos. Cada conector baseado em arquivo tem seu próprio tipo de local e propriedades com suporte em location.
Veja os detalhes na seção do artigo sobre o conector –> Propriedades do conjunto de dados. |
Sim |
| Codec de compactação | O codec de compactação a ser usado ao gravar em arquivos parquet. Ao ler de arquivos parquet, as fábricas de dados determinam automaticamente o codec de compactação com base nos metadados do arquivo. Os tipos com suporte são "none", "gzip", "snappy" (padrão) e "lzo". Observação: atualmente a atividade de cópia não dá suporte a LZO ao ler/gravar arquivos Parquet. |
Não |
Observação
Não há suporte para o espaço em branco no nome da coluna para arquivos parquet.
Veja abaixo um exemplo de conjunto de dados Parquet no Armazenamento de Blobs do Azure:
{
"name": "ParquetDataset",
"properties": {
"type": "Parquet",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, retrievable during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder",
},
"compressionCodec": "snappy"
}
}
}
Propriedades da atividade de cópia
Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines. Esta seção fornece uma lista das propriedades suportadas pela fonte parquet e pelo coletor.
Parquet como fonte
As propriedades a seguir têm suporte na seção de *origem* da atividade Copy.
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade Type da fonte da atividade de cópia deve ser definida como ParquetSource. | Sim |
| storeSettings | Um grupo de propriedades sobre como ler dados de um armazenamento de dados. Cada conector baseado em arquivo tem suas próprias configurações de leitura com suporte em storeSettings.
Veja os detalhes na seção do artigo sobre o conector –> Propriedades da atividade Copy. |
Não |
Parquet como coletor
As propriedades a seguir têm suporte na seção do *coletor* da atividade Copy.
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade Type do coletor da atividade de cópia deve ser definida como ParquetSink. | Sim |
| formatSettings | Um grupo de propriedades. Consulte a tabela Configurações de gravação de parquet abaixo. | Não |
| storeSettings | Um grupo de propriedades sobre como gravar dados em um armazenamento de dados. Cada conector baseado em arquivo tem suas próprias configurações de gravação com suporte em storeSettings.
Veja os detalhes na seção do artigo sobre o conector –> Propriedades da atividade Copy. |
Não |
Configurações de gravação de parquet com suporte em formatSettings:
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| tipo | O tipo de formatSettings deve ser definido como ParquetWriteSettings. | Sim |
| maxRowsPerFile | Ao gravar dados em uma pasta, você pode optar por gravar em vários arquivos e especificar o máximo de linhas por arquivo. | Não |
| fileNamePrefix | Aplicável quando maxRowsPerFile for 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 fonte é um armazenamento baseado em arquivo ou armazenamento de dados habilitado para opção de partição. |
Não |
Propriedades do fluxo de dados de mapeamento
Nos fluxos de dados de mapeamento, você pode ler e gravar no formato parquet nos seguintes armazenamentos de dados: Armazenamento de Blobs do Azure, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 e SFTP e ler o formato parquet em Amazon S3.
Propriedades da fonte
A tabela abaixo lista as propriedades suportadas por uma fonte parquet. Você pode editar essas propriedades na guia Opções de fonte.
| Nome | Descrição | Obrigatório | Valores permitidos | Propriedade do script de fluxo de dados |
|---|---|---|---|---|
| Formatar | O formato deve ser parquet |
sim | parquet |
format |
| Caminhos curinga | Todos os arquivos correspondentes ao caminho curinga serão processados. Substitui a pasta e o caminho do arquivo definidos no conjunto de dados. | não | String[] | wildcardPaths |
| Caminho raiz da partição | Para dados de arquivo particionados, é possível inserir um caminho raiz de partição para ler pastas particionadas como colunas | não | String | partitionRootPath |
| Lista de arquivos | Se sua fonte estiver apontando para um arquivo de texto que lista os arquivos a serem processados | não |
true ou false |
fileList |
| Coluna para armazenar o nome do arquivo | Criar uma nova coluna com o nome e o caminho do arquivo de origem | não | String | rowUrlColumn |
| Após a conclusão | Exclua ou mova os arquivos após o processamento. O caminho do arquivo inicia a partir da raiz do contêiner | não | Excluir: true ou false Mover: [<from>, <to>] |
purgeFiles moveFiles |
| Filtrar pela última modificação | Escolher filtrar arquivos com base na última alteração | não | Timestamp | modifiedAfter modifiedBefore |
| Permitir nenhum arquivo encontrado | Se for true, um erro não será gerado caso nenhum arquivo seja encontrado | não |
true ou false |
ignoreNoFilesFound |
Exemplo de fonte
A imagem abaixo é um exemplo de uma configuração de fonte parquet nos fluxos de dados de mapeamento.
O script de fluxo de dados associado é:
source(allowSchemaDrift: true,
validateSchema: false,
rowUrlColumn: 'fileName',
format: 'parquet') ~> ParquetSource
Propriedades do coletor
A tabela abaixo lista as propriedades suportadas por um coletor parquet. Você pode editar essas propriedades na guia Configurações.
| Nome | Descrição | Obrigatório | Valores permitidos | Propriedade do script de fluxo de dados |
|---|---|---|---|---|
| Formatar | O formato deve ser parquet |
sim | parquet |
format |
| Limpe a pasta | Se a pasta de destino for limpa antes da gravação | não |
true ou false |
truncar |
| Opção do nome do arquivo | O formato de nomenclatura dos dados gravados. Por padrão, um arquivo por partição no formato part-#####-tid-<guid> |
não | Padrão: cadeia de caracteres Por partição: cadeia de caracteres [] Como dados na coluna: cadeia de caracteres Saída para arquivo único: ['<fileName>'] |
filePattern partitionFileNames rowUrlColumn partitionFileNames |
Exemplo de coletor
A imagem abaixo é um exemplo de uma configuração de coletor de parquet nos fluxos de dados de mapeamento.
O script de fluxo de dados associado é:
ParquetSource sink(
format: 'parquet',
filePattern:'output[n].parquet',
truncate: true,
allowSchemaDrift: true,
validateSchema: false,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> ParquetSink
Mapeamento de tipo de dados para Parquet
Ao ler dados do conector de origem no formato Parquet, os mapeamentos a seguir são usados usando os tipos de dados Parquet nos tipos de dados provisórios usados pelo serviço internamente.
| Tipo do Parquet | Tipo de dados provisório do serviço |
|---|---|
| BOOLEAN | booleano |
| INT_8 | SByte |
| INT_16 | Int16 |
| INT_32 | Int32 |
| INT_64 | Int64 |
| INT96 | DateTime |
| UINT_8 | Byte |
| UINT_16 | UInt16 |
| UINT_32 | UInt32 |
| UINT_64 | UInt64 |
| DECIMAL | Decimal |
| FLOAT | Solteiro |
| DOUBLE | Double |
| DATE | Date |
| TIME_MILLIS | TimeSpan |
| TIME_MICROS | Int64 |
| TIMESTAMP_MILLIS | DateTime |
| TIMESTAMP_MICROS | Int64 |
| STRING | String |
| UTF8 | String |
| ENUM | Matriz de bytes |
| Identificador Único Universal (UUID) | Matriz de bytes |
| JSON | Matriz de bytes |
| BSON | Matriz de bytes |
| BINARY | Matriz de bytes |
| FIXED_LEN_BYTE_ARRAY | Matriz de bytes |
Ao gravar dados no conector do coletor no formato Parquet, os mapeamentos a seguir são usados usando os tipos de dados provisórios usados pelo serviço internamente nos tipos de dados Parquet.
| Tipo de dados provisório do serviço | Tipo do Parquet |
|---|---|
| booleano | BOOLEAN |
| SByte | INT_8 |
| Int16 | INT_32 |
| Int32 | INT_32 |
| Int64 | INT_64 |
| Byte | INT_32 |
| UInt16 | INT_32 |
| UInt32 | INT_64 |
| UInt64 | DECIMAL |
| Decimal | DECIMAL |
| Solteiro | FLOAT |
| Double | DOUBLE |
| Date | DATE |
| DateTime | INT96 |
| DateTimeOffset | INT96 |
| TimeSpan | INT96 |
| String | UTF8 |
| GUID | UTF8 |
| Matriz de bytes | BINARY |
Para saber mais sobre como a atividade Copy mapeia o tipo de dados e esquema de origem para o coletor, consulte Mapeamentos de tipo de dados e esquema.
Os tipos de dados complexos de parquet (por exemplo, MAP, LIST, STRUCT) são atualmente suportados apenas em Fluxos de Dados, e não em Atividade de Cópia. Para utilizar tipos complexos nos fluxos de dados, não importe o esquema de arquivos no conjunto de dados, deixando o esquema em branco no conjunto de dados. Em seguida, na transformação de Origem, importe a projeção.
Conteúdo relacionado
- Visão geral da atividade de cópia
- Fluxo de dados de mapeamento
- Atividade de pesquisa
- Atividade GetMetadata