Datasets in Azure Data Factory und 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!
In diesem Artikel wird beschrieben, was Datasets sind, wie sie im JSON-Format definiert und in Azure Data Factory- und Synapse-Pipelines genutzt werden.
Wenn Sie mit Data Factory noch nicht vertraut sind, finden Sie unter Einführung in Azure Data Factory eine Übersicht. Weitere Informationen zu Azure Synapse finden Sie unter Was ist Azure Synapse?
Übersicht
Ein Azure Data Factory- oder Synapse-Arbeitsbereich kann eine oder mehrere Pipelines umfassen. Bei einer Pipeline handelt es sich um eine logische Gruppierung von Aktivitäten, die zusammen eine Aufgabe bilden. Die Aktivitäten in einer Pipeline definieren Aktionen, die Sie auf Ihre Daten anwenden. Ein Datensatz ist eine benannte Ansicht von Daten, die einfach auf die Daten verweist, die Sie in Ihren Aktivitäten als Ein- und Ausgabe verwenden möchten. Datasets bestimmen Daten in verschiedenen Datenspeichern, z.B. Tabellen, Dateien, Ordnern und Dokumenten. Ein Azure-Blobdataset kann beispielsweise den Blobcontainer und -ordner in Blob Storage angeben, aus dem die Aktivität die Daten lesen soll.
Bevor Sie ein Dataset erstellen, müssen Sie einen verknüpften Dienst erstellen, um Ihren Datenspeicher mit dem Dienst zu verknüpfen. Verknüpfte Dienste ähneln Verbindungszeichenfolgen, mit denen die Verbindungsinformationen definiert werden, die der Dienst zum Herstellen einer Verbindung mit externen Ressourcen benötigt. Sie können sich dies wie folgt vorstellen: Das Dataset stellt die Struktur der Daten innerhalb des verknüpften Datenspeichers dar, und der verknüpfte Dienst definiert die Verbindung mit der Datenquelle. Ein mit Azure Storage verknüpfter Dienst verbindet z. B. ein Speicherkonto. Ein Azure-Blob-Dataset repräsentiert den Blobcontainer und den Ordner innerhalb des Azure Storage-Kontos, das die zu verarbeitenden Eingabeblobs enthält.
Hier ist ein Beispielszenario. Um Daten aus dem Blobspeicher in eine SQL-Datenbank zu kopieren, erstellen Sie zwei verknüpfte Dienste: Azure Blob Storage und Azure SQL-Datenbank. Erstellen Sie anschließend zwei Datasets: Dataset mit Text mit Trennzeichen (das sich auf den mit Azure Blob Storage verknüpften Dienst bezieht, vorausgesetzt, Sie besitzen Textdateien als Quelle) und Azure SQL-Tabellendataset (das sich auf den mit Azure SQL-Datenbank verknüpften Dienst bezieht). Die mit Azure Blob Storage und Azure SQL-Datenbank verknüpften Dienste enthalten Verbindungszeichenfolgen, die der Dienst zur Laufzeit nutzt, um eine Verbindung mit Ihrer Instanz von Azure Storage bzw. Azure SQL-Datenbank herzustellen. Das Dataset mit Text mit Trennzeichen gibt den Blobcontainer und Blobordner, der die Eingabeblobs in Ihrer Blob Storage-Instanz enthält, sowie Formateinstellungen an. Das Azure SQL-Tabellendataset gibt die SQL-Tabelle in Ihrer SQL-Datenbank an, in die die Daten kopiert werden sollen.
Das folgende Diagramm zeigt die Beziehung zwischen Pipeline, Aktivität, Dataset und verknüpftem Dienst:
Erstellen eines Datasets mithilfe der Benutzeroberfläche
Zum Erstellen eines Datasets mit Azure Data Factory Studio wählen Sie die Registerkarte „Autor“ (mit dem Stiftsymbol) und dann das Pluszeichen aus, um Dataset auszuwählen.
Es wird das Fenster „Neues Dataset“ angezeigt, in dem Sie einen der in Azure Data Factory verfügbaren Connectors auswählen und einen vorhandenen oder neuen verknüpften Dienst einrichten können.
Als Nächstes werden Sie aufgefordert, das Datasetformat auszuwählen.
Abschließend können Sie einen vorhandenen verknüpften Dienst des Typs auswählen, den Sie für das Dataset ausgewählt haben, oder einen neuen erstellen, wenn noch kein Dienst definiert ist.
Nachdem Sie das Dataset erstellt haben, können Sie es in allen Pipelines in Azure Data Factory verwenden.
JSON-DataSet
Ein Dataset wird im folgenden JSON-Format definiert:
{
"name": "<name of dataset>",
"properties": {
"type": "<type of dataset: DelimitedText, AzureSqlTable etc...>",
"linkedServiceName": {
"referenceName": "<name of linked service>",
"type": "LinkedServiceReference",
},
"schema":[
],
"typeProperties": {
"<type specific property>": "<value>",
"<type specific property 2>": "<value 2>",
}
}
}
In der folgenden Tabelle werden die Eigenschaften im obigen JSON-Code beschrieben:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
name | Name des Datasets. Siehe Benennungsregeln. | Ja |
type | Typ des Datasets. Geben Sie einen der von Data Factory unterstützten Typen an (z.B. DelimitedText, AzureSqlTable). Weitere Informationen finden Sie unter Datasettyp. |
Ja |
schema | Schema des Datasets, stellt den physischen Datentyp und die Form dar. | Nein |
typeProperties | Die Typeigenschaften unterscheiden sich je nach Typ. Ausführliche Informationen über die unterstützten Typen und deren Eigenschaften finden Sie unter Dataset: type. | Ja |
Wenn Sie das Schema eines Datasets importieren, wählen Sie die Schaltfläche Schema importieren und anschließend das Importieren aus der Quelle oder aus einer lokalen Datei aus. In den meisten Fällen importieren Sie das Schema direkt aus der Quelle. Wenn Sie jedoch bereits über eine lokale Schemadatei (eine Parquet-Datei oder eine CSV-Datei mit Headern) verfügen, können Sie den Dienst anweisen, das Schema auf dieser Datei aufzubauen.
In der Copy-Aktivität werden Datasets in der Quelle und in der Senke verwendet. Das im Dataset definierte Schema ist als Verweis optional. Wenn Sie die Spalten-/Feldzuordnung zwischen Quelle und Senke anwenden möchten, lesen Sie die Informationen unter Schema- und Datentypzuordnung in Kopieraktivität.
Datasets im Datenfluss werden in Transformationen von Quellen und Senken verwendet. Die Datasets definieren die grundlegenden Datenschemas. Wenn Ihre Daten kein Schema aufweisen, können Sie die Schemaabweichung für Ihre Quelle und Senke verwenden. Metadaten aus den Datasets werden in Ihrer Quelltransformation als Projektion der Quelle angezeigt. Die Projektion in der Quelltransformation stellt die Datenflussdaten mit definierten Namen und Typen dar.
Datasettyp
Der Dienst unterstützt verschiedene Typen von Datasets, je nach eingesetztem Datenspeicher. Die Liste der unterstützten Datenspeicher finden Sie im Artikel Übersicht über Connectors. Wählen Sie einen Datenspeicher aus, um Informationen zum Erstellen eines verknüpften Diensts und eines Datasets dafür zu erhalten.
Bei einem Dataset mit Text mit Trennzeichen wird der Datasettyp auf DelimitedText festgelegt, wie im folgenden JSON-Beispiel gezeigt:
{
"name": "DelimitedTextInput",
"properties": {
"linkedServiceName": {
"referenceName": "AzureBlobStorage",
"type": "LinkedServiceReference"
},
"annotations": [],
"type": "DelimitedText",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"fileName": "input.log",
"folderPath": "inputdata",
"container": "adfgetstarted"
},
"columnDelimiter": ",",
"escapeChar": "\\",
"quoteChar": "\""
},
"schema": []
}
}
Hinweis
Der Schemawert wird mithilfe von JSON-Syntax definiert. Ausführlichere Informationen zur Schemazuordnung und zur Datentypzuordnung finden Sie in der Dokumentation zu Schema- und Typzuordnungen bei der Copy-Aktivität in Azure Data Factory.
Erstellen von Datasets
Datasets können Sie mit einem dieser Tools oder SDKs erstellen: .NET API, PowerShell, REST-API, Azure Resource Manager-Vorlage und Azure-Portal
Gegenüberstellung von Datasets der aktuellen Version und Datasets der Version 1
Nachfolgend werden einige Unterschiede zwischen Datasets in der aktuellen Version von Data Factory (und Azure Synapse) und der Legacyversion von Data Factory (Version 1) aufgeführt:
- Die externe Eigenschaft wird in der aktuellen Version nicht unterstützt. Sie wird durch einen Trigger ersetzt.
- Die Richtlinien- und Verfügbarkeitseigenschaften werden in der aktuellen Version nicht unterstützt. Die Startzeit für eine Pipeline hängt von Triggern ab.
- Bereichsbezogene (in einer Pipeline definierte) Datasets werden in der aktuellen Version nicht unterstützt.
Zugehöriger Inhalt
Schnellstarts
Im folgenden Tutorial finden Sie schrittweise Anleitungen zum Erstellen von Pipelines und Datasets mit einem dieser Tools oder SDKs.
- Schnellstart: Erstellen einer Data Factory mithilfe von .NET
- Schnellstart: Erstellen einer Data Factory mithilfe von PowerShell
- Schnellstart: Erstellen einer Data Factory mithilfe der REST-API
- Schnellstart: Erstellen einer Data Factory mithilfe des Azure-Portals