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.
Anda dapat berinteraksi dengan file ruang kerja yang disimpan di Azure Databricks secara terprogram. Ini memungkinkan tugas seperti:
- Menyimpan file data kecil bersama buku catatan dan kode.
- Menulis file log ke direktori yang disinkronkan dengan Git.
- Mengimpor modul menggunakan jalur relatif.
- Membuat atau memodifikasi file spesifikasi lingkungan.
- Menulis output dari notebook komputer.
- Menulis output dari eksekusi pustaka seperti Tensorboard.
Anda dapat membuat, mengedit, mengganti nama, dan menghapus file ruang kerja secara terprogram di Databricks Runtime 11.3 LTS ke atas. Fungsionalitas ini didukung untuk notebook di Databricks Runtime 16.2 ke atas, dan lingkungan tanpa server 2 ke atas.
Nota
Untuk menonaktifkan penulisan ke file ruang kerja, atur variabel lingkungan kluster WSFS_ENABLE_WRITE_SUPPORT=false. Untuk informasi selengkapnya, lihat variabel lingkungan .
Nota
Dalam Databricks Runtime 14.0 ke atas, direktori kerja default saat ini (CWD) untuk kode yang dijalankan secara lokal adalah direktori yang berisi notebook atau skrip yang dijalankan. Ini adalah perubahan perilaku dari Databricks Runtime 13.3 LTS dan di bawahnya. Lihat Apa direktori kerja default yang saat ini sedang digunakan?.
Membaca lokasi file
Gunakan perintah shell untuk membaca lokasi file, misalnya, dalam repositori atau di sistem file lokal.
Untuk menentukan lokasi file, masukkan yang berikut ini:
%sh ls
-
File tidak berada dalam repositori: Perintah mengembalikan sistem file
/databricks/driver. -
Files berada dalam repositori: Perintah mengembalikan repositori virtual seperti
/Workspace/Repos/name@domain.com/public_repo_2/repos_file_system.
Membaca file ruang kerja data
Anda dapat membaca file data kecil secara terprogram seperti file .csv atau .json dari kode di buku catatan Anda. Contoh berikut menggunakan Panda untuk mengkueri file yang disimpan dalam direktori /data relatif terhadap akar repositori proyek:
import pandas as pd
df = pd.read_csv("./data/winequality-red.csv")
df
Anda dapat menggunakan Spark untuk membaca file data. Anda harus memberi Spark jalur yang sepenuhnya memenuhi syarat.
- File ruang kerja di folder Git menggunakan jalur
file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file. - File ruang kerja di direktori pribadi Anda menggunakan jalur:
file:/Workspace/Users/<user-folder>/path/to/file.
Anda dapat menyalin jalur absolut atau relatif ke file dari menu dropdown di samping file:
Contoh di bawah ini menunjukkan penggunaan {os.getcwd()} untuk mendapatkan jalur lengkap.
import os
spark.read.format("csv").load(f"file:{os.getcwd()}/my_data.csv")
Nota
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 mempelajari selengkapnya tentang file di Azure Databricks, lihat Bekerja dengan file di Azure Databricks.
Membuat, memperbarui, dan menghapus file dan direktori secara terprogram
Anda dapat memanipulasi file ruang kerja secara terprogram di Azure Databricks, mirip dengan cara Anda bekerja dengan file dalam sistem file standar apa pun.
Nota
Di Databricks Runtime 16.2 ke atas, dan lingkungan tanpa server 2 ke atas, semua interaksi terprogram dengan file juga tersedia untuk notebook. Untuk informasi tentang mengonversi file ke buku catatan, lihat Mengonversi file ke buku catatan.
Contoh berikut menggunakan paket dan fungsionalitas Python standar untuk membuat dan memanipulasi file dan direktori.
import os
# Create a new directory
os.mkdir('dir1')
# Create a new file and write to it
with open('dir1/new_file.txt', "w") as f:
f.write("new content")
# Append to a file
with open('dir1/new_file.txt', "a") as f:
f.write(" continued")
# Delete a file
os.remove('dir1/new_file.txt')
# Delete a directory
os.rmdir('dir1')
import shutil
# Copy a dashboard
shutil.copy("my-dashboard.lvdash.json", "my-dashboard-copy.lvdash.json")
# Move a query to a shared folder
shutil.move("test-query.dbquery","shared-queries/")