Adatok betöltése a raktárba a COPY utasítással

A következőkre vonatkozik:✅ Raktár a Microsoft Fabricben

A COPY utasítás az adatok Warehouse-táblákba való betöltésének elsődleges módja. A COPY nagy átviteli sebességű adatbetöltést hajt végre egy külső Azure tárfiókból. Konfigurálhatja a forrásfájlformátum beállításait, megadhatja az elutasított sorok tárolásának helyét, kihagyhatja a fejlécsorokat, és egyéb beállításokat is megadhat.

Ez az oktatóanyag egy Warehouse-tábla adatbetöltési példáit mutatja be a T-SQL COPY utasítás használatával.

Megjegyzés:

A Warehouse lehetővé teszi a BULK INSERT utasítás használatát az adatbetöltéshez. Az COPY INTO utasítás az új betöltési kód ajánlott utasítása, míg az BULK INSERT utasítás lehetővé teszi az SQL Serverben vagy az Azure SQL Database-ben használt kód újrafelhasználását.

A T-SQL COPY utasításról további példákat és a teljes szintaxist is beleértve a COPY (Transact-SQL) című témakörben talál további információt.

Tábla létrehozása

A COPY utasítás használata előtt létre kell hozni a céltáblát. A minta céltáblájának létrehozásához kövesse az alábbi lépéseket:

  1. A Microsoft Fabric-munkaterületen keresse meg és nyissa meg a raktárat.

  2. Váltson a Kezdőlap lapra, és válassza az Új SQL-lekérdezés lehetőséget.

    Képernyőkép a felhasználó munkaterületének felső szakaszáról, amelyen az Új SQL-lekérdezés gomb látható.

  3. Az oktatóanyag célként használt táblájának létrehozásához futtassa a következő kódot:

        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
        );
    

Parquet-adatok betöltése a COPY utasítással

Ebben a példában a Parquet forrást használva töltjük be az adatokat. Mivel ezek az adatok nyilvánosan elérhetők, és nem igényel hitelesítést, egyszerűen másolhatja ezeket az adatokat a forrás és a cél megadásával. Nincs szükség hitelesítési részletekre. Csak az argumentumot kell megadnia FILE_TYPE .

A COPY utasítás Parquet forrással való futtatásához használja a következő kódot:

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

Az eredmények ellenőrzése

A COPY utasítás úgy fejeződik be, hogy betölt 1 571 671 152 sort az új táblába. A művelet sikeres futtatását egy olyan lekérdezés futtatásával ellenőrizheti, amely a tábla sorainak teljes számát adja vissza:

SELECT COUNT_BIG(*) FROM dbo.TaxiTrips;

Adatbetöltési beállítások

Az adatok raktárba való betöltésének egyéb módjai a következők: