Freigeben über


Laden Sie Daten in Ihr Datenlager mithilfe der COPY-Anweisung.

Gilt für:✅ Warehouse in Microsoft Fabric

Die COPY-Anweisung ist die primäre Methode zum Einlesen von Daten in Warehouse-Tabellen. Mit COPY erfolgt die Datenerfassung mit hohem Durchsatz aus einem externen Azure-Speicherkonto, wobei Sie flexibel Optionen für Quelldateiformate, einen Speicherort für abgelehnte Zeilen, das Überspringen von Kopfzeilen und andere Optionen konfigurieren können.

Dieses Tutorial zeigt Beispiele für die Datenerfassung für eine Warehousetabelle mit der T-SQL-Anweisung COPY. Es verwendet die Bing COVID-19-Beispieldaten aus Azure Open Datasets. Einzelheiten zu diesen Daten, einschließlich des Schemas und der Nutzungsrechte, finden Sie unter Bing COVID-19.

Hinweis

Warehouse ermöglicht ihnen auch die Verwendung der BULK INSERT-Anweisung für die Datenaufnahme. Die COPY INTO Anweisung ist die empfohlene Anweisung für den neuen Aufnahmecode, während Sie mit der BULK INSERT Anweisung den Code wiederverwenden können, den Sie in SQL Server- oder Azure SQL-Datenbank verwenden.

Weitere Informationen zur T-SQL-Anweisung COPY , einschließlich weiterer Beispiele und der vollständigen Syntax, finden Sie unter COPY (Transact-SQL).

Erstellen einer Tabelle

Bevor Sie die COPY-Anweisung verwenden, muss die Zieltabelle erstellt werden. Führen Sie die folgenden Schritte aus, um die Zieltabelle für dieses Beispiel zu erstellen:

  1. Suchen und öffnen Sie in Ihrem Microsoft Fabric-Arbeitsbereich Ihr Warehouse.

  2. Wechseln Sie zur Registerkarte Start, und wählen Sie Neue SQL-Abfrage aus.

    Screenshot: Oberer Abschnitt des Benutzerarbeitsbereichs mit der Schaltfläche „Neue Abfrage“

  3. Führen Sie den folgenden Code aus, um die Tabelle zu erstellen, die in diesem Tutorial als Ziel verwendet wird:

        CREATE TABLE dbo.TaxiTrips
        (
            doLocationId            varchar(MAX)      NULL,
            endLat                  float             NULL,
            endLon                  float             NULL,
            extra                   float             NULL,
            fareAmount              float             NULL,
            improvementSurcharge    varchar(MAX)      NULL,
            mtaTax                  float             NULL,
            passengerCount          int               NULL,
            paymentType             varchar(MAX)      NULL,
            puLocationId            varchar(MAX)      NULL,
            puMonth                 int               NULL,
            puYear                  int               NULL,
            rateCodeId              int               NULL,
            startLat                float             NULL,
            startLon                float             NULL,
            storeAndFwdFlag         varchar(1)        NULL,
            tipAmount               float             NULL,
            tollsAmount             float             NULL,
            totalAmount             float             NULL,
            tpepDropoffDateTime     datetime2(6)      NULL,
            tpepPickupDateTime      datetime2(6)      NULL,
            tripDistance            float             NULL,
            vendorId_str            varchar(MAX)      NULL,
            vendorId_lpep           int               NULL
        );
    

Eingeben von Parquet-Daten mithilfe der COPY-Anweisung

In diesem Beispiel laden wir Daten mithilfe einer Parquet-Quelle. Da diese Daten öffentlich verfügbar sind und keine Authentifizierung erfordern, können Sie diese Daten einfach kopieren, indem Sie die Quelle und das Ziel angeben. Es sind keine Authentifizierungsdetails erforderlich. Sie müssen nur das FILE_TYPE-Argument angeben.

Verwenden Sie den folgenden Code, um die COPY-Anweisung mit einer Parquet-Quelle auszuführen:

COPY INTO dbo.TaxiTrips
FROM 'https://azureopendatastorage.blob.core.windows.net/nyctlc/yellow'
WITH (
    FILE_TYPE = 'PARQUET'
)

Prüfen der Ergebnisse

Die COPY-Anweisung wird abgeschlossen, indem 1.571.671.152 Zeilen in die neue Tabelle aufgenommen werden. Sie können bestätigen, dass der Vorgang erfolgreich ausgeführt wurde, indem Sie eine Abfrage ausführen, die die Gesamtanzahl der Zeilen in Ihrer Tabelle zurückgibt:

SELECT COUNT_BIG(*) FROM dbo.TaxiTrips;

Optionen für die Datenerfassung

Weitere Möglichkeiten zum Aufnehmen von Daten in Ihr Lager sind: