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

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

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

Siga este artigo quando desejar analisar os arquivos Excel. O serviço é compatível com ".xls" e ".xlsx".

O formato de Excel é compatível com 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, Oracle Cloud Storage 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 das propriedades compatíveis com o conjunto de dados Excel.

Propriedade Descrição Obrigatório
type 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 ler os dados. Especifique sheetName ou sheetIndex
sheetIndex O índice da planilha do Excel para ler dados, começando em 0. Especifique sheetName ou sheetIndex
range O intervalo de células na planilha fornecida para localizar os dados seletivos, por exemplo:
- Não especificado: lê a planilha inteira como uma tabela 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
nullValue Especifica a representação de cadeia de caracteres do valor nulo.
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
type
(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.
Observação a atividade Copy atualmente não dá suporte a "snappy" e "lz4" e o fluxo de dados de mapeamento não dá suporte a "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 no 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 fornece uma lista das propriedades compatíveis com a origem Excel.

Excel como origem

As propriedades a seguir têm suporte na seção de *origem* da atividade Copy.

Propriedade Descrição Obrigatório
type 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

Nos fluxos de dados de mapeamento, é possível 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 de uma origem Excel. Você pode editar essas propriedades na guia Opções de origem. Ao usar o conjunto de dados embutido, será possível ver as configurações de arquivo adicionais, que são iguais às propriedades descritas na seção Propriedades do conjunto de dados.

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 a pasta e o caminho 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 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 Carimbo de data/hora 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 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.

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

Como processar arquivos muito grandes do Excel

O conector do Excel não dá suporte à leitura de streaming para a atividade Copy e precisa carregar o arquivo inteiro na memória para que os dados sejam lidos. Para importar o esquema, visualizar os dados ou atualizar um conjunto de dados do Excel, os dados precisam ser retornados antes do tempo limite da solicitação HTTP (100s). Para arquivos grandes do Excel, talvez essas operações não sejam concluídas dentro desse período, causando um erro de tempo limite. Caso deseje mover arquivos grandes do Excel (>100 MB) para outro armazenamento de dados, use uma das seguintes opções para resolver 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 grande do Excel em vários menores e use a atividade Copy 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 dá suporte à leitura de streaming para Excel e pode mover/transferir arquivos grandes rapidamente.
  • Converta manualmente o arquivo grande do Excel em formato CSV e use uma atividade Copy para mover o arquivo.