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
- Mevcut bir NoSQL için Azure Cosmos DB hesabı.
- Azure aboneliğiniz yoksa NoSQL için Azure Cosmos DB'yi ücretsiz deneyin.
- Mevcut bir Azure aboneliğiniz varsa Yeni bir NoSQL için Azure Cosmos DB hesabı oluşturun.
- Mevcut bir Doku kapasitesi. Mevcut kapasiteniz yoksa bir Fabric deneme sürümü başlatın.
- NoSQL için Azure Cosmos DB hesabının Doku yansıtması için yapılandırılması gerekir. Daha fazla bilgi için bkz . hesap gereksinimleri.
İ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.
Azure Cosmos DB hesabınızın kimlik bilgilerini kullanarak yeni bir bağlantı ve yansıtılmış veritabanı oluşturun.
Ç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.
Doku portalı giriş sayfasına yeniden gidin.
Gezinti menüsünde Oluştur'u seçin.
Oluştur'u seçin, Veri Madenciliği bölümünü bulun ve ardından Lakehouse'u seçin.
Lakehouse için bir ad girin ve oluştur'u seçin.
Şimdi Veri Al'ı ve ardından Yeni kısayol'ı seçin. Kısayol seçenekleri listesinden Microsoft OneLake'i seçin.
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.
Lakehouse'da tablonun bağlam menüsünü açın ve Yeni veya mevcut not defteri'ni seçin.
Yeni bir not defteri otomatik olarak açılır ve kullanarak
SELECT LIMIT 1000
bir veri çerçevesi yükler.Spark kullanma gibi
SELECT *
sorgular çalıştırın.df = spark.sql("SELECT * FROM Lakehouse.OrdersDB_customers LIMIT 1000") display(df)
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.
Not defterinizde dört kod hücresi oluşturun.
İ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.
Ş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"))
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" }
Son olarak, kaynak veritabanına geri yazmak için Spark'ı kullanın.
dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
Tüm kod hücrelerini çalıştırın.
Önemli
Azure Cosmos DB'ye yazma işlemleri istek birimlerini (RU) kullanır.