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.
Neste guia, você aprenderá a acessar dados espelhados do Azure Cosmos DB no Lakehouse e notebooks do Microsoft Fabric (versão prévia).
Importante
O espelhamento para o Azure Cosmos DB está atualmente em versão prévia. Não há suporte para cargas de trabalho de produção durante a visualização. Atualmente, há suporte apenas para contas do Azure Cosmos DB para NoSQL.
Pré-requisitos
- Uma conta existente do Azure Cosmos DB para NoSQL.
- Se você não tiver uma assinatura do Azure, experimente o Azure Cosmos DB para NoSQL gratuitamente.
- Se você tiver uma assinatura existente do Azure, crie uma nova conta do Azure Cosmos DB para NoSQL.
- Uma capacidade existente do Fabric. Se você não tiver uma capacidade existente, inicie uma avaliação do Fabric.
- A conta do Azure Cosmos DB para NoSQL deve ser configurada para espelhamento do Fabric. Para obter mais informações, consulte os requisitos da conta.
Dica
Durante a visualização pública, é recomendável usar uma cópia de teste ou desenvolvimento de seus dados existentes do Azure Cosmos DB que podem ser recuperados rapidamente de um backup.
Configurar espelhamento e pré-requisitos
Configure o espelhamento para o banco de dados do Azure Cosmos DB para NoSQL. Se você não tiver certeza de como configurar o espelhamento, consulte o tutorial configurar banco de dados espelhado.
Navegue até o portal do Fabric.
Crie uma nova conexão e um banco de dados espelhado usando as credenciais da sua conta do Azure Cosmos DB.
Aguarde até que a replicação conclua o instantâneo inicial dos dados.
Acessar dados espelhados no Lakehouse e notebooks
Use o Lakehouse para estender ainda mais o número de ferramentas que você pode usar para analisar os dados espelhados do Azure Cosmos DB para NoSQL. Aqui, você usa o Lakehouse para criar um notebook Spark para consultar seus dados.
Navegue até a página inicial do portal do Fabric novamente.
No menu de navegação, selecione Criar.
Selecione Criar, localize a seção Engenharia de Dados e selecione Lakehouse.
Forneça um nome para o Lakehouse e selecione Criar.
Agora, selecione Obter Dados e, em seguida, Novo atalho. Na lista de opções de atalho, selecione Microsoft OneLake.
Selecione o banco de dados espelhado do Azure Cosmos DB para NoSQL na lista de bancos de dados espelhados no workspace do Fabric. Selecione as tabelas a serem usadas com o Lakehouse, selecione Avançar e, em seguida, selecione Criar.
Abra o menu de contexto da tabela em Lakehouse e selecione Novo ou bloco de anotações existente.
Um novo notebook é aberto automaticamente e carrega um dataframe usando
SELECT LIMIT 1000
.Execute consultas como
SELECT *
usar o Spark.df = spark.sql("SELECT * FROM Lakehouse.OrdersDB_customers LIMIT 1000") display(df)
Observação
Este exemplo pressupõe o nome da tabela. Use sua própria tabela ao escrever sua consulta do Spark.
Gravar novamente usando o Spark
Por fim, você pode usar o código Spark e Python para gravar dados de volta em sua conta do Azure Cosmos DB de origem de notebooks no Fabric. Talvez você queira fazer isso para gravar resultados analíticos no Cosmos DB, que pode ser usado como plano de serviço para aplicativos OLTP.
Crie quatro células de código em seu notebook.
Primeiro, consulte os dados espelhados.
fMirror = spark.sql("SELECT * FROM Lakehouse1.OrdersDB_ordercatalog")
Dica
Os nomes de tabela nesses blocos de código de exemplo pressupõem um determinado esquema de dados. Fique à vontade para substituí-lo por seus próprios nomes de tabela e coluna.
Agora, transforme e agrege os dados.
dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
Em seguida, configure o Spark para gravar novamente em sua conta do Azure Cosmos DB para NoSQL usando suas credenciais, o nome do banco de dados e o nome do contêiner.
writeConfig = { "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/", "spark.cosmos.accountKey" : "xxxx", "spark.cosmos.database" : "xxxx", "spark.cosmos.container" : "xxxx" }
Por fim, use o Spark para gravar de volta no banco de dados de origem.
dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
Execute todas as células de código.
Importante
As operações de gravação no Azure Cosmos DB consumirão RUs (unidades de solicitação).