Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cada banco de dados do Cosmos DB no Microsoft Fabric é espelhado no OneLake no formato delta lake de software livre. Esse recurso não requer nenhuma configuração ou configuração extra e é habilitado automaticamente quando o banco de dados é criado. Essa integração apertada elimina a necessidade de pipelines ETL (Extrair, Transformar, Carregar) e garante que os dados do Cosmos DB estejam sempre prontos para análise.
Esse suporte automático de espelho permite cenários que incluem, mas não se limitam a:
- Consultas ad hoc usando a linguagem de consulta T-SQL (Transact SQL)
- Integração com o Apache Spark
- Análise de dados em tempo real com o uso de notebooks
- Fluxos de trabalho de ciência de dados e machine learning
Status de espelhamento
Você pode verificar o status da replicação navegando até a seção de replicação do banco de dados no portal do Fabric. Esta seção inclui metadados sobre replicação, incluindo o status da última sincronização.
Consultas de endpoints de análise SQL
O endpoint de análise do SQL permite consultar dados espelhados do Cosmos DB diretamente no portal Fabric usando o T-SQL. Você pode alternar entre o explorador de dados NoSQL e o endpoint de análise T-SQL a qualquer momento.
Executar consultas básicas
Use a sintaxe T-SQL padrão para consultar seus dados espelhados. O exemplo a seguir mostra uma consulta de agregação simples:
SELECT
categoryName,
COUNT(*) AS quantity
FROM
[<database-name>].[<database-name>].[<container-name>] -- Replace with your database and container name
GROUP BY
categoryName
Analisar dados de exemplo com consultas avançadas
Para cenários de análise mais complexos, você pode executar consultas que combinam várias métricas e usam recursos avançados do T-SQL. O exemplo a seguir usa o conjunto de dados de exemplo interno para calcular KPIs do produto e examinar insights entre categorias. Para obter mais informações sobre o conjunto de dados de exemplo, consulte Conjuntos de dados de exemplo no Cosmos DB no 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;
Observe os resultados da consulta no editor de consultas:
[
{
"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
]
Consultar matrizes JSON aninhadas com OPENJSON
Use a OPENJSON função para analisar e consultar matrizes JSON aninhadas em seus documentos. O exemplo a seguir demonstra como analisar a priceHistory matriz para identificar produtos com os maiores aumentos de preço, ajudando você a acompanhar as tendências de preços e otimizar sua estratégia de preços.
-- 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;
Observe os resultados da consulta no editor de consultas:
[
{
"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
]