Postupy: Přístup ke zrcadleným datům Azure Cosmos DB v Lakehouse a poznámkových blocích z Microsoft Fabric (Preview)
V této příručce se dozvíte, jak přistupovat ke zrcadleným datům Azure Cosmos DB v Lakehouse a poznámkových blocích z Microsoft Fabric (Preview).
Důležité
Zrcadlení služby Azure Cosmos DB je aktuálně ve verzi Preview. Produkční úlohy nejsou ve verzi Preview podporované. V současné době se podporují jenom účty Azure Cosmos DB for NoSQL.
Požadavky
- Existující účet Azure Cosmos DB for NoSQL.
- Pokud nemáte předplatné Azure, vyzkoušejte službu Azure Cosmos DB pro NoSQL zdarma.
- Pokud máte existující předplatné Azure, vytvořte nový účet Azure Cosmos DB for NoSQL.
- Existující kapacita prostředků infrastruktury. Pokud nemáte existující kapacitu, spusťte zkušební verzi Fabric.
- Pro zrcadlení prostředků infrastruktury musí být nakonfigurovaný účet Azure Cosmos DB for NoSQL. Další informace najdete v požadavcích na účet.
Tip
Ve verzi Public Preview se doporučuje použít testovací nebo vývojovou kopii stávajících dat Azure Cosmos DB, která je možné rychle obnovit ze zálohy.
Nastavení zrcadlení a požadavků
Nakonfigurujte zrcadlení pro databázi Azure Cosmos DB for NoSQL. Pokud si nejste jistí, jak nakonfigurovat zrcadlení, projděte si kurz konfigurace zrcadlené databáze.
Přejděte na portál Fabric.
Vytvořte nové připojení a zrcadlenou databázi pomocí přihlašovacích údajů účtu služby Azure Cosmos DB.
Počkejte, až replikace dokončí počáteční snímek dat.
Přístup ke zrcadleným datům v Lakehouse a poznámkových blocích
Pomocí Lakehouse můžete dále rozšířit počet nástrojů, které můžete použít k analýze zrcadlených dat služby Azure Cosmos DB for NoSQL. V této části pomocí Lakehouse vytvoříte poznámkový blok Sparku pro dotazování na data.
Znovu přejděte na domovskou stránku portálu Fabric.
V navigační nabídce vyberte Vytvořit.
Vyberte Vytvořit, vyhledejte oddíl Datoví technici a pak vyberte Lakehouse.
Zadejte název lakehouse a pak vyberte Vytvořit.
Teď vyberte Získat data a potom novou klávesovou zkratku. V seznamu možností zástupce vyberte Microsoft OneLake.
Ze seznamu zrcadlených databází v pracovním prostoru Prostředky infrastruktury vyberte zrcadlenou databázi Azure Cosmos DB for NoSQL. Vyberte tabulky, které chcete použít s Lakehousem, vyberte Další a pak vyberte Vytvořit.
Otevřete místní nabídku tabulky v Lakehouse a vyberte Nový nebo existující poznámkový blok.
Nový poznámkový blok se automaticky otevře a načte datový rámec pomocí
SELECT LIMIT 1000
.Spouštění dotazů, jako je
SELECT *
použití Sparkudf = spark.sql("SELECT * FROM Lakehouse.OrdersDB_customers LIMIT 1000") display(df)
Poznámka:
Tento příklad předpokládá název tabulky. Při psaní dotazu Spark použijte vlastní tabulku.
Zpětný zápis pomocí Sparku
Nakonec můžete pomocí kódu Sparku a Pythonu zapisovat data zpět do zdrojového účtu služby Azure Cosmos DB z poznámkových bloků v prostředcích infrastruktury. Můžete to udělat tak, že zapíšete analytické výsledky do služby Cosmos DB, které pak můžete použít jako obslužnou rovinu pro aplikace OLTP.
Vytvořte v poznámkovém bloku čtyři buňky kódu.
Nejprve se dotazujte na zrcadlová data.
fMirror = spark.sql("SELECT * FROM Lakehouse1.OrdersDB_ordercatalog")
Tip
Názvy tabulek v těchto blocích vzorového kódu předpokládají určité schéma dat. Můžete ho nahradit vlastními názvy tabulek a sloupců.
Teď transformujte a agregujte data.
dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
Dále nakonfigurujte Spark tak, aby se zpětný zápis do vašeho účtu Azure Cosmos DB for NoSQL pomocí přihlašovacích údajů, názvu databáze a názvu kontejneru.
writeConfig = { "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/", "spark.cosmos.accountKey" : "xxxx", "spark.cosmos.database" : "xxxx", "spark.cosmos.container" : "xxxx" }
Nakonec pomocí Sparku zapište zpět do zdrojové databáze.
dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
Spusťte všechny buňky kódu.
Důležité
Operace zápisu do služby Azure Cosmos DB budou spotřebovávat jednotky žádostí (RU).