Impor penyedia dan baca data bersama di Azure Databricks

Sebagai penerima Azure Databricks, Anda dapat mengimpor file kredensial dari penyedia terbuka dan membaca aset data bersama. Anda bisa mengkueri data bersama di Catalog Explorer atau menggunakan buku catatan Python.

Note

Jika data telah dibagikan dengan Anda menggunakan Databricks-to-Databricks OpenSharing, Anda tidak memerlukan file kredensial untuk mengakses data, dan halaman ini tidak berlaku untuk Anda. Sebagai gantinya, lihat Membaca data yang dibagikan menggunakan Databricks-to-Databricks OpenSharing (untuk penerima).

Requirements

Anggota tim Anda harus mengunduh file kredensial yang dibagikan penyedia data dan menggunakan saluran aman untuk berbagi file atau lokasi file tersebut dengan Anda. Lihat Mendapatkan akses di model Open-to-Databricks.

Note

Wadah penyimpanan dan kemampuan kredensial (cakupan, kedaluwarsa, baca vs. baca/tulis) ditentukan oleh penyedia. Jika penyedia adalah penyedia Azure Databricks, memasang berbagi terbuka di ruang kerja Secure Egress Gateway (SEG) secara otomatis mengizinkan wadah penyedia untuk akses keluar. Untuk penyedia terbuka non-Databricks, bucket tidak secara otomatis dimasukkan ke daftar yang diizinkan. Verifikasi penyedia sebelum memasang.

Mengimpor penyedia dan mengkueri data bersama

Bagian ini menjelaskan cara mengimpor penyedia dan cara mengkueri data bersama di Catalog Explorer atau di buku catatan Python:

  • Jika ruang kerja Azure Databricks Anda diaktifkan untuk Unity Catalog, gunakan UI Penyedia impor di Catalog Explorer. Anda dapat melakukan hal berikut tanpa perlu menyimpan atau menentukan file kredensial:

    • Buat katalog dari file berbagi hanya dengan sekali klik tombol.
    • Gunakan kontrol akses Unity Catalog untuk memberikan akses ke tabel bersama.
    • Kueri data yang dibagikan menggunakan sintaks Katalog Unity standar.
    • Terapkan kredensial yang diputar ke objek penyedia yang ada tanpa membuat ulang katalog. Lihat Mengganti kredensial untuk penerima publik.
  • Jika ruang kerja Azure Databricks Anda tidak diaktifkan untuk Katalog Unity, ikuti instruksi buku catatan Python sebagai gantinya.

Eksplorer Katalog

Izin diperlukan: Administrator metastore atau pengguna dengan hak istimewa CREATE PROVIDER pada metastore Unity Catalog Anda. Untuk membuat katalog dari share, Anda memerlukan hak istimewa CREATE CATALOG.

  1. Di ruang kerja Azure Databricks Anda, klik Ikon data.Katalog untuk membuka Catalog Explorer.

  2. Di bagian atas panel Katalog, klik ikon roda gigi. dan pilih OpenSharing. Atau, di sudut kanan atas, klik Bagikan > OpenSharing.

  3. Pada tab Dibagikan dengan saya , klik Instal berbagi.

  4. Masukkan nama penyedia. Nama tidak dapat menyertakan spasi.

  5. Unggah file kredensial yang dibagikan penyedia dengan Anda. Banyak penyedia memiliki jaringan OpenSharing mereka sendiri yang dapat Anda gunakan untuk menerima berbagi. Untuk informasi selengkapnya, lihat konfigurasi khusus Penyedia .

  6. (Opsional) Masukkan komentar.

    Mengimpor file kredensial penyedia langsung dari penyedia

  7. Klik Impor.

  8. Pada tab Berbagi , klik Buat katalog pada baris berbagi untuk membuat katalog dari data bersama.

    Untuk informasi tentang menggunakan SQL atau Databricks CLI untuk membuat katalog dari berbagi, lihat Membuat katalog dari berbagi.

  9. Berikan akses ke katalog. Lihat Bagaimana cara membuat data bersama tersedia untuk tim saya? dan Mengelola izin untuk skema, tabel, dan volume dalam katalog OpenSharing.

  10. Baca objek data bersama seperti yang Anda lakukan pada objek data apa pun yang terdaftar di Unity Catalog.

    Untuk detail dan contohnya, lihat Mengakses data dalam tabel atau volume bersama.

Python

Baca data yang dibagikan menggunakan notebook di ruang kerja Azure Databricks Anda jika ruang kerja Anda belum diaktifkan untuk Unity Catalog. Simpan file kredensial di Azure Databricks, lalu gunakan untuk mengautentikasi ke penyedia data dan membaca data bersama.

Note

Instruksi ini mengasumsikan bahwa ruang kerja Azure Databricks Anda tidak diaktifkan untuk Unity Catalog. Jika Anda menggunakan Katalog Unity, Anda tidak perlu menunjuk ke file kredensial saat membaca dari sumber berbagi. Anda dapat membaca dari tabel bersama seperti yang Anda lakukan dari tabel apa pun yang terdaftar di Katalog Unity. Databricks merekomendasikan agar Anda menggunakan UI penyedia Impor di Catalog Explorer alih-alih instruksi yang diberikan di sini.

Pertama-tama simpan file kredensial sebagai file ruang kerja Azure Databricks sehingga pengguna di tim Anda dapat mengakses data bersama.

  1. Untuk mengimpor file kredensial di ruang kerja Azure Databricks Anda, lihat Mengimpor file.
  2. Anda dapat memberikan izin kepada pengguna lain untuk mengakses file dengan mengklik ikon menu Kebab. Di samping file, lalu Bagikan (Izin). Masukkan identitas Azure Databricks yang harus memiliki akses ke file. Untuk informasi selengkapnya tentang izin file, lihat ACL file.

Sekarang setelah file kredensial disimpan, buat buku catatan untuk mencantumkan dan membaca tabel bersama.

  1. Di ruang kerja Azure Databricks Anda, klik Notebook Baru>. Untuk informasi selengkapnya tentang notebook Azure Databricks, lihat notebook Databricks.

  2. delta-sharing Instal konektor dan gunakan Python, pandas, atau Apache Spark untuk mencantumkan dan membaca tabel bersama. Gunakan jalur ruang kerja ke file kredensial Anda (misalnya, /Workspace/Users/user.name@email.com/config.share) sebagai jalur profil. Untuk contoh kode, lihat Panda: Membaca data bersama dan Apache Spark: Membaca data bersama.

  3. Selain perintah Python dan Apache Spark, Anda dapat mengkueri data bersama menggunakan SQL. Buat tabel lokal di ruang kerja dari tabel bersama, lalu kueri tabel lokal. Data bersama tidak disimpan atau di-cache dalam tabel lokal. Setiap kali Anda menanyakan tabel lokal, Anda melihat status data yang dibagikan saat ini.

    Ganti variabel sebagai berikut:

    • <local-table-name>: nama tabel lokal.
    • <profile-path>: lokasi file kredensial.
    • <share-name>: nilai share= untuk tabel.
    • <schema-name>: nilai schema= untuk tabel.
    • <table-name>: nilai name= untuk tabel.
    %sql
    DROP TABLE IF EXISTS <local-table-name>;
    
    CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>";
    
    SELECT * FROM <local-table-name> LIMIT 10;
    
  4. Saat Anda menjalankan perintah, data yang dibagi akan dikueri secara langsung. Sebagai tes, tabel dikueri dan 10 hasil pertama dikembalikan.

  5. Jika output kosong atau tidak berisi data yang Anda harapkan, hubungi penyedia data.

Batasan konektor openSharing Python berlaku. Lihat Batasan konektor openSharing Python.

Limitations

Berbagi Open-to-Databricks didasarkan pada protokol OpenSharing. Dukungan berikut berlaku saat Anda mengimpor penyedia terbuka ke Azure Databricks:

  • Hanya tabel Delta yang mendukung protokol Delta Sharing. Tabel khusus gunung es tidak didukung.
  • Akses URL dan token cloud (berbasis direktori) yang telah ditetapkan didukung. Azure Databricks lebih suka akses token cloud saat penyedia membuatnya tersedia.
  • Hanya skema penyimpanan token cloud berikut yang didukung: s3, , s3a, s3nabfss, wasbs, gs, dan r2.

Untuk membaca data non-Delta seperti Iceberg, CSV, Parquet, atau JSON dari sumber eksternal, gunakan Federasi Lakehouse sebagai gantinya. Lihat Menyambungkan ke database dan katalog eksternal.