使用 COPY 語句將資料攝入到你的資料倉儲

適用於:✅Microsoft Fabric 中的倉庫

COPY 語句是將資料匯入 Warehouse 資料表的主要方法。 COPY 從外部 Azure 儲存帳號執行高吞吐量資料擷取。 你可以設定原始檔案格式選項、指定存放被拒絕列的位置、跳過標頭列,以及設定其他選項。

本教學透過 T-SQL COPY 陳述式展示倉庫資料匯入的範例。

備註

倉儲也可讓您使用 BULK INSERT 語句進行數據擷取。 陳述 COPY INTO 式是新擷取程式碼的建議陳述式,而陳述 BULK INSERT 式可讓您重複使用您在 SQL Server 或 Azure SQL 資料庫中使用的程式碼。

若要深入瞭解 T-SQL COPY 陳述式,包括更多範例和完整語法,請參閱 COPY (Transact-SQL)。

建立表格

在使用 COPY 語句之前,必須先建立目的資料表。 若要為此範例建立目標資料表,請按照以下步驟:

  1. 在您的 Microsoft Fabric 工作區中,找到並開啟您的資料倉庫。

  2. 請切換到Home標籤,然後選擇New SQL query。

    顯示用戶工作區頂部部分的螢幕擷圖,其中包含新的 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
        );
    

使用 COPY 指令匯入 Parquet 數據

在這個例子中,我們使用 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;

資料擷取選項

其他將資料匯入倉庫的方式包括: