Del via


Sådan får du adgang til spejlede Azure Cosmos DB-data i Lakehouse og notesbøger fra Microsoft Fabric (prøveversion)

I denne vejledning lærer du, hvordan du får adgang til spejlede Azure Cosmos DB-data i Lakehouse og notesbøger fra Microsoft Fabric (prøveversion).

Vigtigt

Spejling til Azure Cosmos DB er i øjeblikket en prøveversion. Produktionsarbejdsbelastninger understøttes ikke under prøveversionen. I øjeblikket understøttes kun Azure Cosmos DB for NoSQL-konti.

Forudsætninger

Tip

I den offentlige prøveversion anbefales det at bruge en test- eller udviklingskopi af dine eksisterende Azure Cosmos DB-data, der hurtigt kan gendannes fra en sikkerhedskopi.

Konfigurer spejling og forudsætninger

Konfigurer spejling for Azure Cosmos DB for NoSQL-databasen. Hvis du er usikker på, hvordan du konfigurerer spejling, skal du se selvstudiet konfigurer spejlvendt database.

  1. Gå til Fabric-portalen.

  2. Opret en ny forbindelse og en spejlet database ved hjælp af legitimationsoplysningerne til din Azure Cosmos DB-konto.

  3. Vent på, at replikeringen afslutter det første snapshot af data.

Få adgang til spejlede data i Lakehouse og notesbøger

Brug Lakehouse til yderligere at udvide antallet af værktøjer, du kan bruge til at analysere din Azure Cosmos DB for NoSQL-spejlede data. Her kan du bruge Lakehouse til at oprette en Spark-notesbog til at forespørge dine data.

  1. Gå til stofportalens hjem igen.

  2. Vælg Opret i navigationsmenuen.

  3. Vælg Opret, find sektionen Dataudvikler ing, og vælg derefter Lakehouse.

  4. Angiv et navn til Lakehouse, og vælg derefter Opret.

  5. Vælg nu Hent data og derefter Ny genvej. Vælg Microsoft OneLake på listen over genvejsindstillinger.

  6. Vælg den spejlede Azure Cosmos DB til NoSQL-database på listen over spejlede databaser i dit Fabric-arbejdsområde. Vælg de tabeller, der skal bruges sammen med Lakehouse, vælg Næste, og vælg derefter Opret.

  7. Åbn genvejsmenuen for tabellen i Lakehouse, og vælg Ny eller eksisterende notesbog.

  8. En ny notesbog åbnes automatisk og indlæser en dataramme ved hjælp af SELECT LIMIT 1000.

  9. Kør forespørgsler, f.eks SELECT * . ved hjælp af Spark.

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

    Skærmbillede af en Lakehouse-notesbog med forudindlæste data fra den spejlede database.

    Bemærk

    I dette eksempel antages navnet på tabellen. Brug din egen tabel, når du skriver din Spark-forespørgsel.

Skriv tilbage ved hjælp af Spark

Endelig kan du bruge Spark- og Python-kode til at skrive data tilbage til din azure Cosmos DB-kildekonto fra notesbøger i Fabric. Det kan være en god idé at gøre dette for at skrive analyseresultater tilbage til Cosmos DB, som derefter kan bruge som serveringsplan til OLTP-programmer.

  1. Opret fire kodeceller i notesbogen.

  2. Først skal du forespørge om dine spejlede data.

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

    Tip

    Tabelnavnene i disse eksempelkodeblokke forudsætter et bestemt dataskema. Du er velkommen til at erstatte dette med dine egne tabel- og kolonnenavne.

  3. Transformér og aggreger nu dataene.

    dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
    
  4. Konfigurer derefter Spark til at skrive tilbage til din Azure Cosmos DB for NoSQL-konto ved hjælp af dine legitimationsoplysninger, databasenavn og objektbeholdernavn.

    writeConfig = {
      "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/",
      "spark.cosmos.accountKey" : "xxxx",
      "spark.cosmos.database" : "xxxx",
      "spark.cosmos.container" : "xxxx"
    }
    
  5. Til sidst skal du bruge Spark til at skrive tilbage til kildedatabasen.

    dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
    
  6. Kør alle kodecellerne.

    Vigtigt

    Skrivehandlinger til Azure Cosmos DB bruger anmodningsenheder (RU'er).