Bagikan melalui


Berinteraksi secara terprogram dengan file ruang kerja

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
  • Files 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:

menu file drop-down

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")

Untuk mempelajari selengkapnya tentang file di Azure Databricks, lihat Bekerja dengan file di Azure Databricks.

Membuat, memperbarui, dan menghapus file dan direktori secara terprogram

Di Databricks Runtime 11.3 LTS ke atas, Anda dapat langsung memanipulasi file ruang kerja di Azure Databricks. Notebook diperlakukan sebagai file ruang kerja di Databricks Runtime 16.2 atau versi lebih baru, dan lingkungan kerja tanpa server 2 atau versi lebih baru. Contoh berikut menggunakan paket dan fungsionalitas Python standar untuk membuat dan memanipulasi file dan direktori.

# 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')

Notebooks sebagai berkas tempat kerja

Nota

Fitur ini tersedia di Databricks Runtime 16.2 ke atas, dan lingkungan tanpa server 2 ke atas.

Semua interaksi terprogram dengan file juga tersedia untuk notebook. Aset di ruang kerja diidentifikasi sebagai buku catatan jika:

  • itu memiliki ekstensi .ipynb
  • atau berisi string Databricks notebook source dalam komentar di baris pertama dan memiliki salah satu ekstensi berikut: .py, .r, .scala, .sql.

Setiap tulis atau ganti nama buku catatan atau file yang mengubah kondisi ini, juga mengubah jenis buku catatan atau file. Misalnya, jika Anda memiliki file myfile.txt yang memiliki # Databricks notebook source sebagai baris pertama, mengganti nama file tersebut untuk myfile.py menutupinya menjadi buku catatan.

Untuk informasi tentang mengonversi file ke buku catatan, lihat Mengimpor file dan mengonversinya ke buku catatan.