Udostępnij za pośrednictwem


Ładowanie danych do magazynu przy użyciu instrukcji COPY

Dotyczy:✅ Magazyn w usłudze Microsoft Fabric

Instrukcja COPY to podstawowy sposób pozyskiwania danych do tabel magazynu. Funkcja COPY wykonuje pobieranie danych o dużej przepustowości z zewnętrznego konta magazynowego Azure, oferując elastyczność w konfigurowaniu opcji formatowania pliku źródłowego, określeniu miejsca przechowywania odrzuconych wierszy, pomijaniu wierszy nagłówka oraz innych ustawień.

W tym samouczku przedstawiono przykłady pozyskiwania danych do tabeli magazynu przy użyciu instrukcji T-SQL COPY. Korzysta z przykładowych danych Bing COVID-19 z zestawów danych Azure Open Datasets. Aby uzyskać szczegółowe informacje o tych danych, w tym ich schemat i prawa użytkowania, zobacz Bing COVID-19.

Uwaga

Magazyn umożliwia również używanie instrukcji BULK INSERT na potrzeby pozyskiwania danych. Instrukcja COPY INTO jest zalecaną instrukcją dla nowego kodu pozyskiwania, a BULK INSERT instrukcja umożliwia ponowne użycie kodu używanego w programie SQL Server lub usłudze Azure SQL Database.

Aby dowiedzieć się więcej na temat instrukcji języka T-SQL COPY , w tym więcej przykładów i pełnej składni, zobacz COPY (Transact-SQL).

Utwórz tabelę

Przed użyciem instrukcji COPY należy utworzyć tabelę docelową. Aby utworzyć tabelę docelową dla tego przykładu, wykonaj następujące kroki:

  1. W obszarze roboczym usługi Microsoft Fabric znajdź i otwórz magazyn.

  2. Przejdź do karty Narzędzia główne i wybierz pozycję Nowe zapytanie SQL.

    Zrzut ekranu przedstawiający górną sekcję obszaru roboczego użytkownika z przyciskiem Nowe zapytanie SQL.

  3. Aby utworzyć tabelę używaną jako miejsce docelowe w tym samouczku, uruchom następujący kod:

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

Załaduj dane Parquet za pomocą instrukcji COPY

W tym przykładzie ładujemy dane przy użyciu źródła Parquet. Ponieważ te dane są publicznie dostępne i nie wymagają uwierzytelniania, można łatwo skopiować te dane, określając źródło i miejsce docelowe. Nie są potrzebne żadne szczegóły uwierzytelniania. Wystarczy określić FILE_TYPE argument.

Użyj następującego kodu, aby uruchomić składnię COPY ze źródłem Parquet:

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

Sprawdzanie wyników

Instrukcja COPY kończy się wprowadzaniem 1 571 671 152 wierszy do nowej tabeli. Możesz potwierdzić, że operacja została pomyślnie uruchomiona, uruchamiając zapytanie zwracające całkowitą liczbę wierszy w tabeli:

SELECT COUNT_BIG(*) FROM dbo.TaxiTrips;

Opcje pozyskiwania danych

Inne sposoby pozyskiwania danych do magazynu obejmują: