Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jede Cosmos DB in einer Microsoft Fabric-Datenbank wird im Open-Source-Delta Lake-Format in OneLake gespiegelt. Dieses Feature erfordert keine zusätzliche Konfiguration oder Einrichtung und wird automatisch aktiviert, wenn die Datenbank erstellt wird. Diese enge Integration beseitigt die Notwendigkeit von ETL-Pipelines (Extract, Transform, Load) und stellt sicher, dass Cosmos DB-Daten immer analysebereit sind.
Diese automatische Spiegelunterstützung ermöglicht Szenarien, einschließlich, aber nicht beschränkt auf:
- Ad-hoc-Abfragen mit der Abfragesprache Transact SQL (T-SQL)
- Integration in Apache Spark
- Analyse von Echtzeitdaten mithilfe von Notebooks
- Data Science- und Machine Learning-Workflows
Spiegelungsstatus
Sie können den Replikationsstatus überprüfen, indem Sie zum Replikationsbereich für die Datenbank im Fabric-Portal navigieren. Dieser Abschnitt enthält Metadaten zur Replikation, einschließlich des Status der letzten Synchronisierung.
SQL Analytics-Endpunktabfragen
Mit dem SQL-Analyseendpunkt können Sie gespiegelte Cosmos DB-Daten direkt im Fabric-Portal mithilfe von T-SQL abfragen. Sie können jederzeit zwischen dem NoSQL-Daten-Explorer und dem T-SQL SQL-Analyseendpunkt wechseln.
Ausführen von grundlegenden Abfragen
Verwenden Sie die T-SQL-Standardsyntax, um ihre gespiegelten Daten abzufragen. Das folgende Beispiel zeigt eine einfache Aggregationsabfrage:
SELECT
categoryName,
COUNT(*) AS quantity
FROM
[<database-name>].[<database-name>].[<container-name>] -- Replace with your database and container name
GROUP BY
categoryName
Analysieren von Beispieldaten mit erweiterten Abfragen
Für komplexere Analyseszenarien können Sie Abfragen ausführen, die mehrere Metriken kombinieren und erweiterte T-SQL-Features verwenden. Im folgenden Beispiel wird der integrierte Beispieldatensatz verwendet, um Produkt-KPIs zu berechnen und Erkenntnisse über Kategorien hinweg zu überprüfen. Weitere Informationen zum Beispieldatensatz finden Sie unter Beispieldatensätze in Cosmos DB in Microsoft Fabric.
-- Product performance analysis by category
WITH SampleData AS (
SELECT *
FROM [<database-name>].[<database-name>].[<container-name>] -- Replace with your database and container name
),
TopProducts AS (
SELECT
categoryName,
name,
ROW_NUMBER() OVER (PARTITION BY categoryName ORDER BY currentPrice DESC) AS rn
FROM SampleData
WHERE docType = 'product'
)
SELECT
c.categoryName,
COUNT(DISTINCT CASE WHEN c.docType = 'product' THEN c.productId END) AS totalProducts,
ROUND(AVG(CASE WHEN c.docType = 'review' THEN CAST(c.stars AS FLOAT) END), 2) AS avgRating,
tp.name AS topProduct,
SUM(CASE WHEN c.docType = 'product' THEN c.currentPrice * c.inventory END) AS totalInventoryValue
FROM SampleData AS c
LEFT JOIN TopProducts AS tp ON c.categoryName = tp.categoryName AND tp.rn = 1
GROUP BY c.categoryName, tp.name
ORDER BY avgRating DESC;
Beobachten Sie die Ergebnisse der Abfrage im Abfrage-Editor:
[
{
"categoryName": "Devices, E-readers",
"totalProducts": "10",
"avgRating": "4.38",
"topProduct": "eReader Lumina Edge X7",
"totalInventoryValue": "890338.94"
},
{
"categoryName": "Devices, Smartwatches",
"totalProducts": "10",
"avgRating": "4.37",
"topProduct": "PulseSync Pro S7",
"totalInventoryValue": "750008.86"
},
// Ommitted for brevity
]
Abfragen geschachtelter JSON-Arrays mit OPENJSON
Verwenden Sie die OPENJSON Funktion, um geschachtelte JSON-Arrays in Ihren Dokumenten zu analysieren und abzufragen. Im folgenden Beispiel wird veranschaulicht, wie Sie das priceHistory Array analysieren, um Produkte mit den größten Preiserhöhungen zu identifizieren, um Preistrends nachzuverfolgen und Ihre Preisstrategie zu optimieren.
-- Identify products with significant price increases
WITH PriceChanges AS (
SELECT
p.productId,
p.name,
p.categoryName,
p.currentPrice,
ph.priceDate,
ph.historicalPrice,
p.currentPrice - ph.historicalPrice AS priceIncrease,
ROUND(((p.currentPrice - ph.historicalPrice) / ph.historicalPrice) * 100, 1) AS percentIncrease
FROM [<database-name>].[<database-name>].[<container-name>] AS p -- Replace with your database and container name
CROSS APPLY OPENJSON(p.priceHistory) WITH (
priceDate datetime2,
historicalPrice float '$.price'
) AS ph
WHERE p.docType = 'product'
)
SELECT TOP 10
name,
categoryName,
currentPrice,
priceIncrease,
percentIncrease
FROM PriceChanges
WHERE priceIncrease > 0
ORDER BY percentIncrease DESC;
Beobachten Sie die Ergebnisse der Abfrage im Abfrage-Editor:
[
{
"name": "Resonova Elite360 Wireless ANC Headphones",
"categoryName": "Accessories, Premium Headphones",
"currentPrice": "523.66",
"priceIncrease": "224.66",
"percentIncrease": "75.1"
},
{
"name": "AuraLux VX Pro Leather Case",
"categoryName": "Accessories, Luxury Cases",
"currentPrice": "129.96",
"priceIncrease": "50.89",
"percentIncrease": "64.4"
},
// Ommitted for brevity
]
Nächste Schritte
- Erstellen Sie eine OneLake-Verknüpfung in einem Lakehouse oder führen Sie eine datenbankübergreifende Abfrage aus