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

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Siga este artigo quando quiser analisar os ficheiros Excel. O serviço suporta ".xls" e ".xlsx".

O formato Excel é suportado para os seguintes conectores: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage e SFTP. Ele é suportado como fonte, mas não coletor.

Nota

O formato ".xls" não é suportado durante o uso de HTTP.

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo Conjuntos de dados. Esta seção fornece uma lista de propriedades suportadas pelo conjunto de dados do Excel.

Property Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como Excel. Sim
localização Configurações de localização do(s) arquivo(s). Cada conector baseado em arquivo tem seu próprio tipo de local e propriedades suportadas em location. Sim
Nome da folha O nome da planilha do Excel para ler dados. Especificar sheetName ou sheetIndex
sheetIndex O índice da planilha do Excel para ler dados, a partir de 0. Especificar sheetName ou sheetIndex
range 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 da primeira linha e coluna não vazias
- A3: lê uma tabela a partir da célula dada, deteta 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 a primeira linha na planilha/intervalo determinado deve ser tratada como uma linha de cabeçalho com nomes de colunas.
Os valores permitidos são true e false (padrão).
Não
nullValue Especifica a representação da cadeia de caracteres do valor nulo.
O valor padrão é cadeia de caracteres vazia.
Não
compressão Grupo de propriedades para configurar a compactação de arquivos. Configure esta seção quando quiser fazer compressão/descompactação durante a execução da atividade. Não
tipo
(em compression)
O codec de compressão usado 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.
Observação atualmente A atividade de cópia não suporta "snappy" & "lz4", e o fluxo de dados de mapeamento não suporta "ZipDeflate", "TarGzip" e "Tar".
Observe que, ao usar a atividade de cópia para descompactar o(s) arquivo(s) ZipDeflate e gravar no armazenamento de dados do 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 compressão.
Os valores permitidos são Ótimo ou Mais Rápido.
- Mais rápido: A operação de compressão deve ser concluída o mais rápido possível, mesmo que o arquivo resultante não seja compactado de forma ideal.
- Ideal: A operação de compressão deve ser compactada de forma ideal, mesmo que a operação demore mais tempo para ser concluída. Para obter mais informações, consulte o tópico Nível de compactação.
Não

Abaixo está um exemplo de conjunto de dados do Excel no Armazenamento de Blob 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 Copy

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades suportadas pela fonte do Excel.

Excel como fonte

As propriedades a seguir são suportadas na seção copy activity *source* .

Property Descrição Obrigatório
tipo A propriedade type da fonte de 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 suportadas em storeSettings. Não
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

Mapeando propriedades de fluxo de dados

No mapeamento de fluxos de dados, você pode ler o formato do Excel nos seguintes armazenamentos de dados: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 e SFTP. Você pode apontar para arquivos do Excel usando o conjunto de dados do Excel ou usando um conjunto de dados embutido.

Propriedades de origem

A tabela abaixo lista as propriedades suportadas por uma fonte do Excel. Você pode editar essas propriedades na guia Opções de origem . Ao usar o conjunto de dados embutido, você verá configurações de arquivo adicionais, que são as mesmas que as propriedades descritas na seção de propriedades do conjunto de dados.

Nome Descrição Obrigatório Valores permitidos Propriedade do script de fluxo de dados
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[] wildcardCaminhos
Caminho da raiz da partição Para dados de arquivo particionados, você pode inserir um caminho raiz de partição para ler pastas particionadas como colunas não String partitionRootPath
Lista de ficheiros Se sua fonte está 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 do arquivo de origem e o caminho não String rowUrlColumn
Após a conclusão Exclua ou mova os arquivos após o processamento. O caminho do arquivo começa a partir da raiz do contêiner não Eliminar: true ou false
Movimentar-se: ['<from>', '<to>']
purgeFiles
moveFiles
Filtrar por última modificação Opte por filtrar ficheiros com base na data em que foram alterados pela última vez não Carimbo de Data/Hora modificadoApós
modificadoAntes
Não permitir que nenhum arquivo seja encontrado Se verdadeiro, um erro não é lançado se nenhum arquivo for encontrado não true ou false ignoreNoFilesFound

Exemplo de fonte

A imagem abaixo é um exemplo de uma configuração de origem do Excel no mapeamento de fluxos de dados 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 mapeamento do fluxo de dados.

Excel source inline dataset

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

Tratamento de ficheiros Excel muito grandes

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

  • Use o tempo de execução de integração auto-hospedado (SHIR) e, em seguida, use a atividade Copiar para mover o arquivo grande do Excel para outro armazenamento de dados com o SHIR.
  • Divida o arquivo grande do Excel em vários arquivos menores e use a atividade Copiar para mover a pasta que contém os arquivos.
  • Use uma atividade de fluxo de dados para mover o arquivo grande do Excel para outro armazenamento de dados. O fluxo de dados suporta leitura de streaming para Excel e pode mover/transferir arquivos grandes rapidamente.
  • Converta manualmente o arquivo grande do Excel para o formato CSV e, em seguida, use uma atividade Copiar para mover o arquivo.