Excel filformat i Azure Data Factory och Azure Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Följ den här artikeln när du vill parsa de Excel filerna. Tjänsten stöder både ".xls" och ".xlsx".

Excel format stöds för följande anslutningsappar: 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 och SFTP. Det stöds som källa men inte mottagare.

Anteckning

Formatet ".xls" stöds inte vid användning av HTTP.

Egenskaper för datamängd

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln Datauppsättningar . Det här avsnittet innehåller en lista över egenskaper som stöds av Excel datauppsättning.

Egenskap Beskrivning Krävs
typ Datamängdens typegenskap måste anges till Excel. Ja
location Platsinställningar för filen/filerna. Varje filbaserad anslutningsapp har en egen platstyp och egenskaper som stöds under location. Ja
Kalkylbladsnamn Det Excel kalkylbladsnamnet för att läsa data. Ange sheetName eller sheetIndex
sheetIndex Det Excel kalkylbladsindex för att läsa data med början från 0. Ange sheetName eller sheetIndex
Utbud Cellområdet i det angivna kalkylbladet för att hitta selektiva data, t.ex.
- Inte angivet: läser hela kalkylbladet som en tabell från den första icke-tomma raden och kolumnen
- A3: läser en tabell med början från den angivna cellen, identifierar dynamiskt alla rader nedan och alla kolumner till höger
- A3:H5: läser det här fasta intervallet som en tabell
- A3:A3: läser den här enskilda cellen
Inga
firstRowAsHeader Anger om den första raden i det angivna kalkylbladet/området ska behandlas som en rubrikrad med namn på kolumner.
Tillåtna värden är true och false (standard).
Inga
nullValue Anger strängrepresentationen av null-värdet.
Standardvärdet är tom sträng.
Inga
komprimering Grupp med egenskaper för att konfigurera filkomprimering. Konfigurera det här avsnittet när du vill utföra komprimering/dekomprimering under aktivitetskörningen. Inga
typ
(under compression)
Den komprimeringskodc som används för att läsa/skriva JSON-filer.
Tillåtna värden är bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy eller lz4. Standardvärdet är inte komprimerat.
Observera att aktiviteten Kopiera för närvarande inte stöder "snappy" & "lz4", och dataflödet för mappning stöder inte "ZipDeflate", "TarGzip" och "Tar".
Observera när du använder kopieringsaktivitet för att dekomprimera ZipDeflate-filer och skriva till filbaserade mottagardatalager, filer extraheras till mappen: <path specified in dataset>/<folder named as source zip file>/.
Nej.
nivå
(under compression)
Komprimeringsförhållandet.
Tillåtna värden är optimala eller snabbaste.
- Snabbaste: Komprimeringsåtgärden bör slutföras så snabbt som möjligt, även om den resulterande filen inte komprimeras optimalt.
- Optimal: Komprimeringsåtgärden bör komprimeras optimalt, även om åtgärden tar längre tid att slutföra. Mer information finns i avsnittet Komprimeringsnivå .
Inga

Nedan visas ett exempel på Excel datauppsättning på Azure Blob Storage:

{
    "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
        }
    }
}

Kopiera egenskaper för aktivitet

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av Excel källa.

Excel som källa

Följande egenskaper stöds i avsnittet kopieringsaktivitet *source* .

Egenskap Beskrivning Krävs
typ Typegenskapen för kopieringsaktivitetskällan måste anges till ExcelSource. Ja
storeSettings En grupp med egenskaper för hur du läser data från ett datalager. Varje filbaserad anslutningsapp har egna läsinställningar som stöds under storeSettings. Inga
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

Mappa dataflödesegenskaper

I mappning av dataflöden kan du läsa Excel format i följande datalager: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 och SFTP. Du kan peka på Excel filer antingen med hjälp av Excel datauppsättning eller med hjälp av en infogad datauppsättning.

Källegenskaper

I tabellen nedan visas de egenskaper som stöds av en Excel källa. Du kan redigera dessa egenskaper på fliken Källalternativ . När du använder infogad datauppsättning visas ytterligare filinställningar, som är samma som egenskaperna som beskrivs i avsnittet egenskaper för datauppsättningen .

Name Beskrivning Krävs Tillåtna värden Egenskap för dataflödesskript
Sökvägar för jokertecken Alla filer som matchar sökvägen med jokertecken bearbetas. Åsidosätter mappen och filsökvägen som angetts i datauppsättningen. nej Sträng[] jokerteckenSökvägar
Partitionsrotsökväg För fildata som är partitionerade kan du ange en partitionsrotsökväg för att läsa partitionerade mappar som kolumner nej Sträng partitionRootPath
Lista över filer Om källan pekar på en textfil som listar filer som ska bearbetas nej true eller false Filförteckning
Kolumn för att lagra filnamn Skapa en ny kolumn med källfilens namn och sökväg nej Sträng rowUrlColumn
Efter slutförande Ta bort eller flytta filerna efter bearbetning. Filsökvägen startar från containerroten nej Ta bort: true eller false
Flytta: ['<from>', '<to>']
purgeFiles
moveFiles
Filtrera efter senast ändrad Välj att filtrera filer baserat på när de senast ändrades nej Timestamp modifiedAfter
modifiedBefore
Tillåt att inga filer hittas Om det är sant utlöses inget fel om inga filer hittas nej true eller false ignoreNoFilesFound

Källexempel

Bilden nedan är ett exempel på en Excel källkonfiguration i mappning av dataflöden med hjälp av datauppsättningsläge.

Excel source

Det associerade dataflödesskriptet är:

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

Om du använder infogad datauppsättning visas följande källalternativ i mappning av dataflöde.

Excel source inline dataset

Det associerade dataflödesskriptet är:

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

Hantering av mycket stora Excel filer

Anslutningsappen Excel stöder inte direktuppspelningsläsning för aktiviteten Kopiera och måste läsa in hela filen i minnet innan data kan läsas. Om du vill importera schema, förhandsgranska data eller uppdatera en Excel datauppsättning måste data returneras före tidsgränsen för HTTP-begäran (100-talet). För stora Excel filer kanske de här åtgärderna inte slutförs inom den tidsramen, vilket orsakar ett tidsgränsfel. Om du vill flytta stora Excel filer (>100 MB) till ett annat datalager kan du använda något av följande alternativ för att kringgå den här begränsningen:

  • Använd SHIR (Self-Hosted Integration Runtime) och använd sedan aktiviteten Kopiera för att flytta den stora Excel-filen till ett annat datalager med SHIR.
  • Dela upp den stora Excel filen i flera mindre och använd sedan aktiviteten Kopiera för att flytta mappen som innehåller filerna.
  • Använd en dataflödesaktivitet för att flytta den stora Excel filen till ett annat datalager. Dataflödet stöder direktuppspelningsläsning för Excel och kan snabbt flytta/överföra stora filer.
  • Konvertera den stora Excel filen till CSV-format manuellt och använd sedan en aktiviteten Kopiera för att flytta filen.

Nästa steg