Çalışma alanı dosyalarıyla program aracılığıyla etkileşim kurma
Azure Databricks'te depolanan çalışma alanı dosyalarıyla program aracılığıyla etkileşim kurabilirsiniz. Bu, aşağıdaki gibi görevleri etkinleştirir:
- Not defterleri ve kodlarla birlikte küçük veri dosyalarını depolama.
- Git ile senkronize edilen dizinlere günlük dosyaları yazma.
- Göreli yolları kullanarak modülleri içeri aktarma.
- Ortam belirtimi dosyası oluşturma veya değiştirme.
- Not defterlerinden çıkış yazılıyor.
- Tensorboard gibi kitaplıkların yürütülmesi sırasında çıktılar kaydediliyor.
Databricks Runtime 11.3 LTS ve üzerinde program aracılığıyla çalışma alanı dosyaları oluşturabilir, düzenleyebilir, yeniden adlandırabilir ve silebilirsiniz. Bu işlevsellik Databricks Runtime 16.2 ve üzeri ile sunucusuz ortam 2 ve üzeri not defterleri için desteklenir.
Not
Çalışma alanı dosyalarına yazmayı devre dışı bırakmak için WSFS_ENABLE_WRITE_SUPPORT=false
küme ortam değişkenini ayarlayın. Daha fazla bilgi için bkz. Ortam değişkenleri.
Not
Databricks Runtime 14.0 ve üzerinde, yerel olarak yürütülen kod için varsayılan geçerli çalışma dizini (CWD), çalıştırılmakta olan not defterini veya betiği içeren dizindir. Bu, Databricks Runtime 13.3 LTS ve altındaki davranışlarda bir değişikliktir. Bkz. Varsayılan geçerli çalışma dizini nedir?.
Dosyaların konumlarını okuma
Bir depoda veya yerel dosya sisteminde dosyaların konumlarını okumak için kabuk komutlarını kullanın.
Dosyaların konumunu belirlemek için aşağıdakileri girin:
%sh ls
-
Dosyalar bir depoda değil: Komut,
/databricks/driver
dosya sistemini döndürür. -
Dosyalar bir depoda: Komut,
/Workspace/Repos/name@domain.com/public_repo_2/repos_file_system
gibi sanallaştırılmış bir depo döndürür.
Veri çalışma alanı dosyalarını okuma
not defterlerinizdeki koddan .csv
veya .json
dosyaları gibi küçük veri dosyalarını program aracılığıyla okuyabilirsiniz. Aşağıdaki örnekte, proje deposunun köküne göre bir /data
dizininde depolanan dosyaları sorgulamak için Pandas kullanılır:
import pandas as pd
df = pd.read_csv("./data/winequality-red.csv")
df
Veri dosyalarını okumak için Spark'ı kullanabilirsiniz. Tam yolu Spark'a sağlamalısınız.
- Git klasörlerindeki çalışma alanı dosyaları
file:/Workspace/Repos/<user-folder>/<repo-name>/path/to/file
yolunu kullanır. - Kişisel dizininizdeki çalışma alanı dosyaları şu yolu kullanır:
file:/Workspace/Users/<user-folder>/path/to/file
.
Mutlak veya göreli yolu dosyanın yanındaki açılan menüden bir dosyaya kopyalayabilirsiniz:
Aşağıdaki örnekte, tam yolu almak için {os.getcwd()}
kullanımı gösterilmektedir.
import os
spark.read.format("csv").load(f"file:{os.getcwd()}/my_data.csv")
Azure Databricks'te dosyalar hakkında daha fazla bilgi edinmek için bkz. Azure Databricks'te dosyalarla çalışma.
Program aracılığıyla dosya ve dizin oluşturma, güncelleştirme ve silme
Databricks Runtime 11.3 LTS ve üzerinde Azure Databricks'teki çalışma alanı dosyalarını doğrudan işleyebilirsiniz. Not defterleri Databricks Runtime 16.2 ve üzeri ile sunucusuz ortam 2 ve üzeri çalışma alanı dosyaları olarak değerlendirilir. Aşağıdaki örneklerde, dosya ve dizin oluşturmak ve bunları işlemek için standart Python paketleri ve işlevleri kullanılır.
# 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')
Çalışma Alanı Dosyaları Olarak Not Defterleri
Not
Bu özellik Databricks Runtime 16.2 ve üzeri ile sunucusuz ortam 2 ve üzerinde kullanılabilir.
Dosyalarla tüm programlı etkileşimler not defterleri için de kullanılabilir. Aşağıdaki durumlarda çalışma alanı içindeki bir varlık not defteri olarak tanımlanır:
-
.ipynb
uzantısına sahiptir, - ilk satırda bir açıklamada
Databricks notebook source
dizesini içeren veya şu uzantılardan birine sahip olan:.py
,.r
,.scala
,.sql
.
Bir not defterinin veya dosyanın bu koşulları değiştiren herhangi bir yazma veya yeniden adlandırma işlemi, not defterinin veya dosyanın türünü de değiştirir. Örneğin, ilk satırı myfile.txt
olan bir # Databricks notebook source
dosyanız varsa, bu dosyayı myfile.py
olarak yeniden adlandırmak onu bir not defterine dönüştürür.
Dosyayı not defterine dönüştürme hakkında bilgi için bkz. Dosyayı içeri aktarma venot defterine dönüştürme.