Share via


Procedure: Toegang krijgen tot gespiegelde Azure Cosmos DB-gegevens in Lakehouse en notebooks vanuit Microsoft Fabric (preview)

In deze handleiding leert u hoe u gespiegelde Azure Cosmos DB-gegevens in Lakehouse en notebooks opent vanuit Microsoft Fabric (preview).

Belangrijk

Spiegeling voor Azure Cosmos DB is momenteel beschikbaar als preview-versie. Productieworkloads worden niet ondersteund tijdens de preview-versie. Momenteel worden alleen Azure Cosmos DB for NoSQL-accounts ondersteund.

Vereisten

Tip

Tijdens de openbare preview kunt u het beste een test- of ontwikkelingskopie van uw bestaande Azure Cosmos DB-gegevens gebruiken die snel vanuit een back-up kunnen worden hersteld.

Spiegeling en vereisten instellen

Spiegeling configureren voor de Azure Cosmos DB for NoSQL-database. Als u niet zeker weet hoe u spiegeling configureert, raadpleegt u de zelfstudie gespiegelde database configureren.

  1. Navigeer naar de Fabric-portal.

  2. Maak een nieuwe verbinding en gespiegelde database met behulp van de referenties van uw Azure Cosmos DB-account.

  3. Wacht tot de replicatie de eerste momentopname van gegevens heeft voltooid.

Toegang tot gespiegelde gegevens in Lakehouse en notebooks

Gebruik Lakehouse om het aantal hulpprogramma's dat u kunt gebruiken verder uit te breiden om uw gespiegelde Azure Cosmos DB for NoSQL-gegevens te analyseren. Hier gebruikt u Lakehouse om een Spark-notebook te maken om een query uit te voeren op uw gegevens.

  1. Ga opnieuw naar de startpagina van de Fabric-portal.

  2. Selecteer Maken in het navigatiemenu.

  3. Selecteer Maken, zoek de sectie Data-engineer en selecteer Vervolgens Lakehouse.

  4. Geef een naam op voor Lakehouse en selecteer Vervolgens Maken.

  5. Selecteer nu Gegevens ophalen en vervolgens nieuwe snelkoppeling. Selecteer Microsoft OneLake in de lijst met snelkoppelingsopties.

  6. Selecteer de gespiegelde Azure Cosmos DB for NoSQL-database in de lijst met gespiegelde databases in uw Fabric-werkruimte. Selecteer de tabellen die u wilt gebruiken met Lakehouse, selecteer Volgende en selecteer vervolgens Maken.

  7. Open het contextmenu voor de tabel in Lakehouse en selecteer Nieuw of bestaand notitieblok.

  8. Een nieuw notebook wordt automatisch geopend en laadt een dataframe met behulp van SELECT LIMIT 1000.

  9. Voer query's uit, zoals SELECT * het gebruik van Spark.

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

    Schermopname van een Lakehouse-notebook met vooraf geladen gegevens uit de gespiegelde database.

    Notitie

    In dit voorbeeld wordt uitgegaan van de naam van de tabel. Gebruik uw eigen tabel bij het schrijven van uw Spark-query.

Terugschrijven met Spark

Ten slotte kunt u Spark- en Python-code gebruiken om gegevens terug te schrijven naar uw Azure Cosmos DB-bronaccount vanuit notebooks in Fabric. U kunt dit doen om analytische resultaten terug te schrijven naar Cosmos DB, die vervolgens kunnen worden gebruikt als servicevlak voor OLTP-toepassingen.

  1. Maak vier codecellen in uw notebook.

  2. Voer eerst een query uit op uw gespiegelde gegevens.

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

    Tip

    Bij de tabelnamen in deze voorbeeldcodeblokken wordt uitgegaan van een bepaald gegevensschema. U kunt dit vervangen door uw eigen tabel- en kolomnamen.

  3. Transformeer en aggreger nu de gegevens.

    dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
    
  4. Configureer vervolgens Spark om terug te schrijven naar uw Azure Cosmos DB for NoSQL-account met behulp van uw referenties, databasenaam en containernaam.

    writeConfig = {
      "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/",
      "spark.cosmos.accountKey" : "xxxx",
      "spark.cosmos.database" : "xxxx",
      "spark.cosmos.container" : "xxxx"
    }
    
  5. Ten slotte gebruikt u Spark om terug te schrijven naar de brondatabase.

    dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
    
  6. Voer alle codecellen uit.

    Belangrijk

    Schrijfbewerkingen naar Azure Cosmos DB verbruiken aanvraageenheden (RU's).