Erfassen von Daten im Warehouse
Gilt für:✅ Warehouse in Microsoft Fabric
Warehouse in Microsoft Fabric bietet integrierte Datenerfassungstools, mit denen Benutzer*innen Daten im großen Stil in Warehouses erfassen können, indem sie No-Code- oder codebasierte Umgebungen verwenden.
Optionen für die Datenerfassung
Sie können Daten mit einer der folgenden Optionen in einem Warehouse erfassen:
- COPY (Transact-SQL): Die COPY-Anweisung bietet eine flexible Datenerfassung mit hohem Durchsatz aus einem externen Azure-Speicherkonto. Sie können die COPY-Anweisung als Teil Ihrer vorhandenen ETL/ELT-Logik in Transact-SQL-Code verwenden.
- Datenpipelines: Pipelines bieten eine No-Code- oder Low-Code-Datenerfassung. Durch die Verwendung von Pipelines können Sie stabile Workflows für vollständiges Extrahieren, Transformieren, Laden (ETL) orchestrieren. Das umfasst Aktivitäten zum Vorbereiten der Zielumgebung, zum Ausführen benutzerdefinierter Transact-SQL-Anweisungen, zum Ausführen von Lookups oder zum Kopieren von Daten aus einer Quelle in ein Ziel.
- Dataflows: Dataflows sind eine Alternative zu Pipelines und ermöglichen eine einfache Aufbereitung, Bereinigung und Transformation von Daten mithilfe einer No-Code-Benutzeroberfläche.
- Warehouseübergreifende Erfassung: Die Datenerfassung aus Arbeitsbereichsquellen ist ebenfalls möglich. Dieses Szenario kann möglicherweise erforderlich sein, wenn eine neue Tabelle mit einer Teilmenge einer anderen Tabelle erstellt werden muss oder wenn verschiedene Tabellen im Warehouse und im Lakehouse miteinander verknüpft wurden. Für die warehouseübergreifende Erfassung funktionieren Transact-SQL-Features wie INSERT...SELECT, SELECT INTO oder CREATE TABLE AS SELECT (CTAS) zusätzlich zu den genannten Optionen warehouseübergreifend im selben Arbeitsbereich.
Auswählen des Datenerfassungstools
Um zu entscheiden, welche Datenerfassungsoption verwendet werden soll, können Sie die folgenden Kriterien verwenden:
- Verwenden Sie die Anweisung COPY (Transact-SQL) für codebasierte Datenerfassungsvorgänge, für den höchstmöglichen Datenerfassungsdurchsatz oder wenn Sie die Datenerfassung als Teil einer Transact-SQL-Logik hinzufügen müssen. Informationen zur Syntax finden Sie unter COPY INTO (Transact-SQL).
- Verwenden Sie Datenpipelines für stabile No-Code- oder Low-Code-Datenerfassungsworkflows, die wiederholt oder nach einem Zeitplan ausgeführt werden, oder die große Datenmengen umfassen. Weitere Informationen finden Sie unter Erfassen von Daten mithilfe von Datenpipelines.
- Verwenden Sie Dataflows, die benutzerdefinierte No-Code-Transformationen zu Quelldaten ermöglichen, bevor die Daten erfasst werden. Diese Transformationen schließen (unter anderem) das Ändern von Datentypen, das Hinzufügen oder Entfernen von Spalten oder das Verwenden von Funktionen zum Erstellen berechneter Spalten ein. Weitere Informationen finden Sie unter Dataflows.
- Verwenden Sie die warehouseübergreifende Erfassung für codebasierte Umgebungen, um neue Tabellen mit Quelldaten innerhalb desselben Arbeitsbereichs zu erstellen. Weitere Informationen finden Sie unter Erfassen von Daten mit Transact-SQL und Schreiben einer datenbankübergreifenden Abfrage.
Hinweis
Die COPY-Anweisung in Warehouse unterstützt nur Datenquellen für Azure-Speicherkonten, OneLake-Quellen werden derzeit nicht unterstützt.
Unterstützte Datenformate und Datenquellen
Die Datenerfassung für Warehouse in Microsoft Fabric bietet eine Vielzahl von Datenformaten und -quellen, die Sie verwenden können. Jede der beschriebenen Optionen enthält eine eigene Liste der unterstützten Datentypen und Datenformate.
Für die warehouseübergreifende Erfassung müssen sich Datenquellen innerhalb desselben Microsoft Fabric-Arbeitsbereichs befinden. Abfragen können mithilfe einer dreiteiligen Benennung für die Quelldaten ausgeführt werden.
Nehmen Sie zum Beispiel an, es gäbe in einem Arbeitsbereich zwei Warehouses mit den Namen „Inventory“ und „Sales“. Eine Abfrage wie die folgende erstellt eine neue Tabelle im „Inventory“-Warehouse mit dem Inhalt einer Tabelle im „Inventory“-Warehouse, die mit einer Tabelle im „Sales“-Warehouse verknüpft ist:
CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT s.SalesOrders, i.ProductName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
WHERE s.ProductID = i.ProductID
AND s.Region = 'West region'
Die Anweisung COPY (Transact-SQL) unterstützt derzeit die Dateiformate PARQUET und CSV. Als Datenquellen werden derzeit Azure Data Lake Storage (ADLS) Gen2 und Azure Blob Storage unterstützt.
Datenpipelines und Dataflows unterstützen eine Vielzahl von Datenquellen und Datenformaten. Weitere Informationen finden Sie unter Datenpipelines und Dataflows.
Bewährte Methoden
Das COPY-Befehlsfeature in Warehouse in Microsoft Fabric verwendet eine einfache, flexible und schnelle Schnittstelle für die Datenerfassung mit hohem Durchsatz für SQL-Workloads. Das ausschließliche Laden von Daten aus externen Speicherkonten wird in der aktuellen Version unterstützt.
Sie können auch T-SQL verwenden, um eine neue Tabelle zu erstellen und dann Datenzeilen in sie einzufügen sowie diese Zeilen anschließend zu aktualisieren und zu löschen. Daten können mithilfe datenbankübergreifender Abfragen aus einer beliebigen Datenbank innerhalb des Microsoft Fabric-Arbeitsbereichs eingefügt werden. Wenn Sie Daten aus einem Lakehouse in einem Warehouse erfassen möchten, können Sie dies mit einer datenbankübergreifenden Abfrage tun. Beispiel:
INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
- Vermeiden Sie das Erfassen von Daten mithilfe von INSERT-Anweisungen von Singleton, da dies zu einer schlechten Leistung bei Abfragen und Updates führt. Wenn die INSERT-Anweisungen von Singleton nacheinander für die Datenerfassung verwendet wurden, wird das Erstellen einer neuen Tabelle mithilfe der Muster CREATE TABLE AS SELECT (CTAS) oder INSERT...SELECT empfohlen, wobei die ursprüngliche Tabelle gelöscht wird. Anschließend wird Ihre Tabelle erneut aus der Tabelle erstellt, die Sie mit CREATE TABLE AS SELECT (CTAS) oder INSERT...SELECT erstellt haben.
- Das Löschen Ihrer bestehenden Tabelle wirkt sich auf Ihr semantisches Modell aus, einschließlich aller benutzerdefinierten Kennzahlen oder Anpassungen, die Sie am semantischen Modell vorgenommen haben.
- Bei der Verwendung externer Daten für Dateien wird eine Mindestdateigröße von 4 MB empfohlen.
- Bei großen komprimierten CSV-Dateien sollten Sie erwägen, die Datei in mehrere Dateien aufzuteilen.
- Azure Data Lake Storage Gen2 (ADLS) bietet eine bessere Leistung als Azure Blob Storage (Legacy). Ziehen Sie nach Möglichkeit die Verwendung eines ADLS Gen2-Kontos in Betracht.
- Für häufig ausgeführte Pipelines sollten Sie erwägen, Ihr Azure-Speicherkonto von anderen Diensten zu isolieren, die gleichzeitig auf dieselben Dateien zugreifen können.
- Explizite Transaktionen ermöglichen es Ihnen, mehrere Datenänderungen zu gruppieren, sodass sie nur beim Lesen einer oder mehrerer Tabellen sichtbar sind, wenn die Transaktion vollständig committet wurde. Sie haben auch die Möglichkeit, einen Rollback für die Transaktion auszuführen, wenn eine der Änderungen fehlschlägt.
- Wenn sich eine SELECT-Anweisung innerhalb einer Transaktion befindet und Dateneinfügungen vorangestellt wurden, können die automatisch generierten Statistiken nach einem Rollback möglicherweise Fehler aufweisen. Ungenaue Statistiken können zu nicht optimierten Abfrageplänen und Ausführungszeiten führen. Wenn Sie ein Rollback für eine Transaktion mit SELECT-Anweisungen nach einem großen INSERT-Vorgang durchführen, aktualisieren Sie die Statistiken für die in der SELECT-Anweisung genannten Spalten.
Hinweis
Unabhängig davon, wie Sie Daten in Warehouses erfassen, werden die von der Datenerfassungsaufgabe erzeugten Parquet-Dateien mithilfe von V-Order optimiert. V-Order optimiert die Parquet-Dateien, um blitzschnelle Lesevorgänge in den Microsoft Fabric-Computemodulen wie Power BI, SQL, Spark usw. zu ermöglichen. Warehouse-Abfragen profitieren durch diese Optimierung im Allgemeinen von schnelleren Lesezeiten für Abfragen, wobei sichergestellt wird, dass die Parquet-Dateien weiterhin zu 100 % der Open Source-Spezifikation entsprechen. Im Gegensatz zu Fabric-Datentechnikist V-Order in Synapse Data Warehouse eine globale Einstellung, die nicht deaktiviert werden kann. Weitere Informationen zu V-Order finden Sie unter Grundlegendes und Verwalten von V-Order für Warehouse.