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.
Önemli
Microsoft Fabric'te Azure Cosmos DB'yi yansıtma özelliği artık NoSql API'sinde önizleme aşamasında kullanıma sunulmuştur. Bu özellik, Azure Synapse Link'in tüm özelliklerini daha iyi analiz performansı, Doku OneLake ile veri varlığınızı birleştirme ve verilerinize Delta Parquet biçiminde erişim açma olanağı sağlar. Azure Synapse Link'i düşünüyorsanız, kuruluşunuza genel uyumu değerlendirmek için yansıtmayı denemenizi öneririz. Microsoft Fabric'te yansıtmayı kullanmaya başlayın.
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.
Önkoşullar
Başlamadan önce aşağıdaki kaynakları oluşturduğunuzdan emin olun:
NoSQL veya MongoDB için API için bir Azure Cosmos DB hesabı oluşturun.
Azure Cosmos DB hesabınız için Azure Synapse Link'i etkinleştirme
Azure Cosmos DB hesabında bir veritabanı ve analiz deposu etkinleştirilmiş iki kapsayıcı oluşturun.
Ürün verilerini bu toplu veri alımı not defterinde açıklandığı gibi Azure Cosmos DB kapsayıcılarına yükleyin.
SynapseLinkBI adlı bir Synapse çalışma alanı oluşturun.
Azure Cosmos DB veritabanını Synapse çalışma alanına bağlayın.
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.
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.
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:
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:
Power BI Desktop uygulamasını açın. Veri al'ı seçin ve daha fazlasını seçin.
Bağlantı seçenekleri listesinden Azure Synapse Analytics (SQL DW) öğesini seçin.
Veritabanının bulunduğu SQL uç noktasının adını girin. Sunucu alanına girin
SynapseLinkBI-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.Microsoft Entra Id gibi tercih edilen kimlik doğrulama yöntemini seçin.
RetailCosmosDB veritabanını ve RetailSales, StoreDemographics görünümlerini seçin.
İki görünümü doğrudan sorgu moduna yüklemek için Yükle'yi seçin.
storeId sütunu aracılığıyla iki görünüm arasında ilişki oluşturmak için Model'i seçin.
StoreId sütununu RetailSales görünümünden StoreDemographics görünümündeki StoreId sütununa sürükleyin.
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:
Dağılım grafiği'ne tıklayın.
StoreDemographics görünümünden LargeHH'yi sürükleyip X eksenine bırakın.
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.
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:
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