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.
Azure Databricks memiliki beberapa utilitas dan API untuk berinteraksi dengan file di lokasi berikut:
- Volume Katalog Unity
- File ruang kerja
- Penyimpanan objek awan
- Pemasangan DBFS dan akar DBFS
- Penyimpanan sementara yang terpasang pada simpul penggerak kluster
Artikel ini memiliki contoh untuk berinteraksi dengan file di lokasi ini untuk alat berikut:
- Apache Spark
- Spark SQL dan Databricks SQL
- Utilitas sistem file Databricks (
dbutils.fsatau%fs) - Databricks CLI (antarmuka baris perintah)
- Databricks REST API
- Perintah shell Bash (
%sh) - Penginstalan pustaka dengan cakupan notebook menggunakan
%pip - Panda
- Utilitas manajemen dan pemrosesan file OSS Python
Penting
Beberapa operasi di Databricks, terutama yang menggunakan pustaka Java atau Scala, berjalan sebagai proses JVM, misalnya:
- Menentukan dependensi file JAR menggunakan
--jarsdalam konfigurasi Spark - Memanggil
catataujava.io.Filedi buku catatan Scala - Sumber data kustom, seperti
spark.read.format("com.mycompany.datasource") - Pustaka yang memuat file menggunakan Java
FileInputStreamatauPaths.get()
Operasi ini tidak mendukung membaca atau menulis pada volume Katalog Unity atau file ruang kerja menggunakan path file standar, seperti /Volumes/my-catalog/my-schema/my-volume/my-file.csv. Jika Anda perlu mengakses file volume atau file ruang kerja dari dependensi JAR atau pustaka berbasis JVM, salin file tersebut terlebih dahulu ke penyimpanan lokal komputer menggunakan Python atau perintah seperti %sh dan %sh mv.. Jangan gunakan %fs dan dbutils.fs yang menggunakan JVM. Untuk mengakses file yang sudah disalin secara lokal, gunakan perintah khusus bahasa seperti Python shutil atau gunakan %sh perintah. Jika file perlu ada selama mulai kluster, gunakan skrip init untuk memindahkan file terlebih dahulu. Lihat Apa itu skrip init?.
Apakah saya perlu menyediakan skema URI untuk mengakses data?
Jalur akses data di Azure Databricks mengikuti salah satu standar berikut:
jalur gaya URI menyertakan skema URI. Untuk solusi akses data asli Databricks, skema URI bersifat opsional untuk sebagian besar kasus penggunaan. Saat langsung mengakses data di penyimpanan objek cloud, Anda harus menyediakan skema URI yang benar untuk jenis penyimpanan.
diagram jalur URI

jalur berformat POSIX menyediakan akses data yang relatif terhadap akar driver (
/). Jalur bergaya POSIX tidak pernah memerlukan skema. Anda dapat menggunakan volume Unity Catalog atau mount DBFS untuk menyediakan akses bergaya POSIX ke data di penyimpanan objek cloud. Banyak kerangka kerja ML dan modul OSS Python lainnya memerlukan FUSE dan hanya dapat menggunakan jalur bergaya POSIX.diagram jalur-jalur POSIX

Nota
Operasi file yang memerlukan akses data FUSE tidak dapat langsung mengakses penyimpanan objek cloud menggunakan URI. Databricks merekomendasikan penggunaan volume Unity Catalog untuk mengonfigurasi akses ke lokasi ini untuk FUSE.
Pada komputasi yang dikonfigurasi dengan mode akses khusus (sebelumnya mode akses pengguna tunggal) dan Databricks Runtime 14.3 ke atas, Scala mendukung FUSE untuk volume Katalog Unity dan file ruang kerja, kecuali untuk subproses yang berasal dari Scala, seperti perintah Scala "cat /Volumes/path/to/file".!!.
Bekerja dengan file dalam volume Katalog Unity
Databricks merekomendasikan penggunaan volume Unity Catalog untuk mengonfigurasi akses ke file data non-tabular yang disimpan di penyimpanan objek cloud. Untuk dokumentasi lengkap tentang mengelola file dalam volume, termasuk instruksi terperinci dan praktik terbaik, lihat Bekerja dengan file dalam volume Katalog Unity.
Contoh berikut menunjukkan operasi umum menggunakan alat dan antarmuka yang berbeda:
| Alat | Contoh |
|---|---|
| Apache Spark | spark.read.format("json").load("/Volumes/my_catalog/my_schema/my_volume/data.json").show() |
| Spark SQL dan Databricks SQL | SELECT * FROM csv.`/Volumes/my_catalog/my_schema/my_volume/data.csv`;LIST '/Volumes/my_catalog/my_schema/my_volume/'; |
| Utilitas sistem file Databricks | dbutils.fs.ls("/Volumes/my_catalog/my_schema/my_volume/")%fs ls /Volumes/my_catalog/my_schema/my_volume/ |
| Databricks CLI (antarmuka baris perintah) | databricks fs cp /path/to/local/file dbfs:/Volumes/my_catalog/my_schema/my_volume/ |
| Databricks REST API | POST https://<databricks-instance>/api/2.1/jobs/create{"name": "A multitask job", "tasks": [{..."libraries": [{"jar": "/Volumes/dev/environment/libraries/logging/Logging.jar"}],},...]} |
| Perintah shell Bash | %sh curl http://<address>/text.zip -o /Volumes/my_catalog/my_schema/my_volume/tmp/text.zip |
| Instalasi perpustakaan | %pip install /Volumes/my_catalog/my_schema/my_volume/my_library.whl |
| Panda | df = pd.read_csv('/Volumes/my_catalog/my_schema/my_volume/data.csv') |
| Perangkat Lunak Sumber Terbuka Python | os.listdir('/Volumes/my_catalog/my_schema/my_volume/path/to/directory') |
Untuk informasi tentang batasan dan solusi volume, lihat Batasan bekerja dengan file dalam volume.
Bekerja dengan file ruang kerja
Databricks file-file ruang kerja merupakan file yang ada di ruang kerja, disimpan di akun penyimpanan untuk ruang kerja . Anda dapat menggunakan file ruang kerja untuk menyimpan dan mengakses file seperti notebook, file kode sumber, file data, dan aset ruang kerja lainnya.
Penting
Karena file ruang kerja memiliki batasan ukuran, Databricks merekomendasikan hanya menyimpan file data kecil di sini terutama untuk pengembangan dan pengujian. Untuk rekomendasi tentang tempat menyimpan jenis file lain, lihat Jenis file.
| Alat | Contoh |
|---|---|
| Apache Spark | spark.read.format("json").load("file:/Workspace/Users/<user-folder>/data.json").show() |
| Spark SQL dan Databricks SQL | SELECT * FROM json.`file:/Workspace/Users/<user-folder>/file.json`; |
| Utilitas sistem file Databricks | dbutils.fs.ls("file:/Workspace/Users/<user-folder>/")%fs ls file:/Workspace/Users/<user-folder>/ |
| Databricks CLI (antarmuka baris perintah) | databricks workspace list |
| Databricks REST API | POST https://<databricks-instance>/api/2.0/workspace/delete{"path": "/Workspace/Shared/code.py", "recursive": "false"} |
| Perintah shell Bash | %sh curl http://<address>/text.zip -o /Workspace/Users/<user-folder>/text.zip |
| Instalasi perpustakaan | %pip install /Workspace/Users/<user-folder>/my_library.whl |
| Panda | df = pd.read_csv('/Workspace/Users/<user-folder>/data.csv') |
| Perangkat Lunak Sumber Terbuka Python | os.listdir('/Workspace/Users/<user-folder>/path/to/directory') |
Nota
Skema file:/ diperlukan saat bekerja dengan Utilitas Databricks, Apache Spark, atau SQL.
Di ruang kerja tempat DBFS root dan mounts dinonaktifkan, Anda juga dapat menggunakan dbfs:/Workspace untuk mengakses file ruang kerja dengan Utility Databricks. Ini memerlukan Databricks Runtime 13.3 LTS atau lebih tinggi. Lihat Menonaktifkan akses ke akar dan pemasangan DBFS di ruang kerja Azure Databricks yang ada.
Untuk batasan dalam bekerja dengan file ruang kerja, lihat Batasan.
Ke mana file ruang kerja yang dihapus pergi?
Menghapus file dari ruang kerja akan memindahkannya ke tong sampah. Anda dapat memulihkan atau menghapus file secara permanen dari tempat sampah menggunakan UI.
Lihat Menghapus objek.
Bekerja dengan file di penyimpanan objek cloud
Databricks merekomendasikan penggunaan volume Unity Catalog untuk mengonfigurasi akses aman ke file di penyimpanan objek cloud. Anda harus mengonfigurasi izin jika Anda memilih untuk mengakses data langsung di penyimpanan objek cloud menggunakan URI. Lihat Volume terkelola dan eksternal.
Contoh berikut menggunakan URI untuk mengakses data di penyimpanan objek cloud:
| Alat | Contoh |
|---|---|
| Apache Spark | spark.read.format("json").load("abfss://container-name@storage-account-name.dfs.core.windows.net/path/file.json").show() |
| Spark SQL dan Databricks SQL |
SELECT * FROM csv.`abfss://container-name@storage-account-name.dfs.core.windows.net/path/file.json`;
LIST 'abfss://container-name@storage-account-name.dfs.core.windows.net/path';
|
| Utilitas sistem file Databricks |
dbutils.fs.ls("abfss://container-name@storage-account-name.dfs.core.windows.net/path/")
%fs ls abfss://container-name@storage-account-name.dfs.core.windows.net/path/
|
| Databricks CLI (antarmuka baris perintah) | Tidak didukung |
| Databricks REST API | Tidak didukung |
| Perintah shell Bash | Tidak didukung |
| Instalasi perpustakaan | %pip install abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl |
| Panda | Tidak didukung |
| Perangkat Lunak Sumber Terbuka Python | Tidak didukung |
Bekerja dengan file di mount DBFS dan root DBFS
Penting
Root DBFS dan pemasangan DBFS sudah dihentikan dan tidak direkomendasikan oleh Databricks. Akun baru disediakan tanpa akses ke fitur-fitur ini. Databricks merekomendasikan penggunaan volume dari Unity Catalog, lokasi eksternal, atau file ruang kerja sebagai gantinya.
| Alat | Contoh |
|---|---|
| Apache Spark | spark.read.format("json").load("/mnt/path/to/data.json").show() |
| Spark SQL dan Databricks SQL | SELECT * FROM json.`/mnt/path/to/data.json`; |
| Utilitas sistem file Databricks | dbutils.fs.ls("/mnt/path")%fs ls /mnt/path |
| Databricks CLI (antarmuka baris perintah) | databricks fs cp dbfs:/mnt/path/to/remote/file /path/to/local/file |
| Databricks REST API | POST https://<host>/api/2.0/dbfs/delete --data '{ "path": "/tmp/HelloWorld.txt" }' |
| Perintah shell Bash | %sh curl http://<address>/text.zip > /dbfs/mnt/tmp/text.zip |
| Instalasi perpustakaan | %pip install /dbfs/mnt/path/to/my_library.whl |
| Panda | df = pd.read_csv('/dbfs/mnt/path/to/data.csv') |
| Perangkat Lunak Sumber Terbuka Python | os.listdir('/dbfs/mnt/path/to/directory') |
Nota
Skema dbfs:/ diperlukan saat bekerja dengan Databricks CLI.
Bekerja dengan file dalam penyimpanan sementara yang terpasang pada simpul driver
Penyimpanan ephemeral yang terpasang pada simpul driver adalah penyimpanan blok dengan akses jalur berbasis POSIX bawaan. Setiap data yang disimpan di lokasi ini menghilang ketika kluster berakhir atau dimulai ulang.
| Alat | Contoh |
|---|---|
| Apache Spark | Tidak didukung |
| Spark SQL dan Databricks SQL | Tidak didukung |
| Utilitas sistem file Databricks | dbutils.fs.ls("file:/path")%fs ls file:/path |
| Databricks CLI (antarmuka baris perintah) | Tidak didukung |
| Databricks REST API | Tidak didukung |
| Perintah shell Bash | %sh curl http://<address>/text.zip > /tmp/text.zip |
| Instalasi perpustakaan | Tidak didukung |
| Panda | df = pd.read_csv('/path/to/data.csv') |
| Perangkat Lunak Sumber Terbuka Python | os.listdir('/path/to/directory') |
Nota
Skema file:/ diperlukan saat bekerja dengan Utilitas Databricks.
Memindahkan data dari penyimpanan ephemeral ke volume
Anda mungkin ingin mengakses data yang diunduh atau disimpan ke penyimpanan ephemeral menggunakan Apache Spark. Karena penyimpanan ephemeral melekat pada driver dan Spark adalah mesin pemrosesan terdistribusi, tidak semua operasi dapat langsung mengakses data di sini. Misalkan Anda harus memindahkan data dari sistem file driver ke volume Unity Catalog. Dalam hal ini, Anda dapat menyalin file menggunakan perintah ajaib atau utilitas Databricks, seperti dalam contoh berikut:
dbutils.fs.cp ("file:/<path>", "/Volumes/<catalog>/<schema>/<volume>/<path>")
%sh cp /<path> /Volumes/<catalog>/<schema>/<volume>/<path>
%fs cp file:/<path> /Volumes/<catalog>/<schema>/<volume>/<path>
Sumber daya tambahan
Untuk informasi tentang mengunggah file lokal atau mengunduh file internet ke Azure Databricks, lihat Mengunggah file ke Azure Databricks.