Jaa


Tietojen käyttö varastossa COPY-lausekkeen avulla

Koskee: Microsoft Fabric -varasto

COPY-lauseke on ensisijainen tapa käsitellä tietoja Warehouse-taulukoihin. KOPIOI-toiminto suorittaa suuren siirtomäärän tietojen käsittelyn ulkoiselta Azure-tallennustililtä. Se mahdollistaa lähdetiedostomuotoasetusten määrittämisen joustavasti. Sijaintiin tallennetaan hylätyt rivit, ylätunnisterivien ohittaminen ja muut vaihtoehdot.

Tässä opetusohjelmassa näytetään esimerkkejä tietojen käsittelystä Warehouse-taulukosta käyttämällä T-SQL COPY -lauseketta. Se käyttää Bingin COVID-19-mallitietoja Azure Open Datasets -tietojoukoista. Lisätietoja tiedoista, mukaan lukien niiden rakenne ja käyttöoikeudet, on artikkelissa Bing COVID-19.

Muistiinpano

Lisätietoja T-SQL COPY -lausekkeesta, mukaan lukien lisäesimerkit ja täydellinen syntaksi, on artikkelissa COPY (Transact-SQL).

Luo taulukko

Ennen kuin käytät COPY-lauseketta, kohdetaulukko on luotava. Voit luoda tämän mallin kohdetaulukon seuraavasti:

  1. Etsi ja avaa varastosi Microsoft Fabric -työtilassasi.

  2. Siirry Aloitus-välilehteen ja valitse Uusi SQL-kysely.

    Näyttökuva käyttäjän työtilan yläosasta, jossa näkyy Uusi SQL-kysely -painike.

  3. Jos haluat luoda taulukon, jota käytetään tässä opetusohjelmassa kohteena, suorita seuraava koodi:

    CREATE TABLE [dbo].[bing_covid-19_data]
    (
        [id] [int] NULL,
        [updated] [date] NULL,
        [confirmed] [int] NULL,
        [confirmed_change] [int] NULL,
        [deaths] [int] NULL,
        [deaths_change] [int] NULL,
        [recovered] [int] NULL,
        [recovered_change] [int] NULL,
        [latitude] [float] NULL,
        [longitude] [float] NULL,
        [iso2] [varchar](8000) NULL,
        [iso3] [varchar](8000) NULL,
        [country_region] [varchar](8000) NULL,
        [admin_region_1] [varchar](8000) NULL,
        [iso_subdivision] [varchar](8000) NULL,
        [admin_region_2] [varchar](8000) NULL,
        [load_time] [datetime2](6) NULL
    );
    

Käytä Parquet-tietoja COPY-lausekkeen avulla

Ensimmäisessä esimerkissä lataamme tiedot Parquet-lähteen avulla. Koska nämä tiedot ovat julkisesti saatavilla eivätkä edellytä todentamista, voit helposti kopioida nämä tiedot määrittämällä lähteen ja kohdesijainnin. Todentamisen tietoja ei tarvita. Sinun tarvitsee vain määrittää argumentti FILE_TYPE .

Käytä seuraavaa koodia COPY-lausekkeen suorittamiseen Parquet-lähteen kanssa:

COPY INTO [dbo].[bing_covid-19_data]
FROM 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet'
WITH (
    FILE_TYPE = 'PARQUET'
);

KÄYTÄ CSV-tietoja KÄYTTÄMÄLLÄ COPY-lauseketta ja ohittamalla otsikkorivi

CsV-tiedostoissa on usein otsikkorivi, joka sisältää CSV-tiedostossa taulukkoa vastaavat sarakenimet. COPY-lauseke voi kopioida tietoja CSV-tiedostoista ja ohittaa yhden tai useamman rivin lähdetiedoston otsikosta.

Jos suoritit edellisen esimerkin tietojen lataamiseksi Parquetista, harkitse kaikkien tietojen poistamista taulukosta:

DELETE FROM [dbo].[bing_covid-19_data];

Jos haluat ladata tiedot CSV-tiedostosta, joka ohittaa otsikkorivin, käytä seuraavaa koodia:

COPY INTO [dbo].[bing_covid-19_data]
FROM 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv'
WITH (
    FILE_TYPE = 'CSV', 
    FIRSTROW = 2
);

Tarkista tulokset

COPY-lauseke valmistuu, kun uuteen taulukkoon lisätään 4 766 736 riviä. Voit varmistaa toiminnon suorittamisen onnistuneesti suorittamalla kyselyn, joka palauttaa taulukon rivien kokonaismäärän:

SELECT COUNT(*) FROM [dbo].[bing_covid-19_data];

Jos suoritit molemmat esimerkit poistamatta rivejä suoritusten välillä, näet tämän kyselyn tuloksen, jossa on kaksi kertaa enemmän rivejä. Vaikka tämä sopii tässä tapauksessa tietojen käsittelylle, harkitse kaikkien rivien poistamista ja tietojen käyttöä vain kerran, jos aiot kokeilla näitä tietoja tarkemmin.