Aracılığıyla paylaş


Nasıl yapılır: Lakehouse'daki yansıtılmış Azure Cosmos DB verilerine ve Microsoft Fabric'ten not defterlerine erişme (Önizleme)

Bu kılavuzda, Lakehouse'daki yansıtılmış Azure Cosmos DB verilerine ve Microsoft Fabric (Önizleme) not defterlerine erişmeyi öğreneceksiniz.

Önemli

Azure Cosmos DB için yansıtma şu anda önizleme aşamasındadır. Üretim iş yükleri önizleme sırasında desteklenmez. Şu anda yalnızca NoSQL için Azure Cosmos DB hesapları desteklenmektedir.

Önkoşullar

İpucu

Genel önizleme sırasında, mevcut Azure Cosmos DB verilerinizin bir yedekten hızla kurtarabileceğiniz bir test veya geliştirme kopyasını kullanmanız önerilir.

Yansıtmayı ve önkoşulları ayarlama

NoSQL için Azure Cosmos DB veritabanı için yansıtmayı yapılandırın. Yansıtmayı nasıl yapılandırabileceğinizden emin değilseniz yansıtılmış veritabanını yapılandırma öğreticisine bakın.

  1. Doku portalına gidin.

  2. Azure Cosmos DB hesabınızın kimlik bilgilerini kullanarak yeni bir bağlantı ve yansıtılmış veritabanı oluşturun.

  3. Çoğaltmanın verilerin ilk anlık görüntüsünü tamamlanmasını bekleyin.

Lakehouse ve not defterlerindeki yansıtılmış verilere erişme

NoSQL için Azure Cosmos DB yansıtılmış verilerinizi analiz etmek için kullanabileceğiniz araç sayısını daha fazla genişletmek için Lakehouse'ı kullanın. Burada Lakehouse'u kullanarak verilerinizi sorgulamak üzere bir Spark not defteri oluşturacaksınız.

  1. Doku portalı giriş sayfasına yeniden gidin.

  2. Gezinti menüsünde Oluştur'u seçin.

  3. Oluştur'u seçin, Veri Madenciliği bölümünü bulun ve ardından Lakehouse'u seçin.

  4. Lakehouse için bir ad girin ve oluştur'u seçin.

  5. Şimdi Veri Al'ı ve ardından Yeni kısayol'ı seçin. Kısayol seçenekleri listesinden Microsoft OneLake'i seçin.

  6. Doku çalışma alanınızdaki yansıtılmış veritabanları listesinden NoSQL için yansıtılmış Azure Cosmos DB veritabanını seçin. Lakehouse ile kullanılacak tabloları seçin, İleri'yi ve ardından Oluştur'u seçin.

  7. Lakehouse'da tablonun bağlam menüsünü açın ve Yeni veya mevcut not defteri'ni seçin.

  8. Yeni bir not defteri otomatik olarak açılır ve kullanarak SELECT LIMIT 1000bir veri çerçevesi yükler.

  9. Spark kullanma gibi SELECT * sorgular çalıştırın.

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

    Yansıtılmış veritabanından önceden yüklenmiş verileri içeren lakehouse not defterinin ekran görüntüsü.

    Not

    Bu örnekte tablonuzun adı varsayılır. Spark sorgunuzu yazarken kendi tablonuzu kullanın.

Spark kullanarak geri yazma

Son olarak, Doku'daki not defterlerinden kaynak Azure Cosmos DB hesabınıza veri yazmak için Spark ve Python kodunu kullanabilirsiniz. Bunu, analiz sonuçlarını Cosmos DB'ye geri yazmak için yapmak isteyebilirsiniz. Bu, OLTP uygulamaları için sunum düzlemi olarak kullanılabilir.

  1. Not defterinizde dört kod hücresi oluşturun.

  2. İlk olarak, yansıtılmış verilerinizi sorgula.

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

    İpucu

    Bu örnek kod bloklarındaki tablo adları belirli bir veri şemasını varsayar. Bunu kendi tablo ve sütun adlarınızla değiştirebilirsiniz.

  3. Şimdi verileri dönüştürün ve birleştirin.

    dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
    
  4. Ardından Kimlik bilgilerinizi, veritabanı adınızı ve kapsayıcı adınızı kullanarak Spark'ı NoSQL için Azure Cosmos DB hesabınıza geri yazacak şekilde yapılandırın.

    writeConfig = {
      "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/",
      "spark.cosmos.accountKey" : "xxxx",
      "spark.cosmos.database" : "xxxx",
      "spark.cosmos.container" : "xxxx"
    }
    
  5. Son olarak, kaynak veritabanına geri yazmak için Spark'ı kullanın.

    dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
    
  6. Tüm kod hücrelerini çalıştırın.

    Önemli

    Azure Cosmos DB'ye yazma işlemleri istek birimlerini (RU) kullanır.