Databricks Yardımcı Programları (dbutils) başvurusu

Bu makale Databricks Yardımcı Programları (dbutils) için bir başvurudur. dbutils yardımcı programları Python, R ve Scala not defterlerinde kullanılabilir. Aşağıdakiler için yardımcı programları kullanabilirsiniz:

  • Dosyalar ve nesne depolama ile verimli bir şekilde çalışın.
  • Gizli dizilerle çalışma.

Nasıl yapılır: Yardımcı programları listeleme, komutları listeleme, komut yardımı görüntüleme

Yardımcı programlar: veriler, fs, işler, kitaplık, not defteri, gizli diziler, pencere öğeleri, Yardımcı Programlar API kitaplığı

Kullanılabilir yardımcı programları listeleme

Kullanılabilir yardımcı programları ve her yardımcı programın kısa açıklamasını listelemek için Python veya Scala için komutunu çalıştırın dbutils.help() .

Bu örnekte Databricks Yardımcı Programları için kullanılabilir komutlar listelenir.

Python

dbutils.help()

Scala

dbutils.help()
This module provides various utilities for users to interact with the rest of Databricks.

credentials: DatabricksCredentialUtils -> Utilities for interacting with credentials within notebooks
data: DataUtils -> Utilities for understanding and interacting with datasets (EXPERIMENTAL)
fs: DbfsUtils -> Manipulates the Databricks filesystem (DBFS) from the console
jobs: JobsUtils -> Utilities for leveraging jobs features
library: LibraryUtils -> Utilities for session isolated libraries
meta: MetaUtils -> Methods to hook into the compiler (EXPERIMENTAL)
notebook: NotebookUtils -> Utilities for the control flow of a notebook (EXPERIMENTAL)
preview: Preview -> Utilities under preview category
secrets: SecretUtils -> Provides utilities for leveraging secrets within notebooks
widgets: WidgetsUtils -> Methods to create and get bound value of input widgets inside notebooks

Yardımcı program için kullanılabilir komutları listeleme

Bir yardımcı programın kullanılabilir komutlarını ve her komutun kısa bir açıklamasını listelemek için yardımcı programın programlı adından sonra komutunu çalıştırın .help() .

Bu örnekte Databricks Dosya Sistemi (DBFS) yardımcı programı için kullanılabilir komutlar listeleniyor.

Python

dbutils.fs.help()

R

dbutils.fs.help()

Scala

dbutils.fs.help()
dbutils.fs provides utilities for working with FileSystems. Most methods in this package can take either a DBFS path (e.g., "/foo" or "dbfs:/foo"), or another FileSystem URI. For more info about a method, use dbutils.fs.help("methodName"). In notebooks, you can also use the %fs shorthand to access DBFS. The %fs shorthand maps straightforwardly onto dbutils calls. For example, "%fs head --maxBytes=10000 /file/path" translates into "dbutils.fs.head("/file/path", maxBytes = 10000)".

fsutils

cp(from: String, to: String, recurse: boolean = false): boolean -> Copies a file or directory, possibly across FileSystems
head(file: String, maxBytes: int = 65536): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
ls(dir: String): Seq -> Lists the contents of a directory
mkdirs(dir: String): boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
mv(from: String, to: String, recurse: boolean = false): boolean -> Moves a file or directory, possibly across FileSystems
put(file: String, contents: String, overwrite: boolean = false): boolean -> Writes the given String out to a file, encoded in UTF-8
rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory

mount

mount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Mounts the given source directory into DBFS at the given mount point
mounts: Seq -> Displays information about what is mounted within DBFS
refreshMounts: boolean -> Forces all machines in this cluster to refresh their mount cache, ensuring they receive the most recent information
unmount(mountPoint: String): boolean -> Deletes a DBFS mount point
updateMount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Similar to mount(), but updates an existing mount point instead of creating a new one

Komut için yardım görüntüleme

Komutun yardımını görüntülemek için komut adından sonra komutunu çalıştırın .help("<command-name>") .

Bu örnekte DBFS kopyalama komutu için yardım görüntülenir.

Python

dbutils.fs.help("cp")

R

dbutils.fs.help("cp")

Scala

dbutils.fs.help("cp")
/**
* Copies a file or directory, possibly across FileSystems.
*
* Example: cp("/mnt/my-folder/a", "dbfs:/a/b")
*
* @param from FileSystem URI of the source file or directory
* @param to FileSystem URI of the destination file or directory
* @param recurse if true, all files and directories will be recursively copied
* @return true if all files were successfully copied
*/
cp(from: java.lang.String, to: java.lang.String, recurse: boolean = false): boolean

Veri yardımcı programı (dbutils.data)

Önemli

Bu özellik Genel Önizlemededir.

Not

Databricks Runtime 9.0 ve üzeri sürümleriyle kullanılabilir.

Komutlar: özetleme

Veri yardımcı programı, veri kümelerini anlamanıza ve yorumlamanıza olanak tanır. Kullanılabilir komutları listelemek için komutunu çalıştırın dbutils.data.help().

dbutils.data provides utilities for understanding and interpreting datasets. This module is currently in preview and may be unstable. For more info about a method, use dbutils.data.help("methodName").

summarize(df: Object, precise: boolean): void -> Summarize a Spark DataFrame and visualize the statistics to get quick insights

summarize komutu (dbutils.data.summarize)

Apache Spark DataFrame veya pandas DataFrame'in özet istatistiklerini hesaplar ve görüntüler. Bu komut Python, Scala ve R için kullanılabilir.

Bu komut, DataFrame'in tüm içeriğini analiz eder. Çok büyük DataFrame'ler için bu komutu çalıştırmak çok pahalı olabilir.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.data.help("summarize").

Databricks Runtime 10.4 LTS ve üzerinde hesaplanan istatistiklerin duyarlığı ayarlamak için ek precise parametreyi kullanabilirsiniz.

Not

Bu özellik Genel Önizlemededir.

  • precise False (varsayılan) olarak ayarlandığında, döndürülen bazı istatistikler çalışma süresini kısaltmak için yaklaşık değerleri içerir.
    • Kategorik sütunlar için ayrı değerlerin sayısı, yüksek kardinaliteli sütunlar için yaklaşık %5 göreli hataya sahip olabilir.
    • Sık kullanılan değer sayılarında, ayrı değerlerin sayısı 10000'den büyük olduğunda %0,01'e varan bir hata olabilir.
    • Histogramlar ve yüzdebirlik tahminler, toplam satır sayısına göre %0,01'e varan bir hataya sahip olabilir.
  • precise true olarak ayarlandığında istatistikler daha yüksek hassasiyetle hesaplanır. Sayısal sütunların histogramları ve yüzdebirlik değerleri dışındaki tüm istatistikler artık tam olarak belirlendi.
    • Histogramlar ve yüzdebirlik tahminlerde toplam satır sayısına göre %0,0001'e kadar hata olabilir.

Veri özeti çıkışının üst kısmındaki araç ipucu geçerli çalıştırma modunu gösterir.

Bu örnek, varsayılan olarak yaklaşık değerlerin etkinleştirildiği bir Apache Spark DataFrame'in özet istatistiklerini görüntüler. Sonuçları görmek için bu komutu bir not defterinde çalıştırın. Bu örnek Örnek veri kümelerini temel alır.

Python

df = spark.read.format('csv').load(
  '/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv',
  header=True,
  inferSchema=True
)
dbutils.data.summarize(df)

R

df <- read.df("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", source = "csv", header="true", inferSchema = "true")
dbutils.data.summarize(df)

Scala

val df = spark.read.format("csv")
  .option("inferSchema", "true")
  .option("header", "true")
  .load("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv")
dbutils.data.summarize(df)

Görselleştirmenin 0,01'den küçük veya 10000'den büyük sayısal değerleri kısa bir şekilde işlemek için SI gösterimi kullandığını unutmayın. Örneğin, sayısal değer 1.25e-15 olarak 1.25fişlenir. Bir özel durum: Görselleştirmede "B" yerineG "" 1.0e9 (giga) kullanılır.

Dosya sistemi yardımcı programı (dbutils.fs)

Uyarı

Tüm dbutils.fs yöntemlerin Python uygulaması, anahtar sözcük biçimlendirmesi yerine camelCase kullanırsnake_case.

Örneğin: Python'da seçeneğini dbutils.fs.mount()extraConfigs görüntülerken dbutils.fs.help() anahtar sözcüğünü extra_configskullanırsınız.

Komutlar: cp, head, ls, mkdirs, mount, mounts, mv, put, refreshMounts, rm, unmount, updateMount

Dosya sistemi yardımcı programı Databricks Dosya Sistemi (DBFS) nedir? öğesine erişmenize olanak sağlayarak Azure Databricks'i dosya sistemi olarak kullanmayı kolaylaştırır. Kullanılabilir komutları listelemek için komutunu çalıştırın dbutils.fs.help().

dbutils.fs provides utilities for working with FileSystems. Most methods in this package can take either a DBFS path (e.g., "/foo" or "dbfs:/foo"), or another FileSystem URI. For more info about a method, use dbutils.fs.help("methodName"). In notebooks, you can also use the %fs shorthand to access DBFS. The %fs shorthand maps straightforwardly onto dbutils calls. For example, "%fs head --maxBytes=10000 /file/path" translates into "dbutils.fs.head("/file/path", maxBytes = 10000)".

fsutils

cp(from: String, to: String, recurse: boolean = false): boolean -> Copies a file or directory, possibly across FileSystems
head(file: String, maxBytes: int = 65536): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
ls(dir: String): Seq -> Lists the contents of a directory
mkdirs(dir: String): boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
mv(from: String, to: String, recurse: boolean = false): boolean -> Moves a file or directory, possibly across FileSystems
put(file: String, contents: String, overwrite: boolean = false): boolean -> Writes the given String out to a file, encoded in UTF-8
rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory

mount

mount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Mounts the given source directory into DBFS at the given mount point
mounts: Seq -> Displays information about what is mounted within DBFS
refreshMounts: boolean -> Forces all machines in this cluster to refresh their mount cache, ensuring they receive the most recent information
unmount(mountPoint: String): boolean -> Deletes a DBFS mount point
updateMount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Similar to mount(), but updates an existing mount point instead of creating a new one

cp komutu (dbutils.fs.cp)

Büyük olasılıkla dosya sistemleri arasında bir dosya veya dizin kopyalar.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("cp").

Bu örnek, adlı old_file.txt dosyayı öğesine /FileStore/tmp/newkopyalar ve kopyalanan dosyayı olarak new_file.txtyeniden adlandırılır.

Python

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

# Out[4]: True

R

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

# [1] TRUE

Scala

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

// res3: Boolean = true

head komutu (dbutils.fs.head)

Belirtilen dosyanın belirtilen en fazla bayt sayısına kadar döndürür. Baytlar UTF-8 ile kodlanmış bir dize olarak döndürülür.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("head").

Bu örnek, içinde /tmpbulunan dosyanın my_file.txt ilk 25 baytını görüntüler.

Python

dbutils.fs.head("/tmp/my_file.txt", 25)

# [Truncated to first 25 bytes]
# Out[12]: 'Apache Spark is awesome!\n'

R

dbutils.fs.head("/tmp/my_file.txt", 25)

# [1] "Apache Spark is awesome!\n"

Scala

dbutils.fs.head("/tmp/my_file.txt", 25)

// [Truncated to first 25 bytes]
// res4: String =
// "Apache Spark is awesome!
// "

ls komutu (dbutils.fs.ls)

Bir dizinin içeriğini listeler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("ls").

Bu örnekte içeriğinin /tmpbilgileri görüntülenir. Bu modificationTime alan Databricks Runtime 10.4 LTS ve üzerinde kullanılabilir. R'de dize modificationTime olarak döndürülür.

Python

dbutils.fs.ls("/tmp")

# Out[13]: [FileInfo(path='dbfs:/tmp/my_file.txt', name='my_file.txt', size=40, modificationTime=1622054945000)]

R

dbutils.fs.ls("/tmp")

# For prettier results from dbutils.fs.ls(<dir>), please use `%fs ls <dir>`

# [[1]]
# [[1]]$path
# [1] "dbfs:/tmp/my_file.txt"

# [[1]]$name
# [1] "my_file.txt"

# [[1]]$size
# [1] 40

# [[1]]$isDir
# [1] FALSE

# [[1]]$isFile
# [1] TRUE

# [[1]]$modificationTime
# [1] "1622054945000"

Scala

dbutils.fs.ls("/tmp")

// res6: Seq[com.databricks.backend.daemon.dbutils.FileInfo] = WrappedArray(FileInfo(dbfs:/tmp/my_file.txt, my_file.txt, 40, 1622054945000))

mkdirs komutu (dbutils.fs.mkdirs)

Mevcut değilse verilen dizini oluşturur. Ayrıca gerekli üst dizinleri de oluşturur.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("mkdirs").

Bu örnek içinde /tmpdizin yapısını /parent/child/grandchild oluşturur.

Python

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

# Out[15]: True

R

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

# [1] TRUE

Scala

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

// res7: Boolean = true

mount komutu (dbutils.fs.mount)

Belirtilen kaynak dizini belirtilen bağlama noktasında DBFS'ye bağlar.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("mount").

Python

dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
  mount_point = "/mnt/<mount-name>",
  extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})

Scala

dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = Map("<conf-key>" -> dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")))

Ek kod örnekleri için bkz. Azure Data Lake Storage 2. Nesil ve Blob Depolama için Bağlan.

mounts komutu (dbutils.fs.mounts)

DBFS'de şu anda nelerin bağlı olduğu hakkındaki bilgileri görüntüler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("mounts").

Uyarı

Yeni bağlamayı yaymak için diğer tüm çalışan kümeleri çağırın dbutils.fs.refreshMounts() . Bkz . refreshMounts komutu (dbutils.fs.refreshMounts).

Python

dbutils.fs.mounts()

Scala

dbutils.fs.mounts()

Ek kod örnekleri için bkz. Azure Data Lake Storage 2. Nesil ve Blob Depolama için Bağlan.

mv komutu (dbutils.fs.mv)

Bir dosyayı veya dizini büyük olasılıkla dosya sistemleri arasında taşır. Taşıma, dosya sistemleri içindeki taşımalar için bile bir kopya ve ardından silme işlemidir.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("mv").

Bu örnek, dosyasını my_file.txt 'den /FileStore öğesine /tmp/parent/child/granchildtaşır.

Python

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

# Out[2]: True

R

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

# [1] TRUE

Scala

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

// res1: Boolean = true

put komutu (dbutils.fs.put)

Belirtilen dizeyi bir dosyaya yazar. Dize UTF-8 kodludur.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("put").

Bu örnek, dizesini Hello, Databricks! içinde /tmpadlı hello_db.txt bir dosyaya yazar. Dosya varsa üzerine yazılır.

Python

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", True)

# Wrote 18 bytes.
# Out[6]: True

R

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", TRUE)

# [1] TRUE

Scala

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", true)

// Wrote 18 bytes.
// res2: Boolean = true

refreshMounts komutu (dbutils.fs.refreshMounts)

Kümedeki tüm makineleri bağlama önbelleğini yenilemeye zorlayarak en son bilgileri almalarını sağlar.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("refreshMounts").

Python

dbutils.fs.refreshMounts()

Scala

dbutils.fs.refreshMounts()

Ek kod örnekleri için bkz. Azure Data Lake Storage 2. Nesil ve Blob Depolama Bağlan.

rm komutu (dbutils.fs.rm)

Bir dosyayı veya dizini ve isteğe bağlı olarak tüm içeriğini kaldırır. Bir dosya belirtilirse, özyineleme parametresi yoksayılır. Bir dizin belirtilirse, özyineleme devre dışı bırakılırsa ve dizin boş değilse bir hata oluşur.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("rm").

Bu örnek, dizinin /tmp içeriğini de içeren dizini kaldırır.

Python

dbutils.fs.rm("/tmp", True)

# Out[8]: True

R

dbutils.fs.rm("/tmp", TRUE)

# [1] TRUE

Scala

dbutils.fs.rm("/tmp", true)

// res6: Boolean = true

unmount komutu (dbutils.fs.unmount)

DBFS bağlama noktasını siler.

Uyarı

Hataları önlemek için, bağlama noktasını hiçbir zaman diğer işler okurken veya yazarken değiştirmeyin. Bağlamayı değiştirdikten sonra, tüm bağlama güncelleştirmelerini yaymak için her zaman çalışan diğer tüm kümelerde komutunu çalıştırın dbutils.fs.refreshMounts() . Bkz . refreshMounts komutu (dbutils.fs.refreshMounts).

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("unmount").

dbutils.fs.unmount("/mnt/<mount-name>")

Ek kod örnekleri için bkz. Azure Data Lake Storage 2. Nesil ve Blob Depolama için Bağlan.

updateMount komutu (dbutils.fs.updateMount)

Komutuna dbutils.fs.mount benzer, ancak yeni bir bağlama noktası oluşturmak yerine mevcut bir bağlama noktasını güncelleştirir. Bağlama noktası yoksa bir hata döndürür.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.fs.help("updateMount").

Uyarı

Hataları önlemek için, bağlama noktasını hiçbir zaman diğer işler okurken veya yazarken değiştirmeyin. Bağlamayı değiştirdikten sonra, tüm bağlama güncelleştirmelerini yaymak için her zaman çalışan diğer tüm kümelerde komutunu çalıştırın dbutils.fs.refreshMounts() . Bkz . refreshMounts komutu (dbutils.fs.refreshMounts).

Bu komut Databricks Runtime 10.4 LTS ve üzerinde kullanılabilir.

Python

dbutils.fs.updateMount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
  mount_point = "/mnt/<mount-name>",
  extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})

Scala

dbutils.fs.updateMount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = Map("<conf-key>" -> dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")))

İşler yardımcı programı (dbutils.jobs)

Alt Yardımcı Programlar: taskValues

Not

Bu yardımcı program yalnızca Python için kullanılabilir.

İşler yardımcı programı, iş özelliklerinden yararlanmanızı sağlar. Bu yardımcı programın yardımlarını görüntülemek için komutunu çalıştırın dbutils.jobs.help().

Provides utilities for leveraging jobs features.

taskValues: TaskValuesUtils -> Provides utilities for leveraging job task values

taskValues alt yardımcı programı (dbutils.jobs.taskValues)

Komutlar: get, set

Not

Bu alt yardımcı program yalnızca Python için kullanılabilir.

İş görev değerlerinden yararlanmaya yönelik komutlar sağlar.

Bir iş çalıştırması sırasında rastgele değerler ayarlamak ve almak için bu alt yardımcı programı kullanın. Bu değerler görev değerleri olarak adlandırılır. Aynı iş çalıştırmasında aşağı akış görevlerindeki görev değerlerine erişebilirsiniz. Örneğin, bir iş çalıştırması içindeki farklı görevler arasında makine öğrenmesi modelinin değerlendirmesiyle ilgili bilgiler gibi tanımlayıcıları veya ölçümleri iletebilirsiniz. Her görev birden çok görev değeri ayarlayabilir, bunları alabilir veya her ikisini birden yapabilir. Her görev değerinin aynı görev içinde benzersiz bir anahtarı vardır. Bu benzersiz anahtar, görev değerinin anahtarı olarak bilinir. Görev adına ve görev değerinin anahtarına sahip bir görev değerine erişilir.

Bu alt yardımcı program için yardım görüntülemek için komutunu çalıştırın dbutils.jobs.taskValues.help().

get komutu (dbutils.jobs.taskValues.get)

Not

Bu komut yalnızca Python için kullanılabilir.

Databricks Runtime 10.4 ve önceki sürümlerinde, get görevi bulamazsa, yerine bir Py4JJavaError oluşturulur ValueError.

Geçerli iş çalıştırmasında belirtilen görev için belirtilen görev değerinin içeriğini alır.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.jobs.taskValues.help("get").

Örneğin:

dbutils.jobs.taskValues.get(taskKey    = "my-task", \
                            key        = "my-key", \
                            default    = 7, \
                            debugValue = 42)

Yukarıdaki örnekte:

  • taskKey , görev değerini ayarlayan görevin adıdır. Komut bu görevi bulamazsa, bir ValueError oluşturulur.
  • key , set komutuyla ayarladığınız görev değerinin anahtarının adıdır (dbutils.jobs.taskValues.set). Komut bu görev değerinin anahtarını bulamazsa, bir ValueError oluşturulur (belirtilmediği sürece default ).
  • default , bulunamazsa key döndürülen isteğe bağlı bir değerdir. default olamaz None.
  • debugValue , bir işin dışında çalışan bir not defterinin içinden görev değerini almaya çalışırsanız döndürülen isteğe bağlı bir değerdir. Bu, not defterinizi el ile çalıştırmak ve varsayılan değer oluşturmak TypeError yerine bir değer döndürmek istediğinizde hata ayıklama sırasında yararlı olabilir. debugValue olamaz None.

bir işin dışında çalışan bir not defterinin içinden bir görev değeri almaya çalışırsanız, bu komut varsayılan olarak bir TypeError oluşturur. Ancak, bağımsız değişken komutunda belirtilirse debugValue , değeri debugValue bir TypeErroroluşturmak yerine döndürülür.

set komutu (dbutils.jobs.taskValues.set)

Not

Bu komut yalnızca Python için kullanılabilir.

Görev değerini ayarlar veya güncelleştirir. bir iş çalıştırması için en fazla 250 görev değeri ayarlayabilirsiniz.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.jobs.taskValues.help("set").

Bazı Örnekler:

dbutils.jobs.taskValues.set(key   = "my-key", \
                            value = 5)

dbutils.jobs.taskValues.set(key   = "my-other-key", \
                            value = "my other value")

Yukarıdaki örneklerde:

  • key görev değerinin anahtarıdır. Bu anahtar göreve özgü olmalıdır. Diğer bir ifadeyle, her biri anahtarıyla Kbir görev değeri ayarlayan iki farklı görev değeri varsa, bunlar aynı anahtara Ksahip iki farklı görev değeridir.
  • value , bu görev değerinin anahtarının değeridir. Bu komutun değeri dahili olarak JSON biçiminde temsil edebilmesi gerekir. Değerin JSON gösteriminin boyutu 48 KiB'ı aşamaz.

bir işin dışında çalışan bir not defterinin içinden bir görev değeri ayarlamaya çalışırsanız, bu komut hiçbir şey yapmaz.

Kitaplık yardımcı programı (dbutils.library)

Alt modüldeki yöntemlerin dbutils.library çoğu kullanım dışıdır. Bkz. Kitaplık yardımcı programı (dbutils.library) (eski).

Yerel olarak yüklenen veya yükseltilen kitaplıkların geçerli SparkSession'ınız için Python çekirdeğinde düzgün çalıştığından emin olmak için Azure Databricks'te Python işlemini program aracılığıyla yeniden başlatmanız gerekebilir. Bunu yapmak için dbutils.library.restartPython komutunu çalıştırın. Bkz. Azure Databricks'te Python işlemini yeniden başlatma.

Not defteri yardımcı programı (dbutils.notebook)

Komutlar: exit, run

Not defteri yardımcı programı, not defterlerini birbirine bağlamanıza ve sonuçlarına göre işlem yapmanızı sağlar. Bkz . Başka bir not defterinden Databricks not defteri çalıştırma.

Kullanılabilir komutları listelemek için komutunu çalıştırın dbutils.notebook.help().

exit(value: String): void -> This method lets you exit a notebook with a value
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

exit komutu (dbutils.notebook.exit)

Not defterinden bir değerle çıkar.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.notebook.help("exit").

Bu örnek, değeriyle Exiting from My Other Notebooknot defterinden çıkar.

Python

dbutils.notebook.exit("Exiting from My Other Notebook")

# Notebook exited: Exiting from My Other Notebook

R

dbutils.notebook.exit("Exiting from My Other Notebook")

# Notebook exited: Exiting from My Other Notebook

Scala

dbutils.notebook.exit("Exiting from My Other Notebook")

// Notebook exited: Exiting from My Other Notebook

Not

Çalıştırmanın arka planda çalışan yapılandırılmış akışı olan bir sorgusu varsa, çağrı dbutils.notebook.exit() çalıştırmayı sonlandırmaz. Sorgu arka planda yürütülürken çalıştırma yürütülmeye devam eder. Sorgunun hücresinde İptal'e tıklayarak veya komutunu çalıştırarak query.stop()sorgunun arka planda çalışmasını durdurabilirsiniz. Sorgu durduğunda ile çalıştırmayı dbutils.notebook.exit()sonlandırabilirsiniz.

run command (dbutils.notebook.run)

Not defterini çalıştırır ve çıkış değerini döndürür. Not defteri varsayılan olarak geçerli kümede çalışır.

Not

Komuttan run döndürülen dize değerinin uzunluğu üst sınırı 5 MB'tır. Bkz. Tek bir çalıştırmaGET /jobs/runs/get-output () için çıkışı alma.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.notebook.help("run").

Bu örnek, çağıran not defteriyle aynı konumda adlı My Other Notebook bir not defteri çalıştırır. Çağrılan not defteri kod dbutils.notebook.exit("Exiting from My Other Notebook")satırıyla biter. Çağrılan not defterinin çalışması 60 saniye içinde tamamlanmazsa bir özel durum oluşur.

Python

dbutils.notebook.run("My Other Notebook", 60)

# Out[14]: 'Exiting from My Other Notebook'

Scala

dbutils.notebook.run("My Other Notebook", 60)

// res2: String = Exiting from My Other Notebook

Gizli diziler yardımcı programı (dbutils.secrets)

Komutlar: get, getBytes, list, listScopes

Gizli diziler yardımcı programı, not defterlerinde görünür hale getirmeden hassas kimlik bilgileri depolamanıza ve bunlara erişmenize olanak tanır. Bkz . Gizli dizi yönetimi ve Not defterinde gizli dizileri kullanma. Kullanılabilir komutları listelemek için komutunu çalıştırın dbutils.secrets.help().

get(scope: String, key: String): String -> Gets the string representation of a secret value with scope and key
getBytes(scope: String, key: String): byte[] -> Gets the bytes representation of a secret value with scope and key
list(scope: String): Seq -> Lists secret metadata for secrets within a scope
listScopes: Seq -> Lists secret scopes

get komutu (dbutils.secrets.get)

Belirtilen gizli dizi kapsamı ve anahtarı için bir gizli dizi değerinin dize gösterimini alır.

Uyarı

Yönetici istrator'lar, gizli dizi oluşturucuları ve izin verilen kullanıcılar Azure Databricks gizli dizilerini okuyabilir. Azure Databricks, not defterlerinde görüntülenebilen gizli dizi değerlerini yeniden uygulamak için çaba gösterse de, bu tür kullanıcıların gizli dizileri okumasını engellemek mümkün değildir. Daha fazla bilgi için bkz . Gizli dizi yeniden eylem.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.secrets.help("get").

Bu örnek, adlı kapsam ve adlı my-scope anahtar my-keyiçin gizli dizi değerinin dize gösterimini alır.

Python

dbutils.secrets.get(scope="my-scope", key="my-key")

# Out[14]: '[REDACTED]'

R

dbutils.secrets.get(scope="my-scope", key="my-key")

# [1] "[REDACTED]"

Scala

dbutils.secrets.get(scope="my-scope", key="my-key")

// res0: String = [REDACTED]

getBytes komutu (dbutils.secrets.getBytes)

Belirtilen kapsam ve anahtar için bir gizli dizi değerinin bayt gösterimini alır.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.secrets.help("getBytes").

Bu örnek, adlı kapsam için gizli dizi değerinin bayt gösterimini (bu örnekte, a1!b2@c3#) ve adlı my-scopemy-keyanahtarı alır.

Python

dbutils.secrets.getBytes(scope="my-scope", key="my-key")

# Out[1]: b'a1!b2@c3#'

R

dbutils.secrets.getBytes(scope="my-scope", key="my-key")

# [1] 61 31 21 62 32 40 63 33 23

Scala

dbutils.secrets.getBytes(scope="my-scope", key="my-key")

// res1: Array[Byte] = Array(97, 49, 33, 98, 50, 64, 99, 51, 35)

list komutu (dbutils.secrets.list)

Belirtilen kapsamdaki gizli diziler için meta verileri listeler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.secrets.help("list").

Bu örnekte, adlı my-scopekapsamdaki gizli dizilere yönelik meta veriler listelenir.

Python

dbutils.secrets.list("my-scope")

# Out[10]: [SecretMetadata(key='my-key')]

R

dbutils.secrets.list("my-scope")

# [[1]]
# [[1]]$key
# [1] "my-key"

Scala

dbutils.secrets.list("my-scope")

// res2: Seq[com.databricks.dbutils_v1.SecretMetadata] = ArrayBuffer(SecretMetadata(my-key))

listScopes komutu (dbutils.secrets.listScopes)

Kullanılabilir kapsamları listeler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.secrets.help("listScopes").

Bu örnekte kullanılabilir kapsamlar listelenir.

Python

dbutils.secrets.listScopes()

# Out[14]: [SecretScope(name='my-scope')]

R

dbutils.secrets.listScopes()

# [[1]]
# [[1]]$name
# [1] "my-scope"

Scala

dbutils.secrets.listScopes()

// res3: Seq[com.databricks.dbutils_v1.SecretScope] = ArrayBuffer(SecretScope(my-scope))

Pencere öğeleri yardımcı programı (dbutils.widgets)

Komutlar: birleşik giriş kutusu, açılan liste, get, getArgument, multiselect, remove, RemoveAll, text

Pencere öğeleri yardımcı programı, not defterlerini parametreleştirmenizi sağlar. Bkz. Databricks pencere öğeleri.

Kullanılabilir komutları listelemek için komutunu çalıştırın dbutils.widgets.help().

combobox(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a combobox input widget with a given name, default value and choices
dropdown(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a dropdown input widget a with given name, default value and choices
get(name: String): String -> Retrieves current value of an input widget
getArgument(name: String, optional: String): String -> (DEPRECATED) Equivalent to get
multiselect(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a multiselect input widget with a given name, default value and choices
remove(name: String): void -> Removes an input widget from the notebook
removeAll: void -> Removes all widgets in the notebook
text(name: String, defaultValue: String, label: String): void -> Creates a text input widget with a given name and default value

combobox komutu (dbutils.widgets.combobox)

Belirtilen program adı, varsayılan değer, seçenekler ve isteğe bağlı etikete sahip bir birleşik giriş kutusu pencere öğesi oluşturur ve görüntüler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("combobox").

Bu örnekte program adıyla fruits_comboboxbir birleşik giriş kutusu pencere öğesi oluşturulur ve görüntülenir. , , coconutbananave dragon fruit seçeneklerini applesunar ve ilk değerine bananaayarlanır. Bu birleşik giriş kutusu pencere öğesinin eşlik eden bir etiketi Fruitsvardır. Bu örnek, birleşik giriş kutusu pencere öğesinin bananailk değerini yazdırarak sona erer.

Python

dbutils.widgets.combobox(
  name='fruits_combobox',
  defaultValue='banana',
  choices=['apple', 'banana', 'coconut', 'dragon fruit'],
  label='Fruits'
)

print(dbutils.widgets.get("fruits_combobox"))

# banana

R

dbutils.widgets.combobox(
  name='fruits_combobox',
  defaultValue='banana',
  choices=list('apple', 'banana', 'coconut', 'dragon fruit'),
  label='Fruits'
)

print(dbutils.widgets.get("fruits_combobox"))

# [1] "banana"

Scala

dbutils.widgets.combobox(
  "fruits_combobox",
  "banana",
  Array("apple", "banana", "coconut", "dragon fruit"),
  "Fruits"
)

print(dbutils.widgets.get("fruits_combobox"))

// banana

dropdown komutu (dbutils.widgets.dropdown)

Belirtilen program adı, varsayılan değer, seçenekler ve isteğe bağlı etiket içeren bir açılan pencere öğesi oluşturur ve görüntüler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("dropdown").

Bu örnekte program adıyla toys_dropdownbir açılan pencere öğesi oluşturulur ve görüntülenir. , , capebasketballve doll seçeneklerini alphabet blockssunar ve ilk değerine basketballayarlanır. Bu açılan pencere öğesinde eşlik eden bir etiket Toysvardır. Bu örnek, açılan pencere öğesinin ilk değerini yazdırarak sona erer basketball.

Python

dbutils.widgets.dropdown(
  name='toys_dropdown',
  defaultValue='basketball',
  choices=['alphabet blocks', 'basketball', 'cape', 'doll'],
  label='Toys'
)

print(dbutils.widgets.get("toys_dropdown"))

# basketball

R

dbutils.widgets.dropdown(
  name='toys_dropdown',
  defaultValue='basketball',
  choices=list('alphabet blocks', 'basketball', 'cape', 'doll'),
  label='Toys'
)

print(dbutils.widgets.get("toys_dropdown"))

# [1] "basketball"

Scala

dbutils.widgets.dropdown(
  "toys_dropdown",
  "basketball",
  Array("alphabet blocks", "basketball", "cape", "doll"),
  "Toys"
)

print(dbutils.widgets.get("toys_dropdown"))

// basketball

get komutu (dbutils.widgets.get)

Belirtilen program adıyla pencere öğesinin geçerli değerini alır. Bu program adı aşağıdakilerden biri olabilir:

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("get").

Bu örnek, program adı fruits_comboboxolan pencere öğesinin değerini alır.

Python

dbutils.widgets.get('fruits_combobox')

# banana

R

dbutils.widgets.get('fruits_combobox')

# [1] "banana"

Scala

dbutils.widgets.get("fruits_combobox")

// res6: String = banana

Bu örnek, program adı ageolan not defteri görev parametresinin değerini alır. Bu parametre, ilgili not defteri görevinin çalıştırıldığı zaman olarak ayarlandı 35 .

Python

dbutils.widgets.get('age')

# 35

R

dbutils.widgets.get('age')

# [1] "35"

Scala

dbutils.widgets.get("age")

// res6: String = 35

getArgument komutu (dbutils.widgets.getArgument)

Belirtilen program adıyla pencere öğesinin geçerli değerini alır. Pencere öğesi yoksa isteğe bağlı bir ileti döndürülebilir.

Not

Bu komut kullanım dışıdır. Bunun yerine dbutils.widgets.get kullanın.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("getArgument").

Bu örnek, program adı fruits_comboboxolan pencere öğesinin değerini alır. Bu pencere öğesi yoksa, ileti Error: Cannot find fruits combobox döndürülür.

Python

dbutils.widgets.getArgument('fruits_combobox', 'Error: Cannot find fruits combobox')

# Deprecation warning: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
# Out[3]: 'banana'

R

dbutils.widgets.getArgument('fruits_combobox', 'Error: Cannot find fruits combobox')

# Deprecation warning: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
# [1] "banana"

Scala

dbutils.widgets.getArgument("fruits_combobox", "Error: Cannot find fruits combobox")

// command-1234567890123456:1: warning: method getArgument in trait WidgetsUtils is deprecated: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
// dbutils.widgets.getArgument("fruits_combobox", "Error: Cannot find fruits combobox")
//                 ^
// res7: String = banana

multiselect komutu (dbutils.widgets.multiselect)

Belirtilen program adı, varsayılan değer, seçenekler ve isteğe bağlı etikete sahip çok seçimli bir pencere öğesi oluşturur ve görüntüler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("multiselect").

Bu örnek, program adıyla days_multiselectçok seçimli bir pencere öğesi oluşturur ve görüntüler. aracılığıyla seçenekleri MondaySunday sunar ve ilk değerine Tuesdayayarlanır. Bu çoklu seçim pencere öğesinin eşlik eden bir etiketi Days of the Weekvardır. Bu örnek, çok seçimli pencere öğesinin Tuesdayilk değerini yazdırarak sona erer.

Python

dbutils.widgets.multiselect(
  name='days_multiselect',
  defaultValue='Tuesday',
  choices=['Monday', 'Tuesday', 'Wednesday', 'Thursday',
    'Friday', 'Saturday', 'Sunday'],
  label='Days of the Week'
)

print(dbutils.widgets.get("days_multiselect"))

# Tuesday

R

dbutils.widgets.multiselect(
  name='days_multiselect',
  defaultValue='Tuesday',
  choices=list('Monday', 'Tuesday', 'Wednesday', 'Thursday',
    'Friday', 'Saturday', 'Sunday'),
  label='Days of the Week'
)

print(dbutils.widgets.get("days_multiselect"))

# [1] "Tuesday"

Scala

dbutils.widgets.multiselect(
  "days_multiselect",
  "Tuesday",
  Array("Monday", "Tuesday", "Wednesday", "Thursday",
    "Friday", "Saturday", "Sunday"),
  "Days of the Week"
)

print(dbutils.widgets.get("days_multiselect"))

// Tuesday

remove komutu (dbutils.widgets.remove)

Belirtilen program adıyla pencere öğesini kaldırır.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("remove").

Önemli

Pencere öğesini kaldırmak için bir komut eklerseniz, aynı hücrede pencere öğesi oluşturmak için sonraki bir komut ekleyemezsiniz. Pencere öğesini başka bir hücrede oluşturmanız gerekir.

Bu örnek, program adıyla fruits_comboboxpencere öğesini kaldırır.

Python

dbutils.widgets.remove('fruits_combobox')

R

dbutils.widgets.remove('fruits_combobox')

Scala

dbutils.widgets.remove("fruits_combobox")

removeAll komutu (dbutils.widgets.removeAll)

Not defterinden tüm pencere öğelerini kaldırır.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("removeAll").

Önemli

Tüm pencere öğelerini kaldırmak için bir komut eklerseniz, aynı hücrede pencere öğesi oluşturmak için sonraki bir komut ekleyemezsiniz. Pencere öğelerini başka bir hücrede oluşturmanız gerekir.

Bu örnek, not defterinden tüm pencere öğelerini kaldırır.

Python

dbutils.widgets.removeAll()

R

dbutils.widgets.removeAll()

Scala

dbutils.widgets.removeAll()

text komutu (dbutils.widgets.text)

Belirtilen program adı, varsayılan değer ve isteğe bağlı etikete sahip bir metin pencere öğesi oluşturur ve görüntüler.

Bu komutla ilgili yardım görüntülemek için komutunu çalıştırın dbutils.widgets.help("text").

Bu örnek, program adıyla your_name_textbir metin pencere öğesi oluşturur ve görüntüler. başlangıç değerine Enter your nameayarlanır. Bu metin pencere öğesinin eşlik eden bir etiketi Your namevardır. Bu örnek, Enter your namemetin pencere öğesinin ilk değerini yazdırarak sona erer.

Python

dbutils.widgets.text(
  name='your_name_text',
  defaultValue='Enter your name',
  label='Your name'
)

print(dbutils.widgets.get("your_name_text"))

# Enter your name

R

dbutils.widgets.text(
  name='your_name_text',
  defaultValue='Enter your name',
  label='Your name'
)

print(dbutils.widgets.get("your_name_text"))

# [1] "Enter your name"

Scala

dbutils.widgets.text(
  "your_name_text",
  "Enter your name",
  "Your name"
)

print(dbutils.widgets.get("your_name_text"))

// Enter your name

Databricks Yardımcı Programları API kitaplığı

Önemli

Databricks Utilities API (dbutils-api) kitaplığı kullanım dışıdır. Bu kitaplık hala kullanılabilir olsa da, Databricks kitaplık için yeni özellik çalışması planlamaktadır dbutils-api .

Databricks bunun yerine aşağıdaki kitaplıklardan birini kullanmanızı önerir:

Uygulama geliştirmeyi hızlandırmak için, uygulamaları üretim işi olarak dağıtmadan önce derlemek, derlemek ve test etmek yararlı olabilir. Databricks Yardımcı Programları'na karşı derlemenizi sağlamak için Databricks kitaplığı sağlar dbutils-api . Kitaplığı Maven Deposu web sitesindeki DBUtils API web sayfasından indirebilir dbutils-api veya derleme dosyanıza bağımlılık ekleyerek kitaplığı ekleyebilirsiniz:

  • SBT

    libraryDependencies += "com.databricks" % "dbutils-api_TARGET" % "VERSION"
    
  • Maven

    <dependency>
        <groupId>com.databricks</groupId>
        <artifactId>dbutils-api_TARGET</artifactId>
        <version>VERSION</version>
    </dependency>
    
  • Gradle

    compile 'com.databricks:dbutils-api_TARGET:VERSION'
    

değerini istenen hedefle (örneğin2.12) ve VERSION istenen sürümle (örneğin0.0.5) değiştirinTARGET. Kullanılabilir hedeflerin ve sürümlerin listesi için Maven Deposu web sitesindeki DBUtils API web sayfasına bakın.

Uygulamanızı bu kitaplıkta derledikten sonra uygulamayı dağıtabilirsiniz.

Önemli

Kitaplık dbutils-api , kullanan dbutilsbir uygulamayı yerel olarak derlemenizi sağlar, ancak çalıştırmak için derlemez. Uygulamayı çalıştırmak için Azure Databricks'te dağıtmanız gerekir.

Sınırlamalar

Yürütücülerin içinde çağrılması dbutils beklenmeyen sonuçlara neden olabilir veya hatalara neden olabilir.

kullanarak dbutilsyürütücülerde dosya sistemi işlemlerini çalıştırmanız gerekiyorsa, birkaç daha hızlı ve daha ölçeklenebilir alternatif vardır:

  • Dosya kopyalama veya taşıma işlemleri için Dosya sistemi işlemlerini paralelleştirme bölümünde açıklanan dosya sistemi işlemlerini çalıştırmanın daha hızlı bir seçeneğine de göz atabilirsiniz.
  • Dosya sistemi listesi ve silme işlemleri için Databricks'te dosyaları daha hızlı listeleme ve silme bölümünde Spark kullanan paralel listeleme ve silme yöntemlerine başvurabilirsiniz.

Yürütücüler hakkında bilgi için Apache Spark web sitesinde Küme Moduna Genel Bakış bölümüne bakın.