Öğ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
- Synapse Studio'da sol taraftaki bölmede Analiz havuzları'nın altında SQL havuzlarını yönet'i>seçin.
- Yeni'yi seçin.
- Ayrılmış SQL havuzu adı için öğesini seçin
SQLPOOL1
. - Performans düzeyi için DW100C'yi seçin.
- 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 SQLPOOL1
bir SQL veritabanıyla ilişkilendirilir.
- Veri>Çalışma Alanı'na gidin.
- 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
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.
Betiğin üzerindeki Bağlan açılan listesinden havuzu
SQLPOOL1
(bu öğreticinin 1. adımında oluşturulan havuz) seçin.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.- Azure Portal'da synapse çalışma alanınızı arayın.
- Ayarlar'ın altında Microsoft Entra Id'yi seçin.
- Yöneticiyi ayarla'yı seçin ve bir Microsoft Entra ID yöneticisi ayarlayın.
Betiği yürütmek için Çalıştır düğmesini seçin.
Bu betik 60 saniyeden kısa sürede tamamlanmaktadır. adlı
dbo.NYCTaxiTripSmall
bir tabloya 2 milyon satır NYC Taxi verisi yükler.
Ayrılmış SQL havuzundaki NYC Taxi verilerini keşfetme
Synapse Studio'da Veri hub'ına gidin.
SQLPOOL1>Tablolar'a gidin. (Menüde görmüyorsanız sayfayı yenileyin.)
Dbo'ya sağ tıklayın. NYCTaxiTripSmall tablosunu seçin ve Yeni SQL Betiği>Seç İlk 100 Satır'ı seçin.
Yeni bir SQL betiği oluşturulur ve çalıştırılırken bekleyin.
BAĞLAN sql betiğinin en üstünde otomatik olarak SQLPOOL1 adlı SQL havuzuna ayarlanır.
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 tablodbo.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.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
PassengerCount
değiştirin.
Temizleme
Maliyetleri azaltmak için ayrılmış SQL Havuzunuzu duraklatma.
- Synapse çalışma alanınızda Yönet'e gidin.
- SQL havuzları'ı seçin.
- SQLPOOL1 üzerine gelin ve Duraklat düğmesini seçin.
- Duraklatmak için onaylayın.