Dela via


Anvisningar: Få åtkomst till speglade Azure Cosmos DB-data i Lakehouse och notebook-filer från Microsoft Fabric (förhandsversion)

I den här guiden lär du dig att komma åt speglade Azure Cosmos DB-data i Lakehouse och notebook-filer från Microsoft Fabric (förhandsversion).

Viktigt!

Spegling för Azure Cosmos DB är för närvarande i förhandsversion. Produktionsarbetsbelastningar stöds inte under förhandsversionen. För närvarande stöds endast Azure Cosmos DB för NoSQL-konton.

Förutsättningar

Dricks

Under den offentliga förhandsversionen rekommenderar vi att du använder en test- eller utvecklingskopia av dina befintliga Azure Cosmos DB-data som kan återställas snabbt från en säkerhetskopia.

Konfigurera spegling och krav

Konfigurera spegling för Azure Cosmos DB för NoSQL-databasen. Om du är osäker på hur du konfigurerar spegling kan du läsa självstudien konfigurera speglad databas.

  1. Gå till Infrastrukturportalen.

  2. Skapa en ny anslutning och speglad databas med autentiseringsuppgifterna för ditt Azure Cosmos DB-konto.

  3. Vänta tills replikeringen har slutfört den första ögonblicksbilden av data.

Få åtkomst till speglade data i Lakehouse och notebook-filer

Använd Lakehouse för att ytterligare utöka antalet verktyg som du kan använda för att analysera dina Azure Cosmos DB för NoSQL-speglade data. Här använder du Lakehouse för att skapa en Spark-notebook-fil för att köra frågor mot dina data.

  1. Gå till fabric-portalens startsida igen.

  2. I navigeringsmenyn väljer du Skapa.

  3. Välj Skapa, leta upp avsnittet Dataingenjör ing och välj sedan Lakehouse.

  4. Ange ett namn för Lakehouse och välj sedan Skapa.

  5. Välj Hämta data och sedan Ny genväg. I listan med genvägsalternativ väljer du Microsoft OneLake.

  6. Välj den speglade Azure Cosmos DB för NoSQL-databasen i listan över speglade databaser på din Infrastruktur-arbetsyta. Välj de tabeller som ska användas med Lakehouse, välj Nästa och välj sedan Skapa.

  7. Öppna snabbmenyn för tabellen i Lakehouse och välj Ny eller befintlig anteckningsbok.

  8. En ny notebook-fil öppnas automatiskt och läser in en dataram med hjälp av SELECT LIMIT 1000.

  9. Kör frågor som SELECT * att använda Spark.

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

    Skärmbild av en Lakehouse-anteckningsbok med förinstallerade data från den speglade databasen.

    Kommentar

    I det här exemplet förutsätts namnet på tabellen. Använd din egen tabell när du skriver Spark-frågan.

Skriv tillbaka med Spark

Slutligen kan du använda Spark- och Python-kod för att skriva tillbaka data till ditt Azure Cosmos DB-källkonto från notebook-filer i Fabric. Du kanske vill göra detta för att skriva tillbaka analysresultat till Cosmos DB, som sedan kan användas som serverplan för OLTP-program.

  1. Skapa fyra kodceller i anteckningsboken.

  2. Börja med att fråga dina speglade data.

    fMirror = spark.sql("SELECT * FROM Lakehouse1.OrdersDB_ordercatalog")
    

    Dricks

    Tabellnamnen i dessa exempelkodblock förutsätter ett visst dataschema. Ersätt gärna detta med dina egna tabell- och kolumnnamn.

  3. Transformera och aggregera data.

    dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
    
  4. Konfigurera sedan Spark för att skriva tillbaka till ditt Azure Cosmos DB för NoSQL-konto med dina autentiseringsuppgifter, databasnamn och containernamn.

    writeConfig = {
      "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/",
      "spark.cosmos.accountKey" : "xxxx",
      "spark.cosmos.database" : "xxxx",
      "spark.cosmos.container" : "xxxx"
    }
    
  5. Slutligen använder du Spark för att skriva tillbaka till källdatabasen.

    dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
    
  6. Kör alla kodceller.

    Viktigt!

    Skrivåtgärder till Azure Cosmos DB förbrukar enheter för begäranden (RU:er).