Databricks Utilities

Databricks Yardımcı Programları ( dbutils ) güçlü görev birleşimleri gerçekleştirmeyi kolaylaştırır. Yardımcı programlarını kullanarak nesne depolamayla verimli bir şekilde çalışabilirsiniz, not defterlerini zincirleme ve parametreli hale getirir ve gizli dizilerle çalışabilirsiniz. dbutils not defterlerinin dışında desteklenmiyor.

dbutils yardımcı programları Python, R ve Scala not defterleri ile kullanılabilir.

Nasıl yapabilirsiniz: Yardımcı programları listele, komutları listele, komut yardımlarını görüntüle

Yardımcı Programlar: fs, kitaplık, not defteri, gizli diziler, pencere öğeleri, Yardımcı Programlar API kitaplığı

Kullanılabilir yardımcı programları listele

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

Bu örnek, Databricks Yardımcı Programları için kullanılabilir komutları listeler.

Python

dbutils.help()

Scala

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

fs: DbfsUtils -> Manipulates the Databricks filesystem (DBFS) from the console
library: LibraryUtils -> Utilities for session isolated libraries
notebook: NotebookUtils -> Utilities for the control flow of a notebook (EXPERIMENTAL)
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ı listele

Bir yardımcı programın kullanılabilir komutlarını ve her komutun kısa açıklamasını listeledikten sonra yardımcı programın .help() program adını çalıştırın.

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

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

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

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

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

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

Komutlar: cp, head, ls, mkdirs, bağlama,bağlama , mv, put, refreshMounts, rm, unmount

Dosya sistemi yardımcı programı Databricks Dosya Sistemi'ne (DBFS)erişerek dosya sistemi olarak Azure Databricks kolaylaşır. Kullanılabilir komutları listeleyebilirsiniz. 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

cp komutu (dbutils.fs.cp)

Bir dosyayı veya dizini büyük olasılıkla dosya sistemleri arasında kopyalar.

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

Bu örnek, adlı dosyayı old_file.txt 'a /FileStore kopyalar ve /tmp/new kopyalanan dosyayı olarak yeniden olarak yeniden adlandırılmıştır. new_file.txt

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 maksimum bayt sayısına kadar döndürür. Baytlar UTF-8 ile kodlanmış dize olarak döndürülür.

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

Bu örnekte, içinde bulunan dosyanın ilk 25 my_file.txt baytı /tmp görüntülenir.

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)

Dizinin içeriğini listeler.

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

Bu örnekte içeriğinin bilgileri /tmp görüntülenir.

Python

dbutils.fs.ls("/tmp")

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

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

Scala

dbutils.fs.ls("/tmp")

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

mkdirs komutu (dbutils.fs.mkdirs)

Yoksa verilen dizini oluşturur. Ayrıca gerekli tüm üst dizinleri oluşturur.

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

Bu örnek içinde dizin yapısını /parent/child/grandchild /tmp 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 komutun yardımlarını görüntülemek için komutunu dbutils.fs.help("mount") çalıştırın.

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 Blob depolama.

mounts komutu (dbutils.fs.mounts)

DBFS içinde şu anda nelerin bağlı olduğuyla ilgili bilgileri görüntüler.

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

Python

dbutils.fs.mounts()

Scala

dbutils.fs.mounts()

Ek kod örnekleri için bkz. Azure Blob depolama.

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 silmenin ardından gelen bir kopyadır.

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

Bu örnek, dosyasını my_file.txt 'den 'ye /FileStore /tmp/parent/child/granchild taşı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 ile kodlanmış.

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

Bu örnek, dizeyi Hello, Databricks! içinde adlı bir dosyaya hello_db.txt /tmp 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ümede yer alan tüm makineleri bağlama önbelleğini yenilemeye ve en son bilgileri almalarını sağlamaya güç sağlar.

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

Python

dbutils.fs.refreshMounts()

Scala

dbutils.fs.refreshMounts()

Ek kod örnekleri için bkz. Azure Blob depolama.

rm komutu (dbutils.fs.rm)

Bir dosyayı veya dizini kaldırır.

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

Bu örnek, içinde adlı dosyayı hello_db.txt /tmp kaldırır.

Python

dbutils.fs.rm("/tmp/hello_db.txt")

# Out[8]: True

R

dbutils.fs.rm("/tmp/hello_db.txt")

# [1] TRUE

Scala

dbutils.fs.rm("/tmp/hello_db.txt")

// res6: Boolean = true

çıkarma komutu (dbutils. FS. çıkarma)

Bir DBFS bağlama noktasını siler.

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

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

Ek kod örnekleri için bkz. Azure Blob depolama.

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

Not

Kitaplık yardımcı programı kullanım dışıdır.

Komutlar: Install, ınstallpypi, list, restartPython, updatecondadenv

Kitaplık yardımcı programı, Python kitaplıklarını yüklemenize ve bir not defteri oturumunun kapsamına alınmış bir ortam oluşturmanıza olanak tanır. Kitaplıklar hem sürücü hem de yürüticilere kullanılabilir, böylece Kullanıcı tanımlı işlevlerde bunlara başvurabilirsiniz. Şunları yapmanızı şunları sunar:

  • Not defterinin kendisi içinde organize edilecek bir not defterinin kitaplık bağımlılıkları.
  • Bir kümeyi girişim olmadan paylaşmak için farklı kitaplık bağımlılıkları olan Not defteri kullanıcıları.

Bir not defterini ayırmak bu ortamı yok eder. Ancak, not defterinde kitaplık API komutlarını yeniden çalıştırarak yeniden oluşturabilirsiniz install . restartPythonOrtamınızı kaybetmeden Not defteri durumunu nasıl sıfırlayabilmeniz için API 'ye bakın.

Önemli

Kitaplık yardımcı programları Databricks Runtime ML 'de veya Genomiks için Databricks Runtime kullanılamaz. Bunun yerine, Not defteri kapsamlı Python kitaplıklarıbölümüne bakın.

Databricks Runtime 7,2 ve üzeri için Databricks, %pip Not defteri kapsamındaki kitaplıkları yüklemek için Magic komutlarının kullanılmasını önerir. Bkz. Not defteri kapsamlı Python kitaplıkları.

Kitaplık yardımcı programları varsayılan olarak etkindir. Bu nedenle, varsayılan olarak, her bir not defteri için Python ortamı, Not defteri iliştirildiği ve kümedeki varsayılan Python ortamını devralarak oluşturulan ayrı bir Python yürütülebiliri kullanılarak yalıtılmıştır. Bir init betiği aracılığıyla yüklenen kitaplıklar Azure Databricks Python ortamına hala sunuldu. ' İ ayarlayarak bu özelliği devre dışı spark.databricks.libraryIsolation.enabled bırakabilirsiniz false .

Bu API, Kullanıcı arabirimi ve REST APIaracılığıyla mevcut küme genelinde kitaplık yüklemesiyle uyumludur. Bu API aracılığıyla yüklenen kitaplıkların, küme genelinde kitaplıklardan daha yüksek önceliği vardır.

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

install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment

Install komutu (dbutils. Library. Install)

Bir kitaplığa bir yol verildiğinde, bu kitaplığı geçerli not defteri oturumunda yüklüyor. Bu komutu çağırarak yüklenen kitaplıklar yalnızca geçerli not defteri için kullanılabilir.

Bu komutla ilgili yardım 'ı göstermek için komutunu çalıştırın dbutils.library.help("install") .

Bu örnekte bir .egg .whl Not defteri içinde veya kitaplığı yüklenir.

Önemli

Databricks, tüm kitaplık yüklemesi komutlarınızı not defterinizin ilk hücresine yerleştirmenizi ve restartPython Bu hücrenin sonunda çağrmanızı önerir. Python Not defteri durumu çalıştıktan sonra sıfırlanır restartPython ; Not defteri, yerel değişkenler, içeri aktarılan kitaplıklar ve diğer kısa ömürlü durumlar dahil, ancak bunlarla sınırlı olmamak üzere tüm durumları kaybeder. Bu nedenle, kitaplıkları yüklemenizi ve ilk Not defteri hücresinde Not defteri durumunu sıfırlamayı öneririz.

Kabul edilen kitaplık kaynakları dbfs ,, abfss adl ve wasbs .

dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Not

Kullanarak özel tekerlek dosyalarını doğrudan yükleyebilirsiniz %pip . Aşağıdaki örnekte, kitaplık tekerleği dosyanızı DBFS 'ye yüklediğiniz varsayıyoruz:

%pip install /dbfs/path/to/your/library.whl

Egg dosyaları PIP tarafından desteklenmez ve tekerlek, Python için derleme ve ikili paketleme için standart olarak kabul edilir. Daha fazla ayrıntı için bkz. tekerlek vs Yumurg . Bununla birlikte, bir yumurg dosyasını ile uyumlu bir şekilde kullanmak istiyorsanız %pip , aşağıdaki geçici çözümü kullanabilirsiniz:

# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib>  # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")

ınstallpypı komutu (dbutils. Library. ınstallpypı )

Bir Python paket dizini (Pypı) paketi verildiğinde, bu paketi geçerli not defteri oturumunda yükler. Bu komutu çağırarak yüklenen kitaplıklar, Not defterleri arasında yalıtılmıştır.

Bu komutla ilgili yardım 'ı göstermek için komutunu çalıştırın dbutils.library.help("installPyPI") .

Bu örnek bir not defterine Pypı paketi yükleme. version, repo ve extras isteğe bağlıdır. extras Ekstralar özelliğini (ek gereksinimler) belirtmek için bağımsız değişkenini kullanın.

dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Önemli

versionVe extras anahtarları Pypı paket dizesinin parçası olamaz. Örneğin: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") geçerli değil. version extras Sürüm ve ek özellikler bilgilerini aşağıdaki gibi belirtmek için ve bağımsız değişkenlerini kullanın:

dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Not

dbutils.library.installPyPIKomutları %pip komutlarla değiştirirken, Python yorumlayıcı otomatik olarak yeniden başlatılır. Install komutunu aşağıdaki gibi çalıştırabilirsiniz:

%pip install azureml-sdk[databricks]==1.19.0

Bu örnek, kitaplık gereksinimlerini bir not defterinde belirtir ve diğer içinde kullanarak bunları kurar %run . Bunu yapmak için, önce bir not defterine yüklenecek kitaplıkları tanımlayın. Bu örnek adlı bir not defteri kullanır InstallDependencies .

dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Sonra bu bağımlılıklara ihtiyacı olan not defterine onları yüklersiniz.

%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...

Bu örnek, ortamı koruyarak Python Not defteri durumunu sıfırlar. Bu teknik yalnızca Python not defterlerinde kullanılabilir. Örneğin, farklı bir sürümle önceden yüklenmiş Azure Databricks kitaplıklarını yeniden yüklemek için bu tekniği kullanabilirsiniz:

dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy

Bu tekniği Ayrıca, işlem başlatması sırasında yüklenmesi gereken TensorFlow gibi kitaplıkları yüklemek için de kullanabilirsiniz:

dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow

list komutu (dbutils. Library. List)

Kitaplık yardımcı programı aracılığıyla geçerli not defteri oturumu için eklenen yalıtılmış kitaplıkları listeler. Bu, kümeye eklenen kitaplıkları içermez.

Bu komutla ilgili yardım 'ı göstermek için komutunu çalıştırın dbutils.library.help("list") .

Bu örnek, bir not defterine yüklenen kitaplıkları listeler.

dbutils.library.list()

Not

Kullanılarak bu komutun eşdeğeri şunlardır %pip :

%pip freeze

restartPython komutu (dbutils. Library. restartPython)

Geçerli not defteri oturumu için Python işlemini yeniden başlatır.

Bu komutla ilgili yardım 'ı göstermek için komutunu çalıştırın dbutils.library.help("restartPython") .

Bu örnek, geçerli not defteri oturumu için Python işlemini yeniden başlatır.

dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

updatecondadenv komutu (dbutils. Library. updatecondadz)

, Öğesinin içeriğine göre geçerli not defteri 'nin Conda ortamını güncelleştirir environment.yml . Bu yöntem yalnızca Conda Databricks Runtime için desteklenir.

Bu komutla ilgili yardım 'ı göstermek için komutunu çalıştırın dbutils.library.help("updateCondaEnv") .

Bu örnek, belirtilen belirtim içeriğine göre geçerli not defteri 'nin Conda ortamını güncelleştirir.

dbutils.library.updateCondaEnv(
"""
channels:
  - anaconda
dependencies:
  - gensim=3.4
  - nltk=3.4
""")

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

Komutlar: Çıkış, çalıştırma

Not defteri yardımcı programı, dizüstü bilgisayarları birlikte zincirleyebilir ve sonuçlarına göre işlem yapmanıza olanak sağlar. Bkz. Not defteri iş akışları.

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. Not defteri. Exit)

Bir not defterinde değer içeren bir not defteri çıkar.

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

Bu örnek, ile Not defterinden çıkar Exiting from My Other Notebook .

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

komutu Çalıştır (dbutils. Not defteri. Run)

Bir not defteri ç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 döndürülen dize değerinin uzunluk üst sınırı run 5 MB 'tır. Bkz. çalıştırma çıktısı al.

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

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

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ı

Gizli diziler yardımcı programı, hassas kimlik bilgileri not defterlerini görünür hale almadan depolamanıza ve bu bilgilere erişmenizi sağlar. Bkz. Gizli dizi yönetimi ve Gizli dizileri not defterinde kullanma.

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

Not

Kullanarak her komut hakkında ayrıntılı bilgi help edinebilirsiniz, örneğin: dbutils.secrets.help("get")

Pencere öğesi yardımcı programları

Pencere öğeleri not defterlerini parametreleştirmenize olanak sağlar. Bkz. Pencere öğeleri. Şunları çalıştırarak daha fazla bilgi edinmek için:

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

Not

Kullanarak her komut hakkında ayrıntılı bilgi help edinebilirsiniz, örneğin: dbutils.widgets.help("combobox")

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

Uygulama geliştirmeyi hızlandırmak için, uygulamaları üretim işleri olarak dağıtmadan önce derlemek, derlemek ve test etmek yararlı olabilir. Databricks Yardımcı Programları'nı derlemek için Databricks dbutils-api kitaplığını sağlar. dbutils-api kitaplığını indirebilir veya derleme dosyanıza bağımlılık ekleyerek kitaplığı ekleyebilirsiniz:

  • Sbt

    libraryDependencies += "com.databricks" % "dbutils-api_2.12" % "0.0.5"
    
  • Maven

    <dependency>
        <groupId>com.databricks</groupId>
        <artifactId>dbutils-api_2.12</artifactId>
        <version>0.0.5</version>
    </dependency>
    
  • Gradle

    compile 'com.databricks:dbutils-api_2.12:0.0.5'
    

Uygulamanızı bu kitaplıkta derlemenizin ardından uygulamayı dağıtabilirsiniz.

Önemli

Kitaplığı, dbutils-api kullanan ancak çalıştırmak için değil kullanan bir uygulamayı yerel olarak dbutils derlemeye olanak sağlar. Uygulamayı çalıştırmak için uygulamayı Azure Databricks.

Yapının Scala sürümünü ile ifade edin %%

Yapıt sürümünü yerine ifade edersiniz (fark sonrasındaki iki katıdır), SBT projenizin Scala sürümünü yapıt groupID %% artifactID % revision groupID % artifactID % revision adına %% groupID ekler.

Örnek

Derlemenizin scalaVersion olduğunu 2.9.1 varsayalım. Yapıt sürümünü aşağıdaki gibi % yazabilirsiniz:

val appDependencies = Seq(
  "org.scala-tools" % "scala-stm_2.9.1" % "0.3"
)

Aşağıdaki kullanımı %% aynıdır:

val appDependencies = Seq(
  "org.scala-tools" %% "scala-stm" % "0.3"
)

Örnek projeler

Burada, 3 ortak derleme aracı için kitaplığını kullanarak derlemeyi size göstermek için en az örnek dbutils-api proje içeren örnek bir arşiv ve bulabilirsiniz:

  • Sbt: sbt package
  • Maven: mvn install
  • Gradle: gradle build

Bu komutlar, konumlarda çıkış JAR'leri oluşturur:

  • Sbt: target/scala-2.11/dbutils-api-example_2.11-0.0.1-SNAPSHOT.jar
  • Maven: target/dbutils-api-example-0.0.1-SNAPSHOT.jar
  • Gradle: build/examples/dbutils-api-example-0.0.1-SNAPSHOT.jar

Bu JAR'ı kümenize kitaplık olarak ekleyebilirsiniz, kümeyi yeniden başlatabilirsiniz ve ardından şu işlemi çalıştırabilirsiniz:

example.Test()

Bu deyim Hello: etiketine ve world değerine sahip bir metin girişi pencere öğesi oluşturur.

Diğer tüm API'leri dbutils aynı şekilde kullanabilirsiniz.

Databricks dışında nesnesini kullanan bir uygulamayı test dbutils etmek için şu çağrıyı kullanarak nesneyi taklit dbutils edersiniz:

com.databricks.dbutils_v1.DBUtilsHolder.dbutils0.set(
  new com.databricks.dbutils_v1.DBUtilsV1{
    ...
  }
)

Arabirim yöntemlerini istediğiniz gibi uygulayan kendi örneğinizi kullanın, örneğin için yerel DBUtilsV1 bir dosya sistemi sahtesi dbutils.fs sağlama.

Sınırlamalar

dbutilsYürütücülerin içinde çağrısı beklenmeyen sonuçlar üretebilir. Yürütücüler hakkında daha fazla bilgi için web sitesinin Küme Moduna Apache Spark bakın.