Bagikan melalui


Cara: Mengakses data Azure Cosmos DB yang dicerminkan di Lakehouse dan notebook dari Microsoft Fabric (Pratinjau)

Dalam panduan ini, Anda mempelajari cara Mengakses data Azure Cosmos DB yang dicerminkan di Lakehouse dan notebook dari Microsoft Fabric (Pratinjau).

Penting

Pencerminan untuk Azure Cosmos DB saat ini dalam pratinjau. Beban kerja produksi tidak didukung selama pratinjau. Saat ini, hanya Azure Cosmos DB untuk akun NoSQL yang didukung.

Prasyarat

  • Akun Azure Cosmos DB for NoSQL yang sudah ada.
  • Kapasitas Fabric yang ada. Jika Anda tidak memiliki kapasitas yang ada, mulai uji coba Fabric.
  • Aktifkan Pencerminan di penyewa atau ruang kerja Fabric Anda. Jika fitur belum diaktifkan, aktifkan pencerminan di penyewa Fabric Anda.
  • Akun Azure Cosmos DB for NoSQL harus dikonfigurasi untuk pencerminan Fabric. Untuk informasi selengkapnya, lihat persyaratan akun.

Tip

Selama pratinjau publik, disarankan untuk menggunakan salinan pengujian atau pengembangan data Azure Cosmos DB Anda yang ada yang dapat dipulihkan dengan cepat dari cadangan.

Menyiapkan pencerminan dan prasyarat

Konfigurasikan pencerminan untuk database Azure Cosmos DB for NoSQL. Jika Anda tidak yakin cara mengonfigurasi pencerminan, lihat tutorial konfigurasi database cermin.

  1. Navigasikan ke portal Fabric.

  2. Buat koneksi baru dan database cermin menggunakan kredensial akun Azure Cosmos DB Anda.

  3. Tunggu replikasi untuk menyelesaikan rekam jepret awal data.

Mengakses data cermin di Lakehouse dan notebook

Gunakan Lakehouse untuk memperluas lebih lanjut jumlah alat yang dapat Anda gunakan untuk menganalisis data cermin Azure Cosmos DB for NoSQL Anda. Di sini, Anda menggunakan Lakehouse untuk membuat buku catatan Spark untuk mengkueri data Anda.

  1. Navigasikan ke beranda portal Fabric lagi.

  2. Di menu navigasi, pilih Buat.

  3. Pilih Buat, temukan bagian Rekayasa Data, lalu pilih Lakehouse.

  4. Berikan nama untuk Lakehouse lalu pilih Buat.

  5. Sekarang pilih Dapatkan Data, lalu Pintasan baru. Dari daftar opsi pintasan, pilih Microsoft OneLake.

  6. Pilih database Azure Cosmos DB for NoSQL yang dicerminkan dari daftar database cermin di ruang kerja Fabric Anda. Pilih tabel yang akan digunakan dengan Lakehouse, pilih Berikutnya, lalu pilih Buat.

  7. Buka menu konteks untuk tabel di Lakehouse dan pilih Buku catatan baru atau yang sudah ada.

  8. Notebook baru secara otomatis membuka dan memuat dataframe menggunakan SELECT LIMIT 1000.

  9. Jalankan kueri seperti SELECT * menggunakan Spark.

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

    Cuplikan layar buku catatan Lakehouse dengan data yang telah dimuat sebelumnya dari database cermin.

    Catatan

    Contoh ini mengasumsikan nama tabel Anda. Gunakan tabel Anda sendiri saat menulis kueri Spark Anda.

Menulis kembali menggunakan Spark

Terakhir, Anda dapat menggunakan kode Spark dan Python untuk menulis data kembali ke akun Azure Cosmos DB sumber Anda dari notebook di Fabric. Anda mungkin ingin melakukan ini untuk menulis kembali hasil analitik ke Cosmos DB, yang kemudian dapat digunakan sebagai sarana penyajian untuk aplikasi OLTP.

  1. Buat empat sel kode dalam buku catatan Anda.

  2. Pertama, kueri data cermin Anda.

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

    Tip

    Nama tabel dalam blok kode sampel ini mengasumsikan skema data tertentu. Jangan ragu untuk mengganti ini dengan nama tabel dan kolom Anda sendiri.

  3. Sekarang ubah dan agregat data.

    dfCDB = dfMirror.filter(dfMirror.categoryId.isNotNull()).groupBy("categoryId").agg(max("price").alias("max_price"), max("id").alias("id"))
    
  4. Selanjutnya, konfigurasikan Spark untuk menulis kembali ke akun Azure Cosmos DB for NoSQL Anda menggunakan kredensial, nama database, dan nama kontainer Anda.

    writeConfig = {
      "spark.cosmos.accountEndpoint" : "https://xxxx.documents.azure.com:443/",
      "spark.cosmos.accountKey" : "xxxx",
      "spark.cosmos.database" : "xxxx",
      "spark.cosmos.container" : "xxxx"
    }
    
  5. Terakhir, gunakan Spark untuk menulis kembali ke database sumber.

    dfCDB.write.mode("APPEND").format("cosmos.oltp").options(**writeConfig).save()
    
  6. Jalankan semua sel kode.

    Penting

    Operasi tulis ke Azure Cosmos DB akan menggunakan unit permintaan (RU).