Загрузка данных в хранилище с помощью команды COPY

Применимо к:✅ Хранилище в Microsoft Fabric

Инструкция COPY — это основной способ загрузки данных в таблицы хранилища данных. COPY выполняет высокопроизводительный прием данных из внешнего хранилища Azure с возможностью настройки параметров формата исходного файла данных, местоположения для хранения отклоненных строк, пропуска строк заголовков и других параметров.

В этом руководстве показаны примеры приема данных для таблицы Warehouse с помощью инструкции T-SQL COPY . В нем используются примеры данных Bing COVID-19 из открытых наборов данных Azure. Дополнительные сведения об этих данных, включая ее схемы и права на использование, см. в разделе Bing COVID-19.

Примечание.

Хранилище также позволяет использовать инструкцию BULK INSERT для загрузки данных. Инструкция COPY INTO является рекомендуемой инструкцией для нового кода приема, а BULK INSERT инструкция позволяет повторно использовать код, который вы используете в SQL Server или Базе данных SQL Azure.

Дополнительные сведения об инструкции T-SQL COPY , включая дополнительные примеры и полный синтаксис, см. в разделе COPY (Transact-SQL).

Создание таблицы

Перед использованием инструкции COPY необходимо создать целевую таблицу. Чтобы создать целевую таблицу для этого примера, выполните следующие действия.

  1. В рабочей области Microsoft Fabric найдите и откройте хранилище.

  2. Перейдите на вкладку "Главная" и выберите "Создать SQL-запрос".

    Снимок экрана: верхний раздел рабочей области пользователя с кнопкой

  3. Чтобы создать таблицу, используемую в качестве назначения в этом руководстве, выполните следующий код:

        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 с помощью инструкции COPY

В этом примере мы загружаем данные с помощью источника Parquet. Так как эти данные общедоступны и не требуют проверки подлинности, можно легко скопировать эти данные, указав источник и назначение. Никаких сведений о проверке подлинности не требуется. Вам потребуется только указать FILE_TYPE аргумент.

Используйте следующий код для запуска инструкции COPY с источником Parquet:

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

Проверка результатов

Инструкция COPY завершается приемом 1 571 671 152 строк в вашу новую таблицу. Вы можете подтвердить успешное выполнение операции, выполнив запрос, возвращающий общее количество строк в таблице:

SELECT COUNT_BIG(*) FROM dbo.TaxiTrips;

Параметры приема данных

Другие способы приема данных в хранилище: