Compartilhar via


Formato de arquivo Excel no Azure Data Factory e Azure Synapse Analytics

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 quiser analisar os arquivos Excel. O serviço é compatível com ".xls" e ".xlsx".

O formato Excel tem suporte para os seguintes conectores: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Arquivos do Azure, File System, FTP, Google Cloud Storage, HDFS, HTTP, Armazenamento em Nuvem da Oracle e SFTP. É compatível como origem, mas não como coletor.

Observação

O formato “.xls” não é compatível com o uso de HTTP.

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 de propriedades compatíveis com o conjunto de dados Excel.

Propriedade Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como Excel. 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. Sim
sheetName O nome da planilha do Excel para leitura de dados. Especifique sheetName ou sheetIndex
sheetIndex O índice da planilha do Excel para ler dados, começando em 0. Especifique sheetName ou sheetIndex
alcance O intervalo de células na planilha fornecida para localizar os dados seletivos, por exemplo:
- Não especificado: lê toda a planilha como uma tabela a partir da primeira linha e coluna não vazias
- A3: lê uma tabela a partir da célula especificada, detecta dinamicamente todas as linhas abaixo e todas as colunas à direita
- A3:H5: lê este intervalo fixo como uma tabela
- A3:A3: lê esta única célula
Não
firstRowAsHeader Especifica se deve tratar a primeira linha na planilha/intervalo fornecido como uma linha de cabeçalho com nomes de colunas.
Os valores permitidos são true e false (padrão).
Não
valor nulo Especifica a representação do valor nulo em forma de cadeia de caracteres.
O valor padrão pode ser uma cadeia de caracteres vazia.
Não
compactação Grupo de propriedades para configurar a compactação de arquivo. Configure esta seção quando desejar fazer compactação/descompactação durante a execução da atividade. Não
tipo
(em compression )
O codec de compactação utilizado para ler/gravar arquivos JSON.
Os valores permitidos são bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy ou lz4. O padrão é não compactado.
Nota: atualmente, a atividade Copy não é compatível com os formatos “snappy” e “lz4”, e o fluxo de dados de mapeamento não é compatível com os formatos “ZipDeflate”, “TarGzip” e “Tar”.
Observação ao usar a atividade Copy para descompactar arquivo(s) ZipDeflate e gravar no armazenamento de dados de coletor baseado em arquivo, os arquivos são extraídos para a pasta: <path specified in dataset>/<folder named as source zip file>/.
Não.
nível
(em compression )
A taxa de compactação.
Os valores permitidos são Ideal ou Mais rápida.
- Mais rápida: a operação de compactação deve ser concluída o mais rápido possível, mesmo se o arquivo resultante não for compactado da maneira ideal.
- Ideal: a operação de compactação deve ser concluída da maneira ideal, mesmo se a operação demorar mais tempo para ser concluída. Para saber mais, veja o tópico Nível de compactação .
Não

Veja abaixo um exemplo de conjunto de dados Excel em Armazenamento de Blobs do Azure:

{
    "name": "ExcelDataset",
    "properties": {
        "type": "Excel",
        "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",
            },
            "sheetName": "MyWorksheet",
            "range": "A3:H5",
            "firstRowAsHeader": true
        }
    }
}

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 apresenta uma lista de propriedades compatíveis com a fonte do Excel.

Excel como origem

As propriedades a seguir são suportadas na seção de *origem* da atividade de cópia.

Propriedade Descrição Obrigatório
tipo A propriedade type da origem da atividade de cópia deve ser definida como ExcelSource. 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. Não
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

Mapeamento de propriedades de fluxo de dados

Em fluxos de dados de mapeamento, você pode ler o formato Excel nos seguintes armazenamentos de dados: Armazenamento de Blobs do Azure, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 e SFTP. É possível apontar para arquivos Excel usando o conjunto de dados Excel ou um conjunto de dados embutido.

Propriedades da origem

A tabela abaixo lista as propriedades compatíveis com uma fonte de Excel. Você pode editar essas propriedades na guia Opções de origem. Ao usar o conjunto de dados embutido, é possível ver as configurações de arquivo adicionais, que são iguais às propriedades descritas na seção Propriedades do conjunto.

Nome Descrição Obrigatório Valores permitidos Propriedade do script do Fluxo de Dados
Caminhos curinga Todos os arquivos correspondentes ao caminho curinga serão processados. Substitui o caminho da pasta e do arquivo definido 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 Lista de Arquivos
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 Carimbo de data/hora modifiedAfter
modifiedBefore
Permitir nenhum arquivo encontrado Se for true, um erro não será gerado caso nenhum arquivo for encontrado não true ou false ignoreNoFilesFound

Exemplo de origem

A imagem abaixo é um exemplo de uma configuração de origem Excel nos fluxos de dados de mapeamento usando o modo de conjunto de dados.

Excel source

O script de fluxo de dados associado é:

source(allowSchemaDrift: true,
    validateSchema: false,
    wildcardPaths:['*.xls']) ~> ExcelSource

Se você usar o conjunto de dados embutido, verá as seguintes opções de origem no fluxo de dados de mapeamento.

Conjunto de dados de origem em linha do Excel

O script de fluxo de dados associado é:

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'excel',
    fileSystem: 'container',
    folderPath: 'path',
    fileName: 'sample.xls',
    sheetName: 'worksheet',
    firstRowAsHeader: true) ~> ExcelSourceInlineDataset

Observação

O fluxo de dados de mapeamento não dá suporte à leitura de arquivos de Excel protegidos, pois esses arquivos podem conter avisos de confidencialidade ou impor restrições de acesso específicas que limitam o acesso ao seu conteúdo.

Manipulando arquivos de Excel muito grandes

O conector Excel não dá suporte à leitura de streaming para o atividade Copy e deve carregar todo o arquivo na memória antes que os dados possam ser lidos. Para importar esquema, visualizar dados ou atualizar um conjunto de dados Excel, os dados devem ser retornados antes do tempo limite da solicitação http (100s). Para arquivos de Excel grandes, essas operações podem não ser concluídas dentro desse período, causando um erro de tempo limite. Se você quiser mover arquivos de Excel grandes (>100MB) para outro armazenamento de dados, poderá usar uma das seguintes opções para contornar essa limitação:

  • Use o SHIR (runtime de integração auto-hospedada) e a atividade Copy para mover o arquivo grande do Excel para outro armazenamento de dados com o SHIR.
  • Divida o arquivo de Excel grande em vários menores e use o atividade Copy para mover a pasta que contém os arquivos.
  • Use uma atividade de fluxo de dados para mover o arquivo de Excel grande para outro armazenamento de dados. O fluxo de dados dá suporte à leitura de streaming para Excel e pode mover/transferir arquivos grandes rapidamente.
  • Converta manualmente o arquivo de Excel grande em formato CSV e use um atividade Copy para mover o arquivo.