Synapse Link ile Azure Cosmos DB verilerini analiz etmek için Power BI ve sunucusuz Synapse SQL havuzunu kullanma

ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Gremlin

Bu makalede, Azure Cosmos DB için Synapse Link üzerinde sunucusuz SQL havuzu veritabanı ve görünümleri oluşturmayı öğreneceksiniz. Azure Cosmos DB kapsayıcılarını sorgulayacak ve ardından bu sorguyu yansıtacak şekilde bu görünümler üzerinde Power BI ile bir model oluşturacaksınız.

Azure Synapse Link ile, Azure Cosmos DB verilerinizi analiz etmek için Power BI'da neredeyse gerçek zamanlı panolar oluşturabilirsiniz. İşlem iş yüklerinizde performans veya maliyet etkisi yoktur ve ETL işlem hatlarını yönetmenin karmaşıklığı yoktur. DirectQuery veya içeri aktarma modlarını kullanabilirsiniz.

Not

Azure Cosmos DB portalını kullanarak yalnızca birkaç tıklamayla Power BI panoları oluşturabilirsiniz. Daha fazla bilgi için bkz . Synapse Link özellikli hesaplar için Azure Cosmos DB portalında tümleşik Power BI deneyimi. Bu, Azure Cosmos DB kapsayıcılarınızdaki Synapse sunucusuz SQL havuzlarında otomatik olarak T-SQL görünümleri oluşturur. BI panolarınızı oluşturmaya başlamak için bu T-SQL görünümlerine bağlanan .pbids dosyasını indirmeniz yeterlidir.

Bu senaryoda, iş ortağı perakende satış mağazasında Surface ürün satışları hakkında sahte veriler kullanacaksınız. Büyük evlere olan yakınlık ve belirli bir hafta için reklamların etkisine bağlı olarak mağaza başına geliri analiz edeceksiniz. Bu makalede RetailSales ve StoreDemographics adlı iki görünüm ve aralarında bir sorgu oluşturacaksınız. Örnek ürün verilerini bu GitHub deposundan alabilirsiniz.

Not

Gremlin API için Synapse Link artık önizleme aşamasındadır. Synapse Link'i Azure CLI kullanarak yeni veya mevcut grafiklerinizde etkinleştirebilirsiniz. Yapılandırma hakkında daha fazla bilgi için buraya tıklayın.

Önkoşullar

Başlamadan önce aşağıdaki kaynakları oluşturduğunuzdan emin olun:

Veritabanı ve görünüm oluşturma

Synapse çalışma alanından Geliştir sekmesine gidin, simgeyi seçin ve SQL Betiği'ni+ seçin.

Synapse Analytics çalışma alanına SQL betiği ekleme

Her çalışma alanı sunucusuz bir SQL uç noktasıyla birlikte gelir. SQL betiği oluşturduktan sonra üstteki araç çubuğundan Yerleşik'e bağlanın.

ÇALıŞMA alanında sunucusuz SQL uç noktasını kullanmak için SQL betiğini etkinleştirme

Ana veya varsayılan veritabanlarında görünüm oluşturma önerilmez veya desteklenmez. Synapse Link özellikli kapsayıcılar üzerinde RetailCosmosDB adlı yeni bir veritabanı ve SQL görünümü oluşturun. Aşağıdaki komut bir veritabanının nasıl oluşturulacağını gösterir:

-- Create database
Create database RetailCosmosDB

Ardından, farklı Synapse Link özellikli Azure Cosmos DB kapsayıcılarında birden çok görünüm oluşturun. Görünümler, farklı kapsayıcılarda bulunan Azure Cosmos DB verilerini birleştirmek ve sorgulamak için T-SQL kullanmanıza olanak sağlar. Görünümleri oluştururken RetailCosmosDB veritabanını seçtiğinizden emin olun.

Aşağıdaki betikler, her kapsayıcıda görünümlerin nasıl oluşturulacağını gösterir. Kolaylık olması için Synapse Link özellikli kapsayıcılar üzerinden sunucusuz SQL havuzunun otomatik şema çıkarımı özelliğini kullanalım:

RetailSales görünümü:

-- Create view for RetailSales container
CREATE VIEW  RetailSales
AS  
SELECT  *
FROM OPENROWSET (
    'CosmosDB', N'account=<Your Azure Cosmos DB account name>;database=<Your Azure Cosmos DB database name>;region=<Your Azure Cosmos DB Region>;key=<Your Azure Cosmos DB key here>',RetailSales)
AS q1

Azure Cosmos DB bölgenizi ve birincil anahtarı önceki SQL betiğine eklediğinizden emin olun. Bölge adındaki tüm karakterler boşluk olmadan küçük harfle yazılmalıdır. Komutun diğer parametrelerinden OPENROWSET farklı olarak, kapsayıcı adı parametresi çevresinde tırnak işaretleri olmadan belirtilmelidir.

StoreDemographics görünümü:

-- Create view for StoreDemographics container
CREATE VIEW StoreDemographics
AS  
SELECT  *
FROM OPENROWSET (
    'CosmosDB', N'account=<Your Azure Cosmos DB account name>;database=<Your Azure Cosmos DB database name>;region=<Your Azure Cosmos DB Region>;key=<Your Azure Cosmos DB key here>', StoreDemographics)
AS q1

Şimdi Çalıştır komutunu seçerek SQL betiğini çalıştırın.

Görünümleri sorgulama

artık iki görünüm oluşturulduğuna göre, bu iki görünümü birleştirmek için sorguyu aşağıdaki gibi tanımlayalım:

SELECT 
sum(p.[revenue]) as revenue
,p.[advertising]
,p.[storeId]
,p.[weekStarting]
,q.[largeHH]
 FROM [dbo].[RetailSales] as p
INNER JOIN [dbo].[StoreDemographics] as q ON q.[storeId] = p.[storeId]
GROUP BY p.[advertising], p.[storeId], p.[weekStarting], q.[largeHH]

Sonuç olarak aşağıdaki tabloyu veren Çalıştır'ı seçin:

StoreDemographics ve RetailSales görünümlerine katıldıktan sonra sonuçları sorgulama

Power BI ile kapsayıcılar üzerinde model görünümleri

Ardından Power BI desktop'ı açın ve aşağıdaki adımları kullanarak sunucusuz SQL uç noktasına bağlanın:

  1. Power BI Desktop uygulamasını açın. Veri al'ı seçin ve daha fazlasını seçin.

  2. Bağlantı seçenekleri listesinden Azure Synapse Analytics (SQL DW) öğesini seçin.

  3. Veritabanının bulunduğu SQL uç noktasının adını girin. Sunucu alanına girinSynapseLinkBI-ondemand.sql.azuresynapse.net. Bu örnekte SynapseLinkBI çalışma alanının adıdır. Çalışma alanınıza farklı bir ad verdiyseniz değiştirin. Veri bağlantısı modu için Doğrudan Sorgu'yu ve ardından Tamam'ı seçin.

  4. Microsoft Entra Id gibi tercih edilen kimlik doğrulama yöntemini seçin.

  5. RetailCosmosDB veritabanını ve RetailSales, StoreDemographics görünümlerini seçin.

  6. İki görünümü doğrudan sorgu moduna yüklemek için Yükle'yi seçin.

  7. storeId sütunu aracılığıyla iki görünüm arasında ilişki oluşturmak için Model'i seçin.

  8. StoreId sütununu RetailSales görünümünden StoreDemographics görünümündeki StoreId sütununa sürükleyin.

  9. RetailSales görünümünde aynı mağaza kimliğine sahip birden çok satır olduğundan Çok-bir (*:1) ilişkisini seçin. StoreDemographics yalnızca bir mağaza kimliği satırına sahiptir (bu bir boyut tablosudur).

Şimdi rapor penceresine gidin ve hane halkı boyutunun göreli önemini, gelirin dağınık gösterimine ve Büyük SSS dizinine göre mağaza başına ortalama gelirle karşılaştırmak için bir rapor oluşturun:

  1. Dağılım grafiği'ne tıklayın.

  2. StoreDemographics görünümünden LargeHH'yi sürükleyip X eksenine bırakın.

  3. RetailSales görünümünden Revenue öğesini Y eksenine sürükleyip bırakın. Mağaza başına ve haftalık ürün başına ortalama satışları almak için Ortalama'ya tıklayın.

  4. Belirli bir ürün satırını seçmek için productCode'u RetailSales görünümünden göstergeye sürükleyip bırakın. Bu seçenekleri seçtikten sonra aşağıdaki ekran görüntüsüne benzer bir grafik görmeniz gerekir:

Ev boyutunun göreli önemini mağaza başına ortalama gelirle karşılaştıran rapor

Sonraki adımlar

Synapse Link özellikli hesaplar için Azure Cosmos DB portalında tümleşik Power BI deneyimi

Azure Synapse Link kullanarak Azure Cosmos DB verilerini sorgulamak için T-SQL kullanma

Azure Open Veri Kümelerini analiz etmek ve Sonuçları Azure Synapse Studio'da görselleştirmek için sunucusuz SQL havuzunu kullanma