Excel Dateiformat in Azure Data Factory and Azure Synapse Analytics
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Verwenden Sie diesen Artikel, wenn Sie die Excel-Dateien analysieren möchten. Der Dienst unterstützt sowohl das „.xls“ als auch „.xlsx“-Format.
Das Excel-Format wird für die folgenden Connectors unterstützt: Amazon S3, Amazon S3-kompatibler Speicher, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure File, Dateisystem, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage und SFTP. Es wird als Quelle, aber nicht als Senke unterstützt.
Hinweis
Das „.xls“-Format wird bei Verwendung von HTTP nicht unterstützt.
Dataset-Eigenschaften
Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste mit den Eigenschaften, die vom Excel-Dataset unterstützt werden.
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
type | Die type-Eigenschaft des Datasets muss auf Excel festgelegt werden. | Ja |
location | Speicherorteinstellungen der Datei(en) Jeder dateibasierte Connector verfügt unter location über seinen eigenen Speicherorttyp und unterstützte Eigenschaften. |
Ja |
sheetName | Der Name des Excel-Arbeitsblatts zum Lesen der Daten. | Geben Sie sheetName oder sheetIndex an. |
sheetIndex | Der Excel-Arbeitsblattindex zum Lesen von Daten, beginnend bei 0 (null). | Geben Sie sheetName oder sheetIndex an. |
range | Der Zellenbereich im jeweiligen Arbeitsblatt zum Ermitteln der selektiven Daten, z. B.: Nicht angegeben: Das gesamte Arbeitsblatt wird als Tabelle ab der ersten nicht leeren Zeile und Spalte gelesen. - A3 : Eine Tabelle wird ab der angegebenen Zelle gelesen, wobei alle Zeilen darunter und alle Spalten rechts davon dynamisch erkannt werden.- A3:H5 : Dieser feste Bereich wird als Tabelle gelesen.- A3:A3 : Diese einzelne Zelle wird gelesen. |
Nein |
firstRowAsHeader | Gibt an, ob die erste Zeile des jeweiligen Arbeitsblatts bzw. Bereichs als Headerzeile mit den Namen der Spalten behandelt werden soll. Zulässige Werte sind true und false (Standard). |
Nein |
nullValue | Gibt eine Zeichenfolgendarstellung von Null-Werten an. Der Standardwert ist eine leere Zeichenfolge. |
Nein |
compression | Gruppe von Eigenschaften zum Konfigurieren der Dateikomprimierung. Konfigurieren Sie diesen Abschnitt, wenn Sie während der Aktivitätsausführung eine Komprimierung/Dekomprimierung durchführen möchten. | Nein |
type (unter compression ) |
Der zum Lesen und Schreiben von JSON-Dateien verwendete Komprimierungscodec. Zulässige Werte sind bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy und lz4. Standardmäßig erfolgt keine Komprimierung. Hinweis: „snappy“ und „lz4“ werden aktuell nicht von der Copy-Aktivität und „ZipDeflate“, „TarGzip“ und „Tar“ werden aktuell nicht vom Zuordnungsdatenfluss unterstützt. Hinweis: Bei Verwendung der Kopieraktivität zum Dekomprimieren einer oder mehrerer ZipDeflate-Dateien und zum Schreiben in den dateibasierten Senkendatenspeicher werden Dateien in den folgenden Ordner extrahiert: <path specified in dataset>/<folder named as source zip file>/ . |
Nein. |
level (unter compression ) |
Das Komprimierungsverhältnis. Zulässige Werte sind Optimal oder Sehr schnell. - Schnellster: Der Komprimierungsvorgang wird schnellstmöglich abgeschlossen, auch wenn die sich ergebende Datei nicht optimal komprimiert ist. - Optimal: Die Daten sollten optimal komprimiert sein, auch wenn der Vorgang eine längere Zeit in Anspruch nimmt. Weitere Informationen finden Sie im Thema Komprimierungsstufe . |
Nein |
Unten ist ein Beispiel für ein Excel-Dataset in Azure Blob Storage angegeben:
{
"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
}
}
}
Eigenschaften der Kopieraktivität
Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste mit den Eigenschaften, die von der Excel-Quelle unterstützt werden.
Excel als Quelle
Die folgenden Eigenschaften werden im Abschnitt *source* der Kopieraktivität unterstützt.
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
type | Die type-Eigenschaft der Quelle der Kopieraktivität muss auf ExcelSource festgelegt sein. | Ja |
storeSettings | Eine Gruppe von Eigenschaften für das Lesen von Daten aus einem Datenspeicher. Jeder dateibasierte Connector verfügt unter storeSettings über eigene unterstützte Leseeinstellungen. |
Nein |
"activities": [
{
"name": "CopyFromExcel",
"type": "Copy",
"typeProperties": {
"source": {
"type": "ExcelSource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
...
}
...
}
]
Eigenschaften von Mapping Data Flow
In Zordnungsdatenflüssen können Sie das Excel-Format in den folgenden Datenspeichern lesen: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 und SFTP. Sie können auf Excel-Dateien entweder mit einem Excel-Dataset oder einem Inlinedataset verweisen.
Quelleigenschaften
In der folgenden Tabelle sind die von einer Excel-Quelle unterstützten Eigenschaften aufgeführt. Sie können diese Eigenschaften auf der Registerkarte Quelloptionen bearbeiten. Bei Verwendung eines Inlinedatasets werden zusätzliche Dateieinstellungen angezeigt. Diese entsprechen den Eigenschaften, die im Abschnitt zu den Dataseteigenschaften beschrieben sind.
Name | BESCHREIBUNG | Erforderlich | Zulässige Werte | Datenflussskript-Eigenschaft |
---|---|---|---|---|
Platzhalterpfade | Alle Dateien, die dem Platzhalterpfad entsprechen, werden verarbeitet. Überschreibt den Ordner und den Dateipfad, die im Dataset festgelegt sind. | nein | String[] | wildcardPaths |
Partitionsstammpfad | Für partitionierte Dateidaten können Sie einen Partitionsstammpfad eingeben, um partitionierte Ordner als Spalten zu lesen. | nein | String | partitionRootPath |
Liste mit den Dateien | Gibt an, ob Ihre Quelle auf eine Textdatei verweist, in der die zu verarbeitenden Dateien aufgelistet sind. | nein | true oder false |
fileList |
Spalte, in der der Dateiname gespeichert wird | Erstellt eine neue Spalte mit dem Namen und Pfad der Quelldatei. | nein | String | rowUrlColumn |
Nach Abschluss | Löscht oder verschiebt die Dateien nach der Verarbeitung. Dateipfad beginnt mit dem Containerstamm | nein | Löschen: true oder false Verschieben: ['<from>', '<to>'] |
purgeFiles moveFiles |
Nach der letzten Änderung filtern | Filtern Sie Dateien nach dem Zeitpunkt ihrer letzten Änderung. | nein | Zeitstempel | modifiedAfter modifiedBefore |
Finden keiner Dateien zulässig | Falls TRUE, wird kein Fehler ausgelöst, wenn keine Dateien gefunden werden. | nein | true oder false |
ignoreNoFilesFound |
Quellbeispiel
Die Abbildung unten enthält ein Beispiel für eine Excel-Quellkonfiguration in Zuordnungsdatenflüssen per Datasetmodus.
Das zugehörige Datenflussskript ist:
source(allowSchemaDrift: true,
validateSchema: false,
wildcardPaths:['*.xls']) ~> ExcelSource
Bei Verwendung eines Inlinedatasets werden im Zuordnungsdatenfluss die folgenden Quelloptionen angezeigt.
Das zugehörige Datenflussskript ist:
source(allowSchemaDrift: true,
validateSchema: false,
format: 'excel',
fileSystem: 'container',
folderPath: 'path',
fileName: 'sample.xls',
sheetName: 'worksheet',
firstRowAsHeader: true) ~> ExcelSourceInlineDataset
Hinweis
Ein Zuordnungsdatenfluss unterstützt das Lesen geschützter Excel-Dateien nicht, da diese Dateien möglicherweise Vertraulichkeitshinweise enthalten oder bestimmte Zugriffsbeschränkungen erzwingen, die den Zugriff auf ihre Inhalte einschränken.
Verarbeiten sehr großer Excel-Dateien
Der Excel-Connector unterstützt keinen Streaminglesevorgang für die Copy-Aktivität und muss die gesamte Datei in den Arbeitsspeicher laden, bevor Daten gelesen werden können. Zum Importieren von Schemas, Anzeigen einer Vorschau von Daten oder Aktualisieren eines Excel-Datasets müssen die Daten vor dem HTTP-Anforderungstimeout (100 s) zurückgegeben werden. Bei großen Excel-Dateien werden diese Vorgänge möglicherweise nicht innerhalb dieses Zeitraums abgeschlossen, was zu einem Timeoutfehler führt. Wenn Sie große Excel-Dateien (>100 MB) in einen anderen Datenspeicher verschieben möchten, können Sie diese Einschränkung mit einer der folgenden Optionen umgehen:
- Verwenden Sie die selbstgehostete Integration Runtime (Self-Hosted Integration Runtime, SHIR) und dann die Copy-Aktivität, um die große Excel-Datei mit der SHIR in einen anderen Datenspeicher zu verschieben.
- Teilen Sie die große Excel-Datei in mehrere kleinere Dateien auf, und verwenden Sie dann die Copy-Aktivität, um den Ordner mit den Dateien zu verschieben.
- Verwenden Sie eine Dataflow-Aktivität, um die große Excel-Datei in einen anderen Datenspeicher zu verschieben. Dataflow unterstützt den Streaminglesevorgang für Excel und kann große Dateien schnell verschieben/übertragen.
- Konvertieren Sie die große Excel-Datei manuell in das CSV-Format, und verwenden Sie dann eine Copy-Aktivität, um die Datei zu verschieben.