Aracılığıyla paylaş


Öğretici: Ayrılmış SQL havuzlarıyla verileri analiz etme

Bu öğreticide, ayrılmış bir SQL havuzunun özelliklerini keşfetmek için NYC Taxi verilerini kullanın.

  • [Ayrılmış SQL havuzu dağıtma]
  • [Havuza veri yükleme]
  • [Yüklediğiniz verileri keşfedin]

Önkoşullar

  • Bu öğreticide, hızlı başlangıçların geri kalanındaki adımları tamamladığınız varsayılır. Özellikle Synapse Çalışma Alanı Oluşturma hızlı başlangıcında oluşturulan 'contosodatalake' kaynağını kullanır.

Ayrılmış SQL havuzu oluşturma

  1. Synapse Studio'da sol taraftaki bölmede Analiz havuzları'nın altında SQL havuzlarını yönet'i>seçin.
  2. Yeni'yi seçin.
  3. Ayrılmış SQL havuzu adı için öğesini seçinSQLPOOL1.
  4. Performans düzeyi için DW100C'yi seçin.
  5. Gözden geçir ve oluştur>Oluştur'u seçin. Ayrılmış SQL havuzunuz birkaç dakika içinde hazır olur.

Ayrılmış SQL havuzunuz olarak da adlandırılan SQLPOOL1bir SQL veritabanıyla ilişkilendirilir.

  1. Veri>Çalışma Alanı'na gidin.
  2. SQLPOOL1 adlı bir veritabanı görmeniz gerekir. Bu seçeneği görmüyorsanız Yenile'yi seçin.

Ayrılmış BIR SQL havuzu, etkin olduğu sürece faturalanabilir kaynakları kullanır. Maliyetleri azaltmak için havuzu daha sonra duraklatabilirsiniz.

Not

Çalışma alanınızda yeni bir ayrılmış SQL havuzu (eski adı SQL DW) oluştururken, ayrılmış SQL havuzu sağlama sayfası açılır. Sağlama, mantıksal SQL sunucusunda gerçekleşir.

NYC Taxi Verilerini SQLPOOL1 yükleme

  1. Synapse Studio'da Geliştirme hub'ına gidin, yeni kaynak eklemek için düğmeyi seçin + ve ardından yeni SQL betiği oluşturun.

  2. Betiğin üzerindeki Bağlan açılan listesinden havuzu SQLPOOL1 (bu öğreticinin 1. adımında oluşturulan havuz) seçin.

  3. Aşağıdaki kodu girin:

    IF NOT EXISTS (SELECT * FROM sys.objects O JOIN sys.schemas S ON O.schema_id = S.schema_id WHERE O.NAME = 'NYCTaxiTripSmall' AND O.TYPE = 'U' AND S.NAME = 'dbo')
    CREATE TABLE dbo.NYCTaxiTripSmall
        (
        [VendorID] bigint, 
        [store_and_fwd_flag] nvarchar(1) NULL, 
        [RatecodeID] float NULL, 
        [PULocationID] bigint NULL,  
        [DOLocationID] bigint NULL, 
        [passenger_count] float NULL, 
        [trip_distance] float NULL, 
        [fare_amount] float NULL, 
        [extra] float NULL, 
        [mta_tax] float NULL, 
        [tip_amount] float NULL, 
        [tolls_amount] float NULL, 
        [ehail_fee] float NULL, 
        [improvement_surcharge] float NULL, 
        [total_amount] float NULL, 
        [payment_type] float NULL, 
        [trip_type] float NULL, 
        [congestion_surcharge] float  NULL
        )
    WITH
        (
        DISTRIBUTION = ROUND_ROBIN,
         CLUSTERED COLUMNSTORE INDEX
         -- HEAP
        )
    GO
    
    COPY INTO dbo.NYCTaxiTripSmall
    (VendorID 1, store_and_fwd_flag 4, RatecodeID 5,  PULocationID 6 , DOLocationID 7,  
     passenger_count 8,trip_distance 9, fare_amount 10, extra 11, mta_tax 12, tip_amount 13, 
     tolls_amount 14, ehail_fee 15, improvement_surcharge 16, total_amount 17, 
     payment_type 18, trip_type 19, congestion_surcharge 20 )
    FROM 'https://contosolake.dfs.core.windows.net/users/NYCTripSmall.parquet'
    WITH
    (
        FILE_TYPE = 'PARQUET'
        ,MAXERRORS = 0
        ,IDENTITY_INSERT = 'OFF'
        ,AUTO_CREATE_TABLE ='ON'
    )
    

    İpucu

    yazan Login failed for user '<token-identified principal>'bir hata alırsanız Entra Id yöneticinizi ayarlamanız gerekir.

    1. Azure Portal'da synapse çalışma alanınızı arayın.
    2. Ayarlar'ın altında Microsoft Entra Id'yi seçin.
    3. Yöneticiyi ayarla'yı seçin ve bir Microsoft Entra ID yöneticisi ayarlayın.
  4. Betiği yürütmek için Çalıştır düğmesini seçin.

  5. Bu betik 60 saniyeden kısa sürede tamamlanmaktadır. adlı dbo.NYCTaxiTripSmallbir tabloya 2 milyon satır NYC Taxi verisi yükler.

Ayrılmış SQL havuzundaki NYC Taxi verilerini keşfetme

  1. Synapse Studio'da Veri hub'ına gidin.

  2. SQLPOOL1>Tablolar'a gidin. (Menüde görmüyorsanız sayfayı yenileyin.)

  3. Dbo'ya sağ tıklayın. NYCTaxiTripSmall tablosunu seçin ve Yeni SQL Betiği>Seç İlk 100 Satır'ı seçin.

  4. Yeni bir SQL betiği oluşturulur ve çalıştırılırken bekleyin.

  5. BAĞLAN sql betiğinin en üstünde otomatik olarak SQLPOOL1 adlı SQL havuzuna ayarlanır.

  6. SQL betiğinin metnini bu kodla değiştirin ve çalıştırın.

    SELECT passenger_count as PassengerCount,
          SUM(trip_distance) as SumTripDistance_miles,
          AVG(trip_distance) as AvgTripDistance_miles
    INTO dbo.PassengerCountStats
    FROM  dbo.NYCTaxiTripSmall
    WHERE trip_distance > 0 AND passenger_count > 0
    GROUP BY passenger_count;
    
    SELECT * FROM dbo.PassengerCountStats
    ORDER BY PassengerCount;
    

    Bu sorgu, alandan trip_distance toplanan verileri içeren bir tablo dbo.PassengerCountStats oluşturur ve ardından yeni tabloyu sorgular. Veriler, toplam seyahat mesafelerinin ve ortalama seyahat mesafesinin yolcu sayısıyla ilişkisini gösterir.

  7. SQL betiği sonuç penceresinde, sonuçların bir görselleştirmesini çizgi grafik olarak görmek için Görünüm'ü Grafik olarak değiştirin. Kategori sütununu olarak PassengerCountdeğiştirin.

Temizleme

Maliyetleri azaltmak için ayrılmış SQL Havuzunuzu duraklatma.

  1. Synapse çalışma alanınızda Yönet'e gidin.
  2. SQL havuzları'ı seçin.
  3. SQLPOOL1 üzerine gelin ve Duraklat düğmesini seçin.
  4. Duraklatmak için onaylayın.

Sonraki adım