Gunakan driver ODBC Azure Cosmos DB untuk menghubungkan ke BI serta alat analitik data

BERLAKU UNTUK: NoSQL

Artikel ini mendampingi Anda dalam penginstalan dan penggunaan driver ODBC Azure Cosmos DB untuk membuat tabel dan tampilan yang dinormalisasi untuk data Azure Cosmos DB Anda. Anda bisa mengkueri data yang dinormalisasi dengan kueri SQL, atau mengimpor data ke Power BI atau perangkat lunak BI dan analitik lainnya untuk membuat laporan serta visualisasi.

Azure Cosmos DB adalah database tanpa skema, yang memungkinkan pengembangan aplikasi yang cepat dan berkemampuan untuk melakukan iterasi pada model data tanpa terbatas pada skema yang ketat. Satu database Azure Cosmos DB dapat berisi dokumen JSON dari berbagai struktur. Untuk menganalisis atau melaporkan data ini, Anda mungkin harus meratakan data agar sesuai dengan skema.

Dengan menggunakan driver ODBC, Anda sekarang bisa menormalkan ulang data di Azure Cosmos DB ke dalam tabel dan tampilan yang sesuai dengan analitik data dan kebutuhan pelaporan Anda. Skema yang dinormalisasi memungkinkan Anda untuk menggunakan alat yang mematuhi ODBC untuk mengakses data. Skema tidak berpengaruh pada data yang mendasar, dan tidak mengharuskan pengembang untuk mematuhinya. Driver ODBC membantu membuat database Azure Cosmos DB berguna untuk analis data dan tim pengembangan.

Anda dapat melakukan operasi SQL terhadap tabel dan tampilan yang dinormalisasi, termasuk mengelompokkan menurut kueri, menyisipkan, memperbarui, dan menghapus. Driver-nya adalah ODBC 3.8 sesuai dan mendukung sintaks ANSI SQL-92.

Penting

Pertimbangkan untuk menggunakan Azure Synapse Link for Azure Cosmos DB untuk membuat tabel dan tampilan untuk data Anda. Synapse Link memiliki manfaat performa yang berbeda untuk himpunan data besar melalui driver ODBC. Anda juga dapat menghubungkan data Azure Cosmos DB yang dinormalisasi ke solusi perangkat lunak lain, seperti SQL Server Integration Services (SSIS), QlikSense, Tableau, dan perangkat lunak analitik lainnya, BI, dan alat integrasi data. Anda bisa menggunakan solusi tersebut untuk menganalisis, memindahkan, mengubah, serta membuat visualisasi dengan data Azure Cosmos DB Anda.

Penting

  • Menyambungkan ke Azure Cosmos DB dengan driver ODBC saat ini hanya didukung untuk Azure Cosmos DB untuk NoSQL.
  • Driver ODBC saat ini tidak mendukung pushdown agregat dan memiliki masalah umum dengan banyak alat analitik. Hingga versi baru dirilis, Anda bisa menggunakan salah satu alternatif berikut:

Pasang driver ODBC dan sambungkan ke database Anda

  1. Unduh driver untuk lingkungan Anda:

    Installer Sistem operasi yang didukung
    Microsoft Azure Cosmos DB ODBC 64-bit.msi untuk Windows 64-bit Versi 64-bit Windows 8.1 atau yang lebih baru, Windows 8, Windows 7. Windows Server 2012 R2 versi 64-bit, Windows Server 2012, dan Windows Server 2008 R2.
    Microsoft Azure Cosmos DB ODBC 32x64-bit.msi untuk 32-bit pada Windows 64-bit Versi 64-bit Windows 8.1 atau yang lebih baru, Windows 8, Windows 7, Windows XP, Windows Vista. Windows Server 2012 R2 versi 64-bit, Windows Server 2012, Windows Server 2008 R2, dan Windows Server 2003.
    Microsoft Azure Cosmos DB ODBC 32-bit.msi untuk Windows 32-bit Windows 8.1 versi 32-bit atau yang lebih baru, Windows 8, Windows 7, Windows XP, dan Windows Vista.
  2. Jalankan file .msi secara lokal, yang memulai Wizard Penginstalan Driver ODBC Microsoft Azure Cosmos DB.

  3. Selesaikan wizard penginstalan menggunakan masukan default untuk menginstal driver ODBC.

  4. Setelah penginstalan driver, ketik sumber Data ODBC di kotak pencarian Windows, dan buka Administrator Sumber Data ODBC.

  5. Pastikan bahwa Driver ODBC Microsoft Azure DocumentDB tercantum pada tab Driver.

    Cuplikan layar jendela Administrator Sumber Data ODBC.

  6. Pilih tab DSN Pengguna, lalu pilih Tambahkan untuk membuat nama sumber data (DSN) baru. Anda juga bisa membuat sebuah DSN Sistem.

  7. Di jendela Buat Sumber Data Baru, pilih Driver ODBC Microsoft Azure Cosmos DB, lalu klik Selesai.

  8. Di jendela Penyiapan SDN Driver ODBC Azure Cosmos DB, isi informasi berikut:

    Cuplikan layar jendela penyiapan server nama domain (DNS).

    • Nama Sumber Data: Nama yang ramah untuk DSN ODBC. Nama ini termasuk unik untuk akun Azure Cosmos DB ini.
    • Deskripsi: Deskripsi singkat tentang sumber data.
    • Host: URI untuk akun Azure Cosmos DB Anda. Anda bisa mendapatkan informasi ini dari halaman Kunci di akun Azure Cosmos DB Anda di portal Microsoft Azure.
    • Kunci Akses: Kunci utama atau sekunder, baca-tulis atau baca-saja dari halaman Kunci Azure Cosmos DB di portal Microsoft Azure. Yang terbaik adalah menggunakan kunci baca-saja, apabila Anda menggunakan DSN untuk pemrosesan serta pelaporan data baca-saja.

    Untuk menghindari kesalahan autentikasi, gunakan tombol salin untuk menyalin URI dan kunci dari portal Microsoft Azure.

    Cuplikan layar halaman Kunci Azure Cosmos DB.

    • Kunci Akses Enkripsi untuk: Pilih pilihan terbaik berdasarkan pengguna komputer ini.
  9. Klik Uji untuk memastikan Anda bisa terhubung ke akun Azure Cosmos DB Anda.

  10. Klik Opsi Tingkat Lanjut dan atur nilai-nilai berikut ini:

    • Versi REST API: Pilih versi REST API untuk operasi Anda. Secara default adalah 2015-12-16.

      Jika Anda memiliki kontainer dengan kunci partisi besar yang memerlukan versi 2018-12-31REST API, ketik 2018-12-31, lalu ikuti langkah-langkah di akhir prosedur ini.

    • Konsistensi Kueri: Pilih tingkat konsistensi untuk operasi Anda. Defaultnya adalah Sesi.

    • Jumlah Percobaan Kembali: Masukkan jumlah percobaan kembali untuk sebuah operasi jika permintaan awal tidak selesai karena pembatasan tarif layanan.

    • File Skema: Apabila Anda tidak memilih file skema, driver memindai halaman pertama data untuk setiap kontainer untuk menentukan skemanya, yang disebut pemetaan kontainer, untuk setiap sesi. Proses ini bisa menyebabkan waktu mulai yang lama untuk aplikasi yang menggunakan DSN. Yang terbaik adalah mengaitkan file skema ke DSN.

      • Jika Anda sudah mempunyai file skema, pilih Telusuri, navigasi ke file, pilih Simpan, lalu pilih OK.

      • Jika Anda belum mempunyai file skema, pilih OK, lalu ikuti langkah-langkah di bagian berikutnya untuk membuat sebuah definisi skema. Setelah Anda membuat skema, kembali ke jendela Opsi Tingkat Lanjut ini untuk menambahkan file skema.

Setelah Anda memilih OK untuk menyelesaikan serta menutup jendela Penyetelan DSN Driver ODBC DocumentDB, DSN Pengguna baru muncul pada tab DSN Pengguna dari jendela Administrator Sumber Data ODBC.

Cuplikan layar yang menampilkan Pengguna D S N baru pada tab Pengguna D S N.

Edit registri Windows untuk mendukung REST API versi 2018-12-31

Jika Anda mempunyai kontainer dengan kunci partisi besar yang memerlukan REST API versi 2018-12-31, ikuti langkah-langkah ini untuk memperbarui registri Windows untuk mendukung versi ini.

  1. Di menu Mulai Windows, ketik regedit untuk menemukan serta membuka aplikasi Editor Registri.

  2. Di Editor Registri, navigasi ke jalur: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI.

  3. Buat sebuah subkey baru dengan nama yang sama dengan DSN Anda, misalnya Akun Contoso ODBC DSN.

  4. Navigasi ke subkey DSN ODBC Akun Contoso baru, dan klik kanan untuk menambahkan nilai String baru:

    • Nama Nilai: IgnoreSessionToken

    • Data nilai: 1

    Cuplikan layar yang memperlihatkan pengaturan Editor Registri Windows.

Membuat sebuah definisi skema

Ada dua jenis metode pengambilan sampel yang bisa Anda gunakan untuk membuat skema: pemetaan kontainer atau pemetaan pembatas tabel. Sebuah sesi pengambilan sampel bisa menggunakan kedua metode pengambilan sampel, tetapi setiap kontainer hanya bisa menggunakan metode pengambilan sampel tertentu. Metode mana yang akan digunakan tergantung pada karakteristik data Anda.

  • Pemetaan kontainer mengambil data pada halaman kontainer untuk menentukan struktur data, serta mengubah urutan kontainer ke tabel di sisi ODBC. Metode pengambilan sampel ini efisien dan cepat ketika data dalam kontainer homogen.

  • Pemetaan pemisah tabel menyediakan pengambilan sampel yang lebih kuat untuk data heterogen. Metode ini mencakup pengambilan sampel ke sekumpulan atribut dan nilai yang sesuai.

    Misalnya, jika dokumen berisi properti Jenis, Anda dapat mencakup pengambilan sampel ke nilai properti ini. Hasil akhir pengambilan sampel adalah sekumpulan tabel untuk setiap nilai untuk Jenis yang telah Anda tentukan. Jenis = Mobil menghasilkan sebuah tabel Mobil, sedangkan Jenis = Pesawat menghasilkan tabel Pesawat.

Untuk menentukan sebuah skema, ikuti langkah-langkah ini. Untuk metode pemetaan pemisah tabel, Anda mengambil langkah tambahan untuk menentukan atribut serta nilai untuk skema.

  1. Pada tab DSN Pengguna dari jendela Administrator Sumber Data ODBC, pilih Nama DSN Pengguna Azure Cosmos DB Anda, kemudian pilih Konfigurasikan.

  2. Di jendela Penyetelan DSN Driver ODBC DOCUMENTDB, pilih Editor Skema.

    Cuplikan layar yang menampilkan tombol Editor Skema di jendela Penyiapan D S N.

  3. Di jendela Editor Skema, klik Buat Baru.

  4. Jendela Hasilkan Skema menampilkan semua kontainer di akun Azure Cosmos DB. Pilih kotak centang di samping kontainer yang ingin Anda jadikan sampel.

  5. Untuk menggunakan metode pemetaan kontainer, pilih Sampel.

    Atau, untuk menggunakan pemetaan pemisah tabel, lakukan langkah-langkah berikut untuk menentukan atribut serta nilai untuk cakupan sampel.

    1. Pilih Edit di kolom Definisi Pemetaan untuk DSN Anda.

    2. Di jendela Definisi Pemetaan, di Metode Pemetaan, pilih metode Pembatas Tabel.

    3. Dalam kotak Atribut, ketik nama properti pemisah di dokumen yang ingin Anda cakup pengambilan sampelnya, misalnya, City. Tekan Enter.

    4. Jika Anda hanya ingin mencakup pengambilan sampel ke nilai tertentu untuk atribut yang Anda masukkan, pilih atribut, kemudian masukkan nilai dalam kotak Nilai, misalnya Seattle, dan tekan Enter. Anda bisa terus menambahkan beberapa nilai untuk atribut. Pastikan bahwa atribut yang benar dipilih ketika Anda memasukkan nilai.

    5. Setelah Anda selesai memasukkan atribut dan nilai, pilih OK.

    6. Di jendela Hasilkan Skema, pilih Sampel.

  6. Di tab Tampilan Desain, saring skema Anda. Tampilan Desain mewakili database, skema, serta tabel. Tampilan tabel menampilkan sekumpulan properti yang terkait dengan nama kolom, seperti Nama SQL dan Nama Sumber.

    Untuk setiap kolom, Anda bisa memodifikasi nama SQL, jenis SQL, panjang SQL, Skala, Presisi, dan Nullable jika berlaku.

    Anda bisa mengatur Sembunyikan Kolom ke true jika Anda ingin mengecualikan kolom tersebut dari hasil kueri. Kolom bertanda Sembunyikan Kolom = true tidak dikembalikan untuk pemilihan dan proyeksi, meskipun kolom-kolom tersebut masih menjadi bagian dari skema. Misalnya, Anda bisa menyembunyikan semua properti yang diperlukan sistem Azure Cosmos DB yang dimulai dengan _. Kolom id adalah satu-satunya bidang yang tidak bisa Anda sembunyikan, karena ini adalah kunci utama dalam skema yang dinormalisasi.

  7. Setelah Anda selesai menentukan skema, pilih File>Simpan, navigasikan ke direktori untuk menyimpan, dan pilih Simpan.

  8. Untuk menggunakan skema ini dengan DSN, di jendela Penyetelan DSN Driver ODBC DocumentDB, pilih Opsi Tingkat Lanjut. Pilih kotak File Skema, navigasikan ke skema yang disimpan, pilih OK kemudian pilih OK lagi. Menyimpan file skema ke memodifikasi koneksi DSN ke cakupan ke data dan struktur yang ditentukan oleh skema.

Membuat tampilan

Secara opsional, Anda bisa menentukan serta membuat tampilan di Editor Skema sebagai bagian dari proses pengambilan sampel. Tampilan ini setara dengan tampilan SQL. Tampilan hanya membaca saja, dan cakup ke pilihan serta proyeksi dari kueri Azure Cosmos DB SQL yang ditentukan.

Ikuti langkah-langkah ini untuk membuat sebuah tampilan untuk data Anda:

  1. Pada tab Tampilan Sampel dari jendela Editor Skema, pilih kontainer yang ingin Anda jadikan sampel, lalu pilih Tambahkan di kolom Tampilkan Definisi.

    Cuplikan layar pembuatan tampilan di dalam driver.

  2. Di jendela Tampilkan Definisi, pilih Baru. Masukkan nama untuk tampilan, misalnya EmployeesfromSeattleView, kemudian klik OK.

  3. Di jendela Edit tampilan, masukkan kueri Azure Cosmos DB, misalnya:

    SELECT c.City, c.EmployeeName, c.Level, c.Age, c.Manager FROM c WHERE c.City = "Seattle"

  4. PilihOK.

    Cuplikan layar menambahkan kueri saat membuat tampilan.

Anda bisa membuat banyak tampilan sesuka Anda. Setelah Anda selesai menentukan tampilan, pilih Sampel untuk mengambil sampel data.

Penting

Teks kueri dalam definisi tampilan tidak boleh berisi jeda baris. Jika tidak, kita akan mendapatkan kesalahan umum saat mempratinjau tampilan.

Kueri dengan SQL Server Management Studio

Setelah menyiapkan DSN Pengguna Driver ODBC Azure Cosmos DB, Anda bisa mengkueri Azure Cosmos DB dari SQL Server Management Studio (SSMS) dengan menyiapkan koneksi server yang ditautkan.

  1. Instal SQL Server Management Studio dan sambungkan ke server.

  2. Di editor kueri SQL Server Management Studio, buat objek server tertaut untuk sumber data dengan menjalankan perintah-perintah berikut. Ganti DEMOCOSMOS dengan nama untuk server tertaut Anda, dan SDS Namedengan nama sumber data sistem Anda.

    USE [master]
    GO
    
    EXEC master.dbo.sp_addlinkedserver @server = N'DEMOCOSMOS', @srvproduct=N'', @provider=N'MSDASQL', @datasrc=N'SDS Name'
    
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'DEMOCOSMOS', @useself=N'False', @locallogin=NULL, @rmtuser=NULL, @rmtpassword=NULL
    
    GO
    

Untuk melihat nama server tertaut yang baru, refresh daftar server tertaut.

Cuplikan layar menampilkan server yang ditautkan di S S M S.

Untuk mengkueri database yang ditautkan, masukkan kueri SSMS. Dalam contoh ini, kueri memilih dari tabel dalam kontainer bernama customers:

SELECT * FROM OPENQUERY(DEMOCOSMOS, 'SELECT *  FROM [customers].[customers]')

Mengeksekusi kueri. Hasilnya seharusnya mirip dengan output berikut ini:

attachments/  1507476156    521 Bassett Avenue, Wikieup, Missouri, 5422   "2602bc56-0000-0000-0000-59da42bc0000"   2015-02-06T05:32:32 +05:00 f1ca3044f17149f3bc61f7b9c78a26df
attachments/  1507476156    167 Nassau Street, Tuskahoma, Illinois, 5998   "2602bd56-0000-0000-0000-59da42bc0000"   2015-06-16T08:54:17 +04:00 f75f949ea8de466a9ef2bdb7ce065ac8
attachments/  1507476156    885 Strong Place, Cassel, Montana, 2069       "2602be56-0000-0000-0000-59da42bc0000"   2015-03-20T07:21:47 +04:00 ef0365fb40c04bb6a3ffc4bc77c905fd
attachments/  1507476156    515 Barwell Terrace, Defiance, Tennessee, 6439     "2602c056-0000-0000-0000-59da42bc0000"   2014-10-16T06:49:04 +04:00      e913fe543490432f871bc42019663518
attachments/  1507476156    570 Ruby Street, Spokane, Idaho, 9025       "2602c156-0000-0000-0000-59da42bc0000"   2014-10-30T05:49:33 +04:00 e53072057d314bc9b36c89a8350048f3

Lihat data Anda di Power BI Desktop

Anda bisa menggunakan DSN untuk menghubungkan ke Azure Cosmos DB dengan alat yang sesuai dengan ODBC. Prosedur ini memperlihatkan kepada Anda cara menghubungkan ke Power BI Desktop untuk membuat sebuah visualisasi Power BI.

  1. Di Power BI Desktop, pilih Dapatkan Data.

    Cuplikan layar menampilkan Get Data di  Power B I Desktop.

  2. Di jendela Dapatkan Data, pilihODBC>Lainnya, lalu pilih Sambungkan.

    Cuplikan layar yang memperlihatkan memilih sumber data ODBC di Power B I Get Data.

  3. Di jendela Dari ODBC, pilih nama sumber data yang Anda buat, kemudian klik OK.

    Cuplikan layar yang menampilkan pemilihan D S N di Power B I Get Data.

  4. Di jendela Akses sumber data menggunakan driver ODBC, pilih Default atau Kustom kemudian klik Sambungkan.

  5. Di jendela Navigator, di panel kiri, perluas database, skema, kemudian pilih tabel. Panel hasil menyertakan data menggunakan skema yang Anda buat.

    Cuplikan layar memilih tabel di Power B I Get Data.

  6. Untuk memvisualisasikan data di desktop Power BI, centang kotak di depan nama tabel, lalu klik Muat.

  7. Di Power BI Desktop, pilih tab Data di sisi kiri layar untuk mengonfirmasi bahwa data Anda diimpor.

  8. Pilih tab Laporan di sisi kiri layar, pilih Visual baru dari pita, lalu kustomisasi visual.

Pemecahan Masalah

  • Masalah: Anda mendapati kesalahan berikut saat mencoba menghubungkan:

    [HY000]: [Microsoft][Azure Cosmos DB] (401) HTTP 401 Authentication Error: {"code":"Unauthorized","message":"The input authorization token can't serve the request. Please check that the expected payload is built as per the protocol, and check the key being used. Server used the following payload to sign: 'get\ndbs\n\nfri, 20 jan 2017 03:43:55 gmt\n\n'\r\nActivityId: 9acb3c0d-cb31-4b78-ac0a-413c8d33e373"}
    

    Solusi: Pastikan nilai Host dan Kunci Akses yang Anda salin dari portal Microsoft Azure sudah benar, kemudian coba lagi.

  • Masalah: Anda mendapati kesalahan berikut di SQL Server Management Studio ketika mencoba membuat server Azure Cosmos DB yang ditautkan:

    Msg 7312, Level 16, State 1, Line 44
    
    Invalid use of schema or catalog for OLE DB provider "MSDASQL" for linked server "DEMOCOSMOS". A four-part name was supplied, but the provider does not expose the necessary interfaces to use a catalog or schema.
    

    Solusi: Server Azure Cosmos DB yang ditautkan tidak mendukung penamaan empat bagian.

Langkah berikutnya