Azure Cosmos DB-adatok elemzése a Synapse Linkkel a Power BI és a kiszolgáló nélküli Synapse SQL-készlet használatával
A KÖVETKEZŐKRE VONATKOZIK: NoSQL
MongoDB
Gremlin
Ebből a cikkből megtudhatja, hogyan hozhat létre kiszolgáló nélküli SQL-készlet-adatbázist és nézeteket az Azure Cosmos DB-hez készült Synapse Linkre vonatkozóan. Lekérdezi az Azure Cosmos DB-tárolókat, majd létrehoz egy modellt a Power BI-val ezeken a nézeteken, hogy tükrözze ezt a lekérdezést.
Fontos
Az Azure Cosmos DB tükrözése a Microsoft Fabricben mostantól előzetes verzióban elérhető a NoSql API-hoz. Ez a funkció az Azure Synapse Link összes funkcióját biztosítja jobb elemzési teljesítménnyel, lehetővé teszi az adatvagyon egységesítését a Fabric OneLake-tel, és delta parquet formátumban nyithatja meg az adatokhoz való hozzáférést. Ha az Azure Synapse Linket fontolgatja, javasoljuk, hogy próbálkozzon tükrözéssel a szervezet általános megfelelőségének felméréséhez. Ismerkedés a tükrözéssel a Microsoft Fabricben.
Az Azure Synapse Link használatával közel valós idejű irányítópultokat hozhat létre a Power BI-ban az Azure Cosmos DB-adatok elemzéséhez. A tranzakciós számítási feladatokra nincs hatással a teljesítmény vagy a költség, és nincs összetettsége az ETL-folyamatok kezelésének. DirectQuery vagy importálási módokat is használhat.
Feljegyzés
Az Azure Cosmos DB Portál használatával néhány kattintással létrehozhat Power BI-irányítópultokat. További információ: Integrált Power BI-élmény a Synapse Link-kompatibilis fiókokhoz készült Azure Cosmos DB-portálon. Ez automatikusan létrehoz T-SQL-nézeteket a Synapse kiszolgáló nélküli SQL-készleteiben az Azure Cosmos DB-tárolókon. Egyszerűen letöltheti a .pbids fájlt, amely ezekhez a T-SQL-nézetekhez csatlakozik a BI-irányítópultok létrehozásához.
Ebben a forgatókönyvben a Surface-termékek partnerkereskedelmekben való értékesítésére vonatkozó adatokat fogja használni. Elemezni fogja az üzletenkénti bevételt a nagy háztartások közelsége és egy adott hét reklámozásának hatása alapján. Ebben a cikkben két, RetailSales és StoreDemographics nevű nézetet hoz létre, valamint egy lekérdezést közöttük. A mintatermék-adatokat ebből a GitHub-adattárból szerezheti be.
Előfeltételek
A kezdés előtt mindenképpen hozza létre a következő erőforrásokat:
Hozzon létre egy Azure Cosmos DB-fiókot a NoSQL-hez vagy a MongoDB-hez készült API-hoz.
Az Azure Synapse Link engedélyezése az Azure Cosmos DB-fiókhoz
Hozzon létre egy adatbázist az Azure Cosmos DB-fiókban és két tárolóban, amelyeken engedélyezve van az elemzési tár.
Töltse be a termékek adatait az Azure Cosmos DB-tárolókba az ebben a kötegelt adatbetöltési jegyzetfüzetben leírtak szerint.
Csatlakoztassa az Azure Cosmos DB-adatbázist a Synapse-munkaterülethez.
Adatbázis és nézetek létrehozása
A Synapse-munkaterületen lépjen a Fejlesztés lapra, válassza az ikont, és válassza az + SQL-szkriptet.
Minden munkaterület kiszolgáló nélküli SQL-végponttal rendelkezik. SQL-szkript létrehozása után a felső eszköztáron csatlakozzon a beépítetthez.
A nézetek létrehozása a fő - vagy alapértelmezett adatbázisokban nem ajánlott és nem támogatott. Hozzon létre egy új, RetailCosmosDB nevű adatbázist és egy SQL-nézetet a Synapse Link-kompatibilis tárolókon. Az alábbi parancs bemutatja, hogyan hozhat létre adatbázist:
-- Create database
Create database RetailCosmosDB
Ezután hozzon létre több nézetet különböző Synapse Link-kompatibilis Azure Cosmos DB-tárolókban. A nézetek lehetővé teszik a T-SQL használatát az Azure Cosmos DB különböző tárolókban található adatainak összekapcsolásához és lekérdezéséhez. A nézetek létrehozásakor mindenképpen válassza ki a RetailCosmosDB adatbázist.
Az alábbi szkriptek bemutatják, hogyan hozhat létre nézeteket az egyes tárolókon. Az egyszerűség kedvéért használjuk a kiszolgáló nélküli SQL-készlet automatikus sémakövető funkcióját Synapse Link-kompatibilis tárolókon keresztül:
RetailSales nézet:
-- 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
Mindenképpen szúrja be az Azure Cosmos DB-régiót és az elsődleges kulcsot az előző SQL-szkriptbe. A régió nevének minden karakterének kisbetűsnek kell lennie szóköz nélkül. A parancs többi paraméterétől OPENROWSET
eltérően a tárolónév paramétert idézőjelek nélkül kell megadni.
StoreDemographics nézet:
-- 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
Most futtassa az SQL-szkriptet a Futtatás parancs kiválasztásával.
Nézetek lekérdezése
Most, hogy létrejött a két nézet, határozzuk meg a lekérdezést a két nézethez való csatlakozáshoz az alábbiak szerint:
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]
Válassza a Futtatás lehetőséget, amely az alábbi táblázatot adja eredményként:
Modellnézetek tárolókra a Power BI-val
Ezután nyissa meg a Power BI desktopot, és csatlakozzon a kiszolgáló nélküli SQL-végponthoz az alábbi lépések végrehajtásával:
Nyissa meg Power BI Desktop alkalmazást. Válassza az Adatok lekérése és a továbbiak lehetőséget.
Válassza az Azure Synapse Analytics (SQL DW) lehetőséget a kapcsolati lehetőségek listájából.
Adja meg annak az SQL-végpontnak a nevét, ahol az adatbázis található. Írja be
SynapseLinkBI-ondemand.sql.azuresynapse.net
a Kiszolgáló mezőbe. Ebben a példában a SynapseLinkBI a munkaterület neve. Cserélje le, ha más nevet adott a munkaterületnek. Válassza a Direct Query lehetőséget az adatkapcsolati módhoz, majd kattintson az OK gombra.Válassza ki az előnyben részesített hitelesítési módszert, például a Microsoft Entra-azonosítót.
Válassza ki a RetailCosmosDB adatbázist és a RetailSales, StoreDemographics nézeteket .
Válassza a Betöltés lehetőséget a két nézet közvetlen lekérdezési módba való betöltéséhez.
Válassza a Modell lehetőséget a két nézet közötti kapcsolat létrehozásához a StoreId oszlopon keresztül.
Húzza a StoreId oszlopot a RetailSales nézetből a StoreDemographics nézet StoreId oszlopa felé.
Válassza a Több az egyhez (*:1) kapcsolatot, mert a Kiskereskedelmi értékesítés nézetben több olyan sor is található, amelynek azonos az üzletazonosítója. A StoreDemographics csak egy tárolóazonosító sorból áll (ez egy dimenziótábla).
Lépjen a jelentés ablakára, és hozzon létre egy jelentést, amely összehasonlítja a háztartások méretének relatív jelentőségét az üzletenkénti átlagos bevételsel a bevétel és a LargeHH index szórása alapján:
Válassza a Pontdiagram lehetőséget.
Húzza a LargeHH elemet a StoreDemographics nézetből az X tengelyre.
Húzza a Revenue from RetailSales nézetet az Y tengelyre. Az Átlag lehetőséget választva lekérheti a termékenkénti és heti átlagos értékesítéseket.
Húzza a ProductCode-ot a RetailSales nézetből a jelmagyarázatba egy adott terméksor kiválasztásához. Miután kiválasztotta ezeket a beállításokat, az alábbi képernyőképhez hasonló grafikont kell látnia:
Következő lépések
Integrált Power BI-élmény az Azure Cosmos DB portálon Synapse Link-kompatibilis fiókokhoz
Azure Cosmos DB-adatok lekérdezése a T-SQL használatával az Azure Synapse Link használatával
Kiszolgáló nélküli SQL-készlet használata az Azure Open Datasets elemzéséhez és az eredmények megjelenítéséhez az Azure Synapse Studióban