Ingestovanie údajov do skladu pomocou príkazu COPY

Vzťahuje sa na:✅ Sklad v službe Microsoft Fabric

Príkaz COPY je primárny spôsob, ako preniesť údaje do tabuliek Warehouse. COPY vykonáva príjem dát s vysokou priepustnosťou z externého Azure úložného účtu. Môžete nastaviť možnosti formátu zdrojového súboru, určiť miesto na uloženie zamietnutých riadkov, preskočiť riadky hlavičky a nastaviť ďalšie možnosti.

Tento tutoriál ukazuje príklady príjmu dát pre tabuľku Warehouse pomocou príkazu T-SQL COPY .

Poznámka

Možnosť Warehouse tiež umožňuje použiť príkaz BULK INSERT pre príjem údajov. Príkaz COPY INTO je odporúčaný príkaz pre nový kód príjmu, zatiaľ čo BULK INSERT príkaz umožňuje opätovné použitie kódu, ktorý používate v SQL Serveri alebo databáze Azure SQL.

Ďalšie informácie o príkaze T-SQL COPY vrátane ďalších príkladov a úplnej syntaxe nájdete v téme COPY (Transact-SQL).

Vytvorenie tabuľky

Pred použitím príkazu COPY je potrebné vytvoriť cieľovú tabuľku. Ak chcete pre túto ukážku vytvoriť cieľovú tabuľku, použite tieto kroky:

  1. V pracovnom priestore služby Microsoft Fabric vyhľadajte a otvorte svoj sklad.

  2. Prepnite na kartu Domov a vyberte položku Nový dotaz SQL.

    Snímka obrazovky hornej časti pracovného priestoru používateľa zobrazujúca tlačidlo nový dotaz SQL.

  3. Ak chcete vytvoriť tabuľku, ktorá sa použije ako cieľ v tomto kurze, spustite nasledujúci kód:

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

Údaje Ingest Parquet pomocou príkazu COPY

V tomto príklade načítavame dáta pomocou Parquet zdroja. Keďže sú tieto údaje verejne dostupné a nevyžadujú overenie, môžete tieto údaje jednoducho skopírovať určením zdroja a cieľa. Nie sú potrebné žiadne podrobnosti o overení. Stačí iba zadať FILE_TYPE argument.

Príkaz COPY sa spustí pomocou nasledujúceho kódu so zdrojom parquet:

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

Kontrola výsledkov

Príkaz COPY sa dokončí vložením 1 571 671 152 riadkov do vašej novej tabuľky. Operáciu môžete potvrdiť spustením dotazu, ktorý vráti celkový počet riadkov v tabuľke:

SELECT COUNT_BIG(*) FROM dbo.TaxiTrips;

Možnosti príjmu údajov

Ďalšie spôsoby, ako absorbovať dáta do vášho skladu, zahŕňajú: