Del via


Indfødning af data i lageret ved hjælp af COPY-sætningen

Gælder for:✅ Warehouse i Microsoft Fabric

COPY-sætningen er den primære måde at indføde data i warehouse-tabeller på. COPY udfører dataindtagelse med høj dataoverførselshastighed fra en ekstern Azure Storage-konto med fleksibiliteten til at konfigurere indstillinger for kildefilformat, en placering til lagring af afviste rækker, spring over headerrækker og andre indstillinger.

I dette selvstudium vises eksempler på dataindtagelse for en lagertabel ved hjælp af T-SQL COPY-sætningen. Den bruger Bing COVID-19-eksempeldataene fra Azure Open Datasets. Du kan finde oplysninger om disse data, herunder skemaet og brugsrettighederne, under Bing COVID-19.

Bemærk

Warehouse giver dig også mulighed for at bruge BULK INSERT-sætningen til dataindtagelse. Sætningen COPY INTO er den anbefalede sætning for den nye indtagelseskode, mens sætningen BULK INSERT giver dig mulighed for at genbruge den kode, du bruger i SQL Server eller Azure SQL Database.

Hvis du vil vide mere om T-SQL-sætningen COPY , herunder flere eksempler og den fulde syntaks, skal du se COPY (Transact-SQL).

Opret en tabel

Før du bruger COPY-sætningen, skal destinationstabellen oprettes. Hvis du vil oprette destinationstabellen for dette eksempel, skal du benytte følgende fremgangsmåde:

  1. Find og åbn dit lager i dit Microsoft Fabric-arbejdsområde.

  2. Skift til fanen Hjem, og vælg Ny SQL-forespørgsel.

    Skærmbillede af den øverste del af brugerens arbejdsområde, der viser knappen Ny SQL-forespørgsel.

  3. Hvis du vil oprette den tabel, der bruges som destination i dette selvstudium, skal du køre følgende kode:

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

Indfødning af parquetdata ved hjælp af COPY-sætningen

I dette eksempel indlæser vi data ved hjælp af en Parquet-kilde. Da disse data er offentligt tilgængelige og ikke kræver godkendelse, kan du nemt kopiere disse data ved at angive kilden og destinationen. Der kræves ingen godkendelsesoplysninger. Du skal kun angive argumentet FILE_TYPE .

Brug følgende kode til at køre COPY-sætningen med en parquetkilde:

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

Kontrollér resultaterne

COPY-sætningen fuldendes ved at indtaste 1.571.671.152 rækker i din nye tabel. Du kan bekræfte, at handlingen blev kørt, ved at køre en forespørgsel, der returnerer det samlede antal rækker i tabellen:

SELECT COUNT_BIG(*) FROM dbo.TaxiTrips;

Indstillinger for dataindtagelse

Andre måder at indsamle data i dit lager på inkluderer: