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.
Penting
Pemasangan DBFS adalah pola yang tidak digunakan lagi dan tidak direkomendasikan oleh Databricks. Akun baru disediakan tanpa akses ke fitur-fitur ini. Databricks merekomendasikan penggunaan lokasi eksternal Unity Catalog sebagai gantinya.
Azure Databricks memungkinkan pengguna memasang penyimpanan objek cloud ke Databricks File System (DBFS) untuk menyederhanakan pola akses data bagi pengguna yang tidak terbiasa dengan konsep cloud. Data yang dimounting tidak berfungsi dengan Unity Catalog, dan Databricks merekomendasikan untuk beralih dari penggunaan mount dan sebaliknya mengelola data dengan Unity Catalog.
Bagaimana Azure Databricks memasang penyimpanan objek cloud?
Pemasangan Azure Databricks membuat tautan antara ruang kerja dan penyimpanan objek cloud, yang memungkinkan Anda berinteraksi dengan penyimpanan objek cloud menggunakan jalur file yang sudah dikenal relatif terhadap sistem file Databricks. Pemasangan bekerja dengan membuat alias lokal di direktori /mnt yang menyimpan informasi berikut:
- Lokasi penyimpanan objek cloud.
- Spesifikasi driver untuk terhubung ke akun penyimpanan atau kontainer.
- Kredensial keamanan diperlukan untuk mengakses data.
Apa sintaks untuk memasang penyimpanan?
source menentukan URI penyimpanan objek (dan dapat secara opsional mengodekan kredensial keamanan).
mount_point menentukan jalur lokal dalam /mnt direktori. Beberapa sumber penyimpanan objek mendukung argumen opsional encryption_type . Untuk beberapa pola akses, Anda dapat meneruskan spesifikasi konfigurasi tambahan sebagai kamus ke extra_configs.
Catatan
Databricks merekomendasikan pengaturan konfigurasi Spark dan Hadoop khusus pemasangan menggunakan opsi extra_configs. Ini memastikan bahwa konfigurasi terikat pada pemasangan daripada kluster atau sesi.
dbutils.fs.mount(
source: str,
mount_point: str,
encryption_type: Optional[str] = "",
extra_configs: Optional[dict[str:str]] = None
)
Tanyakan kepada administrator ruang kerja dan cloud Anda sebelum mengonfigurasi atau mengubah pemasangan data, karena konfigurasi yang tidak tepat dapat memberikan akses tidak aman ke semua pengguna di ruang kerja Anda.
Catatan
Selain pendekatan yang dijelaskan dalam artikel ini, Anda dapat mengotomatiskan pemasangan wadah dengan penyedia Databricks Terraform dan databricks_mount.
Lepaskan titik pemasangan
Untuk melepaskan titik pemasangan, gunakan perintah berikut:
dbutils.fs.unmount("/mnt/<mount-name>")
Peringatan
Untuk menghindari kesalahan, jangan pernah memodifikasi titik pemasangan saat pekerjaan lain sedang membaca atau menulis ke dalamnya. Setelah memodifikasi pemasangan, selalu jalankan dbutils.fs.refreshMounts() pada semua kluster lain yang sedang berjalan agar pembaruan pemasangan dapat menyebar. Lihat perintah refreshMounts (dbutils.fs.refreshMounts).
Pasangkan ADLS atau Penyimpanan Blob menggunakan ABFS
Anda dapat menghubungkan data di akun penyimpanan Azure menggunakan prinsipal layanan aplikasi Microsoft Entra ID untuk proses autentikasi. Untuk informasi selengkapnya, lihat Mengakses penyimpanan menggunakan perwakilan layanan & ID Microsoft Entra(Azure Active Directory).
Penting
- Semua pengguna di ruang kerja Azure Databricks memiliki akses ke akun ADLS yang dipasang. Perwakilan layanan yang Anda gunakan untuk mengakses akun ADLS harus diberikan akses hanya ke akun ADLS tersebut; tidak boleh diberikan akses ke sumber daya Azure lainnya.
- Setelah titik pemasangan dibuat melalui kluster, pengguna dapat langsung mengakses titik pemasangan. Untuk menggunakan titik pemasangan di kluster yang sedang berjalan lainnya, Anda harus menjalankan
dbutils.fs.refreshMounts()pada kluster yang sedang berjalan tersebut untuk membuat titik pemasangan yang baru dibuat tersedia untuk digunakan. - Melepaskan titik pemasangan saat pekerjaan sedang berjalan dapat menyebabkan kesalahan. Pastikan bahwa pekerjaan produksi tidak melepaskan penyimpanan sebagai bagian dari pemrosesan.
- Titik pemasangan yang menggunakan rahasia tidak disegarkan secara otomatis. Jika penyimpanan terpasang bergantung pada rahasia yang diubah, kedaluwarsa, atau dihapus, kesalahan dapat terjadi, seperti
401 Unauthorized. Untuk mengatasi kesalahan seperti itu, Anda harus melepaskan dan memasang kembali penyimpanan. - Namespace hierarkis (HNS) harus diaktifkan agar berhasil memasang akun penyimpanan Azure Data Lake Storage menggunakan titik akhir ABFS.
Jalankan hal berikut di buku catatan Anda untuk mengautentikasi dan membuat titik pemasangan.
configs = {"fs.azure.account.auth.type": "OAuth",
"fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id": "<application-id>",
"fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope="<scope-name>",key="<service-credential-key-name>"),
"fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/<directory-id>/oauth2/token"}
# Optionally, you can add <directory-name> to the source URI of your mount point.
dbutils.fs.mount(
source = "abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/",
mount_point = "/mnt/<mount-name>",
extra_configs = configs)
val configs = Map(
"fs.azure.account.auth.type" -> "OAuth",
"fs.azure.account.oauth.provider.type" -> "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id" -> "<application-id>",
"fs.azure.account.oauth2.client.secret" -> dbutils.secrets.get(scope="<scope-name>",key="<service-credential-key-name>"),
"fs.azure.account.oauth2.client.endpoint" -> "https://login.microsoftonline.com/<directory-id>/oauth2/token")
// Optionally, you can add <directory-name> to the source URI of your mount point.
dbutils.fs.mount(
source = "abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/",
mountPoint = "/mnt/<mount-name>",
extraConfigs = configs)
Menggantikan
-
<application-id>dengan ID Aplikasi (klien) untuk aplikasi Azure Active Directory. -
<scope-name>menggunakan nama cakupan rahasia Databricks. -
<service-credential-key-name>dengan nama kunci yang berisi rahasia klien. -
<directory-id>dengan ID Direktori (tenant) untuk aplikasi Azure Active Directory. -
<container-name>dengan nama kontainer di akun penyimpanan ADLS. - Gunakan
<storage-account-name>dengan nama akun penyimpanan ADLS. -
<mount-name>dengan nama titik pemasangan yang diinginkan di DBFS.