Sdílet prostřednictvím


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

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.

  1. Přejděte na portál Fabric.

  2. Vytvořte nové připojení a zrcadlenou databázi pomocí přihlašovacích údajů účtu služby Azure Cosmos DB.

  3. 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.

  1. Znovu přejděte na domovskou stránku portálu Fabric.

  2. V navigační nabídce vyberte Vytvořit.

  3. Vyberte Vytvořit, vyhledejte oddíl Datoví technici a pak vyberte Lakehouse.

  4. Zadejte název lakehouse a pak vyberte Vytvořit.

  5. Teď vyberte Získat data a potom novou klávesovou zkratku. V seznamu možností zástupce vyberte Microsoft OneLake.

  6. 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.

  7. Otevřete místní nabídku tabulky v Lakehouse a vyberte Nový nebo existující poznámkový blok.

  8. Nový poznámkový blok se automaticky otevře a načte datový rámec pomocí SELECT LIMIT 1000.

  9. Spouštění dotazů, jako je SELECT * použití Sparku

    df = spark.sql("SELECT * FROM Lakehouse.OrdersDB_customers LIMIT 1000")
    display(df)
    

    Snímek obrazovky poznámkového bloku Lakehouse s předem načtenými daty ze zrcadlené databáze

    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.

  1. Vytvořte v poznámkovém bloku čtyři buňky kódu.

  2. 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ů.

  3. Teď transformujte a agregujte data.

    dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
    
  4. 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"
    }
    
  5. Nakonec pomocí Sparku zapište zpět do zdrojové databáze.

    dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
    
  6. 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).