Aracılığıyla paylaş


Ç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=falsekü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/driverdosya sistemini döndürür.
  • Dosyalar bir depoda: Komut, /Workspace/Repos/name@domain.com/public_repo_2/repos_file_systemgibi 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/fileyolunu 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:

dosya açılır menüsü

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.