Condividi tramite


Formato di file di Excel in Azure Data Factory e Azure Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

Seguire questo articolo quando si desidera analizzare i file di Excel. Il servizio supporta sia ".xls" che ".xlsx".

Il formato Excel è supportato per i connettori seguenti: Amazon S3, Amazon S3 Compatible Storage, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, File di Azure, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage e SFTP. È supportato come origine, ma non come sink.

Nota

Il formato ".xls" non è supportato durante l'uso di HTTP.

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati. In questa sezione viene fornito un elenco delle proprietà supportate dal set di dati di Excel.

Proprietà Descrizione Richiesto
tipo La proprietà type del set di dati deve essere impostata su Excel.
posizione Impostazioni di posizione dei file. Ogni connettore basato su file ha il proprio tipo di posizione e le proprietà supportate in location.
sheetName Nome del foglio di lavoro di Excel per leggere i dati. Specificare sheetName o sheetIndex
sheetIndex Indice del foglio di lavoro di Excel per leggere i dati, a partire da 0. Specificare sheetName o sheetIndex
intervallo Intervallo di celle nel foglio di lavoro specificato per individuare i dati selettivi, ad esempio:
- Non specificato: legge l'intero foglio di lavoro come tabella dalla prima riga e colonna non vuota
- A3: legge una tabella a partire dalla cella specificata, rileva dinamicamente tutte le righe seguenti e tutte le colonne a destra
- A3:H5: legge questo intervallo fisso come tabella
- A3:A3: legge questa singola cella
No
firstRowAsHeader Specifica se trattare la prima riga del foglio di lavoro/intervallo come riga di intestazione con i nomi delle colonne.
I valori consentiti sono true e false (impostazione predefinita).
No
valore nullo Specifica la rappresentazione testuale del valore null.
Il valore predefinito è stringa vuota.
No
compressione Gruppo di proprietà per configurare la compressione dei file. Configurare questa sezione se si desidera eseguire la compressione/decompressione durante l'esecuzione dell'attività. No
tipo
(in compression)
Codec di compressione usato per leggere/scrivere file JSON.
I valori consentiti sono bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappyo lz4. Il valore predefinito non è compresso.
Nota attualmente l'attività Copy non supporta "snappy" & "lz4" e il flusso di dati di mapping non supporta "ZipDeflate", "TarGzip" e "Tar".
Si noti che quando si usa l'attività di copia per decomprimere i file ZipDeflate e scrivere nell'archivio dati sink basato su file, i file vengono estratti nella cartella : <path specified in dataset>/<folder named as source zip file>/.
No.
livello
(in compression)
Rapporto di compressione.
I valori consentiti sono ottimale o più veloce.
- Fastest: l'operazione di compressione deve essere completata il più rapidamente possibile, anche se il file risultante non viene compresso in modo ottimale.
- Optimal: l'operazione di compressione deve comprimere il file in modo ottimale, anche se il completamento richiede più tempo. Per maggiori informazioni, vedere l'argomento relativo al livello di compressione .
No

Di seguito è riportato un esempio di set di dati di Excel in Archiviazione BLOB di 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
        }
    }
}

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. In questa sezione viene fornito un elenco delle proprietà supportate dall'origine excel.

Excel come origine

Nella sezione *source* dell'attività Copy sono supportate le proprietà seguenti.

Proprietà Descrizione Richiesto
tipo La proprietà type dell'origine dell'attività di copia deve essere impostata su ExcelSource.
impostazioniNegozio Gruppo di proprietà su come leggere i dati da un archivio dati. Ogni connettore basato su file dispone di proprie impostazioni di lettura supportate in storeSettings. No
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

Proprietà di mapping del flusso di dati

Nei flussi di dati di mapping puoi leggere i file Excel nei seguenti archivi dati: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 e SFTP. È possibile puntare ai file di Excel utilizzando un dataset di Excel o un dataset inline.

Proprietà di origine

Nella tabella seguente sono elencate le proprietà supportate da un'origine excel. È possibile modificare queste proprietà nella scheda Opzioni origine. Quando si usa il set di dati inline, verranno visualizzate impostazioni di file aggiuntive, che corrispondono alle proprietà descritte nella sezione proprietà del set di dati.

Nome Descrizione Richiesto Valori consentiti Proprietà script del flusso di dati
Percorsi con caratteri jolly Verranno elaborati tutti i file corrispondenti al percorso con caratteri jolly. Esegue l'override della cartella e del percorso del file impostato nel set di dati. no String[] wildcardPaths
Partition Root Path (Percorso radice partizione) Per i dati dei file partizionati, è possibile immettere un percorso radice della partizione per leggere le cartelle partizionate come colonne no Stringa partitionRootPath
Elenco di file Indica se l'origine punta a un file di testo che elenca i file da elaborare no true oppure false fileList
Colonna in cui archiviare il nome file Creare una nuova colonna con il nome e il percorso del file di origine no Stringa rowUrlColumn
Dopo il completamento Eliminare o spostare i file dopo l'elaborazione. Il percorso del file inizia dalla radice del contenitore no Eliminare: true o false
Spostare: ['<from>', '<to>']
purgeFiles
moveFiles
Filtra per data ultima modifica Scegliere di filtrare i file in base all'ultima modifica no Data e ora: modificatoDopo
modificatoPrima
Non consentire il caricamento di file se nessun file è stato trovato Se true, non viene generato un errore se non vengono trovati file no true oppure false ignoreNoFilesFound

Esempio di origine

L'immagine seguente è un esempio di configurazione di origine Excel nei flussi di dati di mapping in modalità set di dati.

Fonte Excel

Lo script del flusso di dati associato è:

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

Se si usa un set di dati inline, nel flusso di dati di mapping vengono visualizzate le opzioni di origine seguenti.

Set di dati inline di origine excel

Lo script del flusso di dati associato è:

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

Nota

Il flusso di dati di mapping non supporta la lettura di file di Excel protetti, perché questi file possono contenere avvisi di riservatezza o imporre restrizioni di accesso specifiche che limitano l'accesso al contenuto.

Gestione di file di Excel molto grandi

Il connettore Excel non supporta la lettura in streaming per il attività Copy e deve caricare l'intero file in memoria prima che i dati possano essere letti. Per importare schema, visualizzare in anteprima i dati o aggiornare un set di dati di Excel, i dati devono essere restituiti prima del timeout della richiesta HTTP (100s). Per i file di Excel di grandi dimensioni, queste operazioni potrebbero non terminare entro tale intervallo di tempo, causando un errore di timeout. Se si desidera spostare file di Excel di grandi dimensioni (>100 MB) in un altro archivio dati, è possibile utilizzare una delle opzioni seguenti per ovviare a questa limitazione:

  • Usare il runtime di integrazione self-hosted (SHIR), quindi usare l'attività Copy per spostare il file di Excel di grandi dimensioni in un altro archivio dati con SHIR.
  • Dividere il file di Excel di grandi dimensioni in diversi file più piccoli, quindi usare il attività Copy per spostare la cartella contenente i file.
  • Usare un'attività del flusso di dati per spostare il file di Excel di grandi dimensioni in un altro archivio dati. Il flusso di dati supporta la lettura in streaming per Excel e può spostare/trasferire rapidamente file di grandi dimensioni.
  • Convertire manualmente il file di Excel di grandi dimensioni in formato CSV, quindi usare un attività Copy per spostare il file.