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. É suportado como fonte, mas não como sumidouro.
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.º |
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 rapidamente possível, mesmo que o ficheiro resultante não esteja comprimido da melhor forma. - 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 arquivos | 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.
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.
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
Nota
O mapeamento do fluxo de dados não suporta a leitura de arquivos do 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.
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.