Menyerap data ke gudang Anda menggunakan pernyataan COPY

Berlaku untuk: Gudang di Microsoft Fabric

Pernyataan COPY adalah cara utama untuk menyerap data ke dalam tabel Gudang. COPY melakukan penyerapan data throughput tinggi dari akun penyimpanan Azure eksternal, dengan fleksibilitas untuk mengonfigurasi opsi format file sumber, lokasi untuk menyimpan baris yang ditolak, melewati baris header, dan opsi lainnya.

Tutorial ini menunjukkan contoh penyerapan data untuk tabel Gudang menggunakan pernyataan T-SQL COPY. Ini menggunakan data sampel Bing COVID-19 dari Azure Open Datasets. Untuk detail tentang data ini, termasuk skema dan hak penggunaannya, lihat Bing COVID-19.

Catatan

Untuk mempelajari selengkapnya tentang pernyataan T-SQL COPY termasuk contoh lainnya dan sintaks lengkapnya, lihat COPY (Transact-SQL).

Buat tabel

Sebelum Anda menggunakan pernyataan COPY, tabel tujuan perlu dibuat. Untuk membuat tabel tujuan untuk sampel ini, gunakan langkah-langkah berikut:

  1. Di ruang kerja Microsoft Fabric Anda, temukan dan buka gudang Anda.

  2. Beralih ke tab Beranda dan pilih Kueri SQL baru.

    Screenshot of the top section of the user's workspace showing the New SQL query button.

  3. Untuk membuat tabel yang digunakan sebagai tujuan dalam tutorial ini, jalankan kode berikut:

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

Menyerap data Parquet menggunakan pernyataan COPY

Dalam contoh pertama, kami memuat data menggunakan sumber Parquet. Karena data ini tersedia untuk umum dan tidak memerlukan autentikasi, Anda dapat dengan mudah menyalin data ini dengan menentukan sumber dan tujuan. Tidak diperlukan detail autentikasi. Anda hanya perlu menentukan FILE_TYPE argumen.

Gunakan kode berikut untuk menjalankan pernyataan COPY dengan sumber Parquet:

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

Menyerap data CSV menggunakan pernyataan COPY dan melewati baris header

Biasanya file nilai yang dipisahkan koma (CSV) memiliki baris header yang menyediakan nama kolom yang mewakili tabel dalam file CSV. Pernyataan COPY dapat menyalin data dari file CSV dan melewati satu atau beberapa baris dari header file sumber.

Jika Anda menjalankan contoh sebelumnya untuk memuat data dari Parquet, pertimbangkan untuk menghapus semua data dari tabel Anda:

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

Untuk memuat data dari file CSV yang melewati baris header, gunakan kode berikut:

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

Memeriksa hasil

Pernyataan COPY selesai dengan menyerap 4.766.736 baris ke dalam tabel baru Anda. Anda dapat mengonfirmasi operasi berhasil dijalankan dengan menjalankan kueri yang mengembalikan jumlah total baris dalam tabel Anda:

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

Jika Anda menjalankan kedua contoh tanpa menghapus baris di antara eksekusi, Anda akan melihat hasil kueri ini dengan baris dua kali lebih banyak. Meskipun itu berfungsi untuk penyerapan data dalam hal ini, pertimbangkan untuk menghapus semua baris dan menyerap data hanya sekali jika Anda akan bereksperimen lebih lanjut dengan data ini.