Aracılığıyla paylaş


COPY deyimini kullanarak Verileri Ambarınıza alma

Şunlar için geçerlidir: Microsoft Fabric'te Ambar

COPY deyimi, Verileri Ambar tablolarına almanın birincil yoludur. COPY, kaynak dosya biçimi seçeneklerini yapılandırma esnekliği, reddedilen satırları depolamak için bir konum, üst bilgi satırlarını atlama ve diğer seçeneklerle bir dış Azure depolama hesabından yüksek aktarım hızına sahip veri alımı gerçekleştirir.

Bu öğreticide, T-SQL COPY deyimi kullanılarak bir Ambar tablosu için veri alımı örnekleri gösterilir. Azure Açık Veri Kümeleri'nden Bing COVID-19 örnek verilerini kullanır. Şema ve kullanım hakları dahil olmak üzere bu veriler hakkında ayrıntılı bilgi için bkz . Bing COVID-19.

Not

Daha fazla örnek ve tam söz dizimi de dahil olmak üzere T-SQL COPY deyimi hakkında daha fazla bilgi edinmek için bkz . COPY (Transact-SQL).

Tablo oluştur

COPY deyimini kullanmadan önce hedef tablonun oluşturulması gerekir. Bu örneğe yönelik hedef tabloyu oluşturmak için aşağıdaki adımları kullanın:

  1. Microsoft Fabric çalışma alanınızda ambarınızı bulun ve açın.

  2. Giriş sekmesine geçin ve Yeni SQL sorgusu'na tıklayın.

    Yeni SQL sorgu düğmesini gösteren kullanıcının çalışma alanının üst bölümünün ekran görüntüsü.

  3. Bu öğreticide hedef olarak kullanılan tabloyu oluşturmak için aşağıdaki kodu çalıştırın:

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

COPY deyimini kullanarak Parquet verilerini alma

İlk örnekte parquet kaynağı kullanarak veri yükleyeceğiz. Bu veriler genel kullanıma sunulduğundan ve kimlik doğrulaması gerektirmediğinden, kaynağı ve hedefi belirterek bu verileri kolayca kopyalayabilirsiniz. Kimlik doğrulaması ayrıntıları gerekmez. Yalnızca bağımsız değişkeni belirtmeniz FILE_TYPE gerekir.

COPY deyimini bir Parquet kaynağıyla çalıştırmak için aşağıdaki kodu kullanın:

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

COPY deyimini kullanarak CSV verilerini alma ve üst bilgi satırını atlama

Virgülle ayrılmış değer (CSV) dosyalarında, CSV dosyasındaki tabloyu temsil eden sütun adlarını sağlayan bir üst bilgi satırı olması yaygın bir durumdur. COPY deyimi CSV dosyalarından veri kopyalayabilir ve kaynak dosya üst bilgisinden bir veya daha fazla satırı atlayabilir.

Parquet'den veri yüklemek için önceki örneği çalıştırdıysanız tablonuzdaki tüm verileri silmeyi göz önünde bulundurun:

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

Üst bilgi satırını atlayan bir CSV dosyasından veri yüklemek için aşağıdaki kodu kullanın:

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

Sonuçları denetleme

COPY deyimi, yeni tablonuza 4.766.736 satır alarak tamamlar. Tablonuzdaki toplam satır sayısını döndüren bir sorgu çalıştırarak işlemin başarıyla çalıştırıldığını onaylayabilirsiniz:

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

Çalıştırmalar arasındaki satırları silmeden her iki örneği de çalıştırdıysanız, bu sorgunun sonucunu iki katı satırla görürsünüz. Bu durumda veri alımı için uygun olsa da, bu verilerle daha fazla deneme yapacaksanız tüm satırları silmeyi ve verileri yalnızca bir kez almayı göz önünde bulundurun.