Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memberikan gambaran umum tentang koneksi penyimpanan cloud yang diperlukan untuk bekerja dengan data menggunakan Katalog Unity, bersama dengan informasi tentang bagaimana Katalog Unity mengatur akses ke penyimpanan cloud dan layanan cloud eksternal.
Bagaimana Katalog Unity menggunakan penyimpanan cloud?
Databricks merekomendasikan penggunaan Unity Catalog untuk mengelola akses ke semua data yang telah Anda simpan di penyimpanan objek cloud. Unity Catalog menyediakan serangkaian alat untuk mengonfigurasi koneksi aman ke penyimpanan objek cloud. Koneksi ini menyediakan akses untuk menyelesaikan tindakan berikut:
- Memasukkan data mentah ke dalam lakehouse.
- Membuat dan membaca tabel terkelola dan volume terkelola dari data yang tidak terstruktur pada penyimpanan cloud yang dikelola oleh Unity Catalog.
- Daftarkan atau buat tabel eksternal yang berisi data tabular dan volume eksternal yang berisi data yang tidak terstruktur dalam penyimpanan cloud yang dikelola menggunakan penyedia cloud Anda.
- Membaca dan menulis data yang tidak terstruktur (volume-volume dalam Unity Catalog).
Agar lebih spesifik, Unity Catalog menggunakan penyimpanan cloud dengan dua cara utama:
- Lokasi penyimpanan default (atau "terkelola") untuk tabel terkelola dan volume terkelola (data non-tabular yang tidak terstruktur) yang Anda buat di Databricks. Lokasi penyimpanan terkelola ini dapat ditentukan di tingkat metastore, katalog, atau skema. Anda membuat lokasi penyimpanan terkelola di penyedia cloud Anda, tetapi siklus hidupnya dikelola sepenuhnya oleh Unity Catalog.
- Lokasi penyimpanan tempat tabel dan volume eksternal disimpan. Ini adalah tabel dan volume yang aksesnya dari Azure Databricks dikelola oleh Unity Catalog, tetapi siklus hidup data dan tata letak filenya dikelola menggunakan penyedia cloud dan platform data lainnya. Biasanya Anda menggunakan tabel eksternal untuk mendaftarkan sejumlah besar data yang ada di Azure Databricks, atau jika Anda juga memerlukan akses tulis ke data menggunakan alat di luar Azure Databricks.
Untuk informasi selengkapnya tentang tabel dan volume terkelola vs eksternal, lihat tabel Azure Databricks dan Apa itu volume Katalog Unity?.
Peringatan
Jangan memberikan identitas non-Unity Catalog akses tingkat penyimpanan ke tabel atau volume yang dikelola oleh Unity Catalog. Ini mengorbankan keamanan dan tata kelola data.
Memberikan pengguna, perwakilan layanan, atau identitas terkelola akses langsung ke kontainer Azure Data Lake Storage yang berisi data yang diatur oleh Unity Catalog mengabaikan Katalog Unity. Ini mengekspos data ke pemberian izin berlebihan, eksfiltrasi, dan akses tidak sah, sambil mempersulit audit dan meningkatkan beban kerja manajemen.
Akses penyimpanan langsung tidak didukung untuk tabel terkelola Unity Catalog.
Opsi penyimpanan cloud yang didukung oleh Unity Catalog
Unity Catalog mendukung opsi penyimpanan cloud berikut untuk Azure Databricks.
| Opsi penyimpanan cloud | Deskripsi |
|---|---|
| Kontainer Azure Data Lake Storage | Azure Data Lake Storage sesuai untuk sebagian besar kasus penggunaan Azure Databricks. Lihat Membuat kredensial penyimpanan untuk menyambungkan ke Azure Data Lake Storage |
| Wadah AWS S3 | Azure Databricks mendukung akses baca-saja lintas platform ke bucket S3. Lihat Membuat kredensial penyimpanan untuk menyambungkan ke AWS S3 (baca-saja). |
| Wadah Cloudflare R2 | Cloudflare R2 ditujukan terutama untuk skenario penggunaan Berbagi Delta di mana Anda ingin menghindari biaya keluar data. Lihat Membuat kredensial penyimpanan untuk menyambungkan ke Cloudflare R2. |
| Akar DBFS | Akar DBFS adalah lokasi penyimpanan cloud warisan. Meskipun Databricks merekomendasikan untuk tidak menyimpan data di penyimpanan akar DBFS, ruang kerja Anda mungkin melakukannya karena praktik warisan. Lihat Menyambungkan ke lokasi eksternal akar DBFS (warisan). |
Bagaimana Katalog Unity mengatur akses ke penyimpanan cloud?
Untuk mengelola akses ke penyimpanan cloud yang mendasar yang menyimpan tabel dan volume, Katalog Unity menggunakan objek yang dapat diamankan yang disebut lokasi eksternal, yang menentukan jalur ke lokasi penyimpanan cloud dan kredensial yang diperlukan untuk mengakses lokasi tersebut. Kredensial tersebut, pada gilirannya, didefinisikan dalam objek yang dapat diamankan Katalog Unity yang disebut kredensial penyimpanan . Dengan memberikan dan mencabut akses ke lokasi eksternal yang dapat diamankan di Unity Catalog, Anda mengontrol akses ke data di lokasi penyimpanan cloud. Dengan memberikan dan mencabut akses ke keamanan kredensial penyimpanan di Unity Catalog, Anda mengontrol kemampuan untuk membuat objek lokasi eksternal.
Gambaran umum kredensial penyimpanan
Kredensial penyimpanan mewakili mekanisme autentikasi dan otorisasi untuk mengakses data yang disimpan di penyewa cloud Anda. Misalnya, kredensial penyimpanan dikaitkan dengan identitas terkelola Azure atau perwakilan layanan untuk kontainer Azure Data Lake Storage, atau dengan token API R2 untuk wadah Cloudflare R2.
Hak istimewa yang diberikan dalam kontrol Katalog Unity pengguna dan grup mana yang dapat menggunakan kredensial untuk menentukan lokasi eksternal. Izin untuk membuat dan menggunakan kredensial penyimpanan harus diberikan hanya kepada pengguna yang perlu membuat objek lokasi eksternal.
Gambaran umum lokasi eksternal
Lokasi eksternal menggabungkan jalur penyimpanan cloud dengan kredensial penyimpanan yang mengotorisasi akses ke jalur yang ditentukan. Beberapa lokasi eksternal dapat menggunakan kredensial penyimpanan yang sama. Lokasi eksternal dapat mereferensikan jalur penyimpanan di salah satu opsi penyimpanan cloud yang didukung.
Diagram di bawah ini menunjukkan bagaimana lokasi eksternal mereferensikan kredensial penyimpanan dan lokasi penyimpanan cloud.
Dalam diagram ini:
- Setiap lokasi eksternal mereferensikan kredensial penyimpanan dan lokasi penyimpanan cloud.
- Beberapa lokasi eksternal dapat mereferensikan kredensial penyimpanan yang sama.
Kredensial penyimpanan 1 memberikan akses ke semua yang ada di bawah jalur
bucket/tables/*, sehingga lokasi Eksternal A dan Lokasi eksternal B mereferensikannya.
Lokasi eksternal digunakan dalam Unity Catalog baik untuk aset data eksternal, seperti tabel eksternal dan volume eksternal, dan untuk aset data terkelola, seperti tabel terkelola dan volume terkelola . Untuk informasi selengkapnya tentang perbedaan antara aset data eksternal dan terkelola di Unity Catalog, lihat Tabel Azure Databricks dan Apa itu volume Unity Catalog?.
Hak istimewa yang diberikan dalam Katalog Unity mengontrol mana pengguna dan grup yang dapat mengakses path penyimpanan cloud yang ditentukan oleh lokasi eksternal. Izin untuk membuat dan menggunakan lokasi eksternal harus diberikan hanya kepada pengguna yang perlu membuat tabel eksternal, volume eksternal, atau lokasi penyimpanan terkelola.
Untuk mempelajari tentang praktik terbaik untuk menggunakan lokasi eksternal, lihat Lokasi eksternal.
Menggunakan lokasi eksternal saat Anda membuat tabel dan volume eksternal
Tabel eksternal dan volume eksternal yang terdaftar di Unity Catalog pada dasarnya adalah penunjuk ke data dalam penyimpanan cloud yang Anda kelola di luar Azure Databricks. Saat membuat tabel eksternal atau volume eksternal di Unity Catalog, Anda harus mereferensikan jalur penyimpanan cloud yang disertakan dalam objek lokasi eksternal tempat Anda diberi hak istimewa yang memadai. Untuk informasi selengkapnya tentang perbedaan antara aset data eksternal dan terkelola di Unity Catalog, lihat Tabel Azure Databricks dan Apa itu volume Unity Catalog?. Untuk hak akses, lihat Izin di lokasi eksternal.
Menggunakan lokasi eksternal saat Anda membuat penyimpanan terkelola
Tabel terkelola dan volume terkelola dikelola sepenuhnya oleh Unity Catalog. Mereka disimpan secara default di lokasi penyimpanan terkelola , yang dapat ditentukan di tingkat metastore, katalog, atau skema. Saat menetapkan lokasi penyimpanan terkelola ke metastore, katalog, atau skema, Anda harus mereferensikan objek lokasi eksternal, dan Anda harus memiliki hak istimewa yang memadai untuk menggunakannya. Lihat Tentukan lokasi penyimpanan yang terkelola di Katalog Unity dan praktik terbaik Katalog Unity .
Akses berbasis jalur ke data di penyimpanan cloud
Meskipun Unity Catalog mendukung akses berbasis jalur ke tabel eksternal dan volume eksternal menggunakan URI penyimpanan cloud, Databricks merekomendasikan agar pengguna membaca dan menulis semua tabel Unity Catalog menggunakan nama tabel, dan mengakses data dalam volume dengan menggunakan jalur /Volumes.
Volume adalah objek yang dapat diamankan yang harus digunakan sebagian besar pengguna Azure Databricks untuk berinteraksi langsung dengan data non-tabular dalam penyimpanan objek cloud. Lihat Apa itu Unity Catalog volumes?.
Peringatan
Jika Anda memperbarui metadata tabel eksternal menggunakan klien non-Databricks atau menggunakan akses berbasis jalur dari dalam Databricks, metadata tersebut tidak secara otomatis menyinkronkan status dengan Unity Catalog. Databricks tidak merekomendasikan pembaruan metadata tersebut, tetapi jika Anda melakukannya, Anda harus menjalankan MSCK REPAIR TABLE <table-name> SYNC METADATA untuk memperbarui skema di Unity Catalog. Lihat REPAIR TABLE.
Alur kerja untuk mengelola akses ke penyimpanan cloud di Unity Catalog
Untuk mengelola akses ke penyimpanan cloud menggunakan Unity Catalog, Anda melakukan hal berikut:
- Buat objek kredensial penyimpanan yang berisi kredensial cloud jangka panjang, seperti identitas terkelola Azure atau perwakilan layanan, dengan akses ke jalur penyimpanan cloud.
- Buat objek lokasi eksternal yang mereferensikan jalur penyimpanan dan objek kredensial penyimpanan.
- Referensikan jalur yang disertakan di lokasi eksternal saat Anda membuat tabel eksternal, volume eksternal, atau lokasi penyimpanan terkelola default. Ini bisa menjadi jalur yang tepat yang ditentukan di lokasi eksternal atau subjalur.
Praktik terbaik untuk penyimpanan cloud Azure dengan Katalog Unity
Azure Databricks memerlukan penggunaan Azure Data Lake Storage sebagai layanan penyimpanan Azure untuk data yang diproses di Azure Databricks menggunakan tata kelola Unity Catalog. Azure Data Lake Storage memungkinkan Anda memisahkan biaya penyimpanan dan komputasi dan memanfaatkan kontrol akses terperindas yang disediakan oleh Unity Catalog. Jika data disimpan di OneLake (data lake Microsoft Fabric) dan diproses oleh Databricks (melewati Katalog Unity), Anda dapat dikenakan biaya penyimpanan dan komputasi yang dibundel. Jika dibundel, ini dapat menyebabkan biaya yang sekitar 2 kali lebih tinggi untuk bacaan data dan 2,6 kali lebih tinggi untuk penulisan data dibandingkan dengan Tingkat Premium Azure Data Lake Storage untuk menyimpan, membaca, dan menulis data. Azure Blob Storage juga tidak kompatibel dengan Unity Catalog. Databricks merekomendasikan penggunaan model harga bayar sesuai pemakaian untuk Fabric, memberi Anda lebih banyak fleksibilitas dengan opsi penyimpanan dan komputasi.
| Fitur | Azure Blob Storage | Azure Data Lake Storage | OneLake |
|---|---|---|---|
| Didukung oleh Katalog Unity | X | ✓ | X |
| Memerlukan pembelian kapasitas Fabric tambahan | X | X | ✓ |
| Operasi yang didukung oleh mesin eksternal |
|
|
Saat menggunakan model harga komputasi/penyimpanan yang dibundel, bacaan dikenakan hingga 2x biaya dibandingkan dengan membaca data dari Azure Data Lake Storage, dan menulis dikenakan hingga 2,6x biaya dibandingkan dengan menulis data ke Tingkat Premium Azure Data Lake Storage. Untuk detailnya, lihat dokumentasi OneLake. |
| Penyebaran | Wilayah | Wilayah | Mendunia |
| Otentikasi | Tanda Tangan Akses Bersama Entra ID | Tanda Tangan Akses Bersama Entra ID | Entra ID |
| Peristiwa penyimpanan | ✓ | ✓ | X |
| Penghapusan lunak | ✓ | ✓ | ✓ |
| Kontrol akses | RBAC | RBAC, ABAC, ACL | RBAC (Hanya mendukung tabel/folder, ACL pintasan tidak didukung) |
| Kunci enkripsi | ✓ | ✓ | X |
| Tingkatan Akses | Arsip online | Panas, sejuk, dingin, arsip | Panas saja |
Langkah berikutnya
- Membuat kredensial penyimpanan untuk menyambungkan ke Azure Data Lake Storage
- Membuat kredensial penyimpanan untuk menyambungkan ke Cloudflare R2
- Membuat kredensial penyimpanan untuk menyambungkan ke AWS S3 (baca-saja)
- Membuat lokasi eksternal untuk menyambungkan penyimpanan cloud ke Azure Databricks
- Tentukan lokasi penyimpanan terkelola di Unity Catalog
- Mengelola kredensial penyimpanan
- Mengelola lokasi eksternal