Narzędzia usługi Databricks

Narzędzia usługi Databricks (dbutils) ułatwiają wykonywanie zaawansowanych kombinacji zadań. Narzędzia umożliwiają wydajną pracę z magazynem obiektów, łączenie i parametryzowanie notesów oraz praca z wpisami tajnymi. dbutils nie są obsługiwane poza notesami.

Ważne

Wywoływanie dbutils wewnątrz funkcji wykonawczych może spowodować nieoczekiwane wyniki. Aby dowiedzieć się więcej o ograniczeniach dbutils i alternatywach, których można użyć zamiast tego, zobacz Ograniczenia.

dbutils Narzędzia są dostępne w notesach Python, R i Scala.

Instrukcje: wyświetlanie listy narzędzi, wyświetlaniepoleceń

Narzędzia: dane, fs, jobs, library, notebook, secrets, widgets, Utilities API library

Lista dostępnych narzędzi

Aby wyświetlić listę dostępnych narzędzi wraz z krótkim opisem dla każdego narzędzia, uruchom polecenie dbutils.help() dla języka Python lub Języka Scala.

W tym przykładzie wymieniono dostępne polecenia dla narzędzi usługi Databricks.

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
jobs: JobsUtils -> Utilities for leveraging jobs features
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

Wyświetlanie listy dostępnych poleceń dla narzędzia

Aby wyświetlić listę dostępnych poleceń dla narzędzia wraz z krótkim opisem każdego polecenia, uruchom polecenie .help() po nazwie programowej narzędzia.

W tym przykładzie wymieniono dostępne polecenia dla narzędzia systemu plików usługi Databricks (DBFS).

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

Wyświetlanie pomocy dotyczącej polecenia

Aby wyświetlić pomoc dotyczącą polecenia, uruchom polecenie .help("<command-name>") po nazwie polecenia.

W tym przykładzie jest wyświetlana pomoc dotycząca polecenia kopiowania DBFS.

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

Narzędzie danych (dbutils.data)

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Uwaga

Dostępne w środowisku Databricks Runtime 9.0 lub nowszym.

Polecenia: summarize

Narzędzie do obsługi danych umożliwia zrozumienie i interpretowanie zestawów danych. Aby wyświetlić listę dostępnych poleceń, uruchom polecenie 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 — polecenie (dbutils.data.summarize)

Oblicza i wyświetla podsumowanie statystyk ramki danych platformy Apache Spark lub ramki danych pandas. To polecenie jest dostępne dla języków Python, Scala i R.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.data.help("summarize").

W środowisku Databricks Runtime 10.1 lub nowszym można użyć dodatkowego precise parametru, aby dostosować dokładność obliczonych statystyk.

Uwaga

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

  • Gdy precise jest ustawiona wartość false (wartość domyślna), niektóre zwrócone statystyki obejmują przybliżenia w celu skrócenia czasu wykonywania.
    • Liczba odrębnych wartości dla kolumn kategorii może mieć błąd względny ok. 5% dla kolumn o wysokiej kardynalności.
    • Częste liczby wartości mogą mieć błąd do 0,01%, gdy liczba unikatowych wartości jest większa niż 10000.
    • Histogramy i oszacowania percentylu mogą mieć błąd wynoszący do 0,01% względem całkowitej liczby wierszy.
  • Gdy precise jest ustawiona wartość true, statystyki są obliczane z wyższą dokładnością. Wszystkie statystyki z wyjątkiem histogramów i percentyli dla kolumn liczbowych są teraz dokładne.
    • Histogramy i oszacowania percentylu mogą mieć błąd wynoszący do 0,0001% względem całkowitej liczby wierszy.

Etykietka narzędzia w górnej części danych wyjściowych podsumowania danych wskazuje tryb bieżącego uruchomienia.

W tym przykładzie przedstawiono podsumowanie statystyk dla ramki danych platformy Apache Spark z przybliżeniami włączonymi domyślnie. Aby wyświetlić wyniki, uruchom to polecenie w notesie. Ten przykład jest oparty na przykładowych zestawach danych.

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)

Należy pamiętać, że wizualizacja używa notacji SI do zwięzłego renderowania wartości liczbowych mniejszych niż 0,01 lub większych niż 10000. Na przykład wartość 1.25e-15 liczbowa zostanie wyrenderowana jako 1.25f. Jeden wyjątek: wizualizacja używa wartości "B" dla 1.0e9 (giga) zamiast "G".

Narzędzie systemu plików (dbutils.fs)

Ostrzeżenie

Implementacja języka Python wszystkich dbutils.fs metod używa snake_case zamiast camelCase formatowania słów kluczowych.

Na przykład: podczas wyświetlania dbuitls.fs.help() opcji dla dbutils.fs.mount()elementu extraConfigs w języku Python należy użyć klucza extra_configs.

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

Narzędzie systemu plików umożliwia dostęp do usługi What is the Databricks File System (DBFS)?, co ułatwia korzystanie z usługi Azure Databricks jako systemu plików. Aby wyświetlić listę dostępnych poleceń, uruchom polecenie 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 polecenie (dbutils.fs.cp)

Kopiuje plik lub katalog, prawdopodobnie w systemach plików.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("cp").

Ten przykład kopiuje plik o nazwie old_file.txt z /FileStore na /tmp/new, zmieniając nazwę skopiowanego pliku na 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 command (dbutils.fs.head)

Zwraca maksymalną liczbę bajtów określonego pliku. Bajty są zwracane jako ciąg zakodowany w formacie UTF-8.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("head").

W tym przykładzie jest wyświetlanych pierwszych 25 bajtów pliku my_file.txt znajdującego się w /tmppliku .

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 polecenie (dbutils.fs.ls)

Wyświetla zawartość katalogu.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("ls").

W tym przykładzie są wyświetlane informacje o zawartości elementu /tmp. Pole modificationTime jest dostępne w środowisku Databricks Runtime 10.2 lub nowszym. W języku R modificationTime element jest zwracany jako ciąg.

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 — polecenie (dbutils.fs.mkdirs)

Tworzy dany katalog, jeśli nie istnieje. Tworzy również wszelkie niezbędne katalogi nadrzędne.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("mkdirs").

W tym przykładzie tworzona jest struktura /parent/child/grandchild katalogów w programie /tmp.

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 command (dbutils.fs.mount)

Instaluje określony katalog źródłowy w systemie plików DBFS w określonym punkcie instalacji.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie 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>")))

Aby uzyskać dodatkowe przykłady kodu, zobacz Access Azure Data Lake Storage Gen2 i Blob Storage.

polecenie mounts (dbutils.fs.mounts)

Wyświetla informacje o tym, co jest obecnie zainstalowane w systemie plików DBFS.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("mounts").

Python

dbutils.fs.mounts()

Scala

dbutils.fs.mounts()

Aby uzyskać dodatkowe przykłady kodu, zobacz Access Azure Data Lake Storage Gen2 i Blob Storage.

mv polecenia (dbutils.fs.mv)

Przenosi plik lub katalog, prawdopodobnie w systemach plików. Przeniesienie jest kopią, po której następuje usunięcie, nawet w przypadku przenoszenia w systemach plików.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("mv").

W tym przykładzie plik my_file.txt zostanie przeniesiony z /FileStore do /tmp/parent/child/granchild.

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 polecenia (dbutils.fs.put)

Zapisuje określony ciąg w pliku. Ciąg jest zakodowany w formacie UTF-8.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("put").

W tym przykładzie ciąg Hello, Databricks! jest zapisywany w pliku o nazwie hello_db.txt w /tmppliku . Jeśli plik istnieje, zostanie zastąpiony.

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 — polecenie (dbutils.fs.refreshMounts)

Wymusza, aby wszystkie maszyny w klastrze odświeżyły pamięć podręczną instalacji, zapewniając, że otrzymują najnowsze informacje.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("refreshMounts").

Python

dbutils.fs.refreshMounts()

Scala

dbutils.fs.refreshMounts()

Aby zapoznać się z przykładami kodu dodawania, zobacz Access Azure Data Lake Storage Gen2 i Blob Storage.

polecenie rm (dbutils.fs.rm)

Usuwa plik lub katalog.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("rm").

Ten przykład usuwa plik o nazwie hello_db.txt w /tmppliku .

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

unmount command (dbutils.fs.unmount)

Usuwa punkt instalacji systemu plików DBFS.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("unmount").

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

Aby uzyskać dodatkowe przykłady kodu, zobacz Access Azure Data Lake Storage Gen2 i Blob Storage.

updateMount — polecenie (dbutils.fs.updateMount)

Podobnie jak w przypadku dbutils.fs.mount polecenia , ale aktualizuje istniejący punkt instalacji zamiast tworzenia nowego. Zwraca błąd, jeśli punkt instalacji nie jest obecny.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("updateMount").

To polecenie jest dostępne w środowisku Databricks Runtime 10.2 lub nowszym.

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

Narzędzie zadań (dbutils.jobs)

Subutilities: taskValues

Uwaga

Dostępne w środowisku Databricks Runtime 7.3 lub nowszym.

To narzędzie jest dostępne tylko dla języka Python.

Narzędzie zadań umożliwia korzystanie z funkcji zadań. Aby wyświetlić pomoc dotyczącą tego narzędzia, uruchom polecenie dbutils.jobs.help().

Provides utilities for leveraging jobs features.

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

podrzędność taskValues (dbutils.jobs.taskValues)

Polecenia: get, set

Uwaga

Dostępne w środowisku Databricks Runtime 7.3 lub nowszym.

Ta podrzędność jest dostępna tylko dla języka Python.

Udostępnia polecenia służące do korzystania z wartości zadań zadania.

To narzędzie podrzędne służy do ustawiania i pobierania dowolnych wartości podczas uruchamiania zadania. Te wartości są nazywane wartościami zadań. Możesz uzyskać dostęp do wartości zadań podrzędnych w tym samym uruchomieniu zadania. Na przykład można komunikować identyfikatory lub metryki, takie jak informacje o ocenie modelu uczenia maszynowego, między różnymi zadaniami w ramach przebiegu zadania. Każde zadanie może ustawić wiele wartości zadań, pobrać je lub oba te wartości. Każda wartość zadania ma unikatowy klucz w ramach tego samego zadania. Ten unikatowy klucz jest nazywany kluczem wartości zadania. Dostęp do wartości zadania jest uzyskiwany przy użyciu nazwy zadania i klucza wartości zadania.

Aby wyświetlić pomoc dotyczącą tego podzadania, uruchom polecenie dbutils.jobs.taskValues.help().

get command (dbutils.jobs.taskValues.get)

Uwaga

Dostępne w środowisku Databricks Runtime 7.3 lub nowszym.

To polecenie jest dostępne tylko dla języka Python.

W środowisku Databricks Runtime 10.4 lub starszym, jeśli get nie można odnaleźć zadania, zostanie zgłoszony błąd Py4JavaError zamiast ValueError.

Pobiera zawartość określonej wartości zadania dla określonego zadania w bieżącym uruchomieniu zadania.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.jobs.taskValues.help("get").

Przykład:

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

W powyższym przykładzie:

  • taskKey to nazwa zadania w ramach zadania. Jeśli polecenie nie może odnaleźć tego zadania, ValueError zostanie podniesione polecenie .
  • key to nazwa klucza wartości zadania ustawionego za pomocą polecenia set (dbutils.jobs.taskValues.set). Jeśli polecenie nie może odnaleźć klucza tej wartości zadania, ValueError zostanie podniesiona wartość (chyba że default zostanie określona).
  • default jest opcjonalną wartością zwracaną, jeśli key nie można odnaleźć. default nie może być None.
  • debugValue jest opcjonalną wartością zwracaną w przypadku próby pobrania wartości zadania z poziomu notesu uruchomionego poza zadaniem. Może to być przydatne podczas debugowania, gdy chcesz uruchomić notes ręcznie i zwrócić pewną wartość zamiast domyślnie podnieść TypeError wartość. debugValue nie może być None.

Jeśli spróbujesz uzyskać wartość zadania z poziomu notesu uruchomionego poza zadaniem, to polecenie domyślnie TypeError zgłasza wartość. debugValue Jeśli jednak argument jest określony w poleceniu, wartość debugValue jest zwracana zamiast podnieść TypeErrorwartość .

set — polecenie (dbutils.jobs.taskValues.set)

Uwaga

Dostępne w środowisku Databricks Runtime 7.3 lub nowszym.

To polecenie jest dostępne tylko dla języka Python.

Ustawia lub aktualizuje wartość zadania. Dla uruchomienia zadania można skonfigurować maksymalnie 250 wartości zadań.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.jobs.taskValues.help("set").

Oto niektóre przykłady:

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

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

W poprzednich przykładach:

  • key to nazwa klucza tej wartości zadania. Ta nazwa musi być unikatowa dla zadania.
  • value jest wartością klucza tej wartości zadania. To polecenie musi być w stanie reprezentować wartość wewnętrznie w formacie JSON. Rozmiar reprezentacji JSON wartości nie może przekraczać 48 KiB.

Jeśli spróbujesz ustawić wartość zadania z poziomu notesu, który jest uruchomiony poza zadaniem, to polecenie nie wykonuje niczego.

Narzędzie biblioteki (dbutils.library)

Uwaga

Narzędzie biblioteki jest przestarzałe.

Polecenia: install,installPyPI, list, restartPython, updateCondaEnv

Narzędzie biblioteki umożliwia zainstalowanie bibliotek języka Python i utworzenie środowiska ograniczonego do sesji notesu. Biblioteki są dostępne zarówno na sterowniku, jak i na funkcjach wykonawczych, dzięki czemu można odwoływać się do nich w funkcjach zdefiniowanych przez użytkownika. Umożliwia to:

  • Zależności biblioteki notesu, które mają być zorganizowane w samym notesie.
  • Użytkownicy notesu z różnymi zależnościami biblioteki, aby udostępnić klaster bez zakłóceń.

Odłączanie notesu niszczy to środowisko. Można go jednak odtworzyć, uruchamiając ponownie polecenia interfejsu API biblioteki install w notesie. Zobacz interfejs API, restartPython aby dowiedzieć się, jak zresetować stan notesu bez utraty środowiska.

Ważne

Narzędzia biblioteki nie są dostępne w środowisku Databricks Runtime ML lub Databricks Runtime for Genomics. Zamiast tego zobacz Biblioteki języka Python o zakresie notesu.

W przypadku środowiska Databricks Runtime 7.2 lub nowszego usługa Databricks zaleca używanie %pip poleceń magicznych do instalowania bibliotek o zakresie notesu. Zobacz Biblioteki języka Python o zakresie notesu.

Narzędzia biblioteki są domyślnie włączone. Dlatego domyślnie środowisko języka Python dla każdego notesu jest izolowane przy użyciu oddzielnego pliku wykonywalnego języka Python tworzonego podczas dołączania notesu i dziedziczy domyślne środowisko języka Python w klastrze. Biblioteki zainstalowane za pomocą skryptu inicjowania w środowisku języka Python usługi Azure Databricks są nadal dostępne. Tę funkcję można wyłączyć, ustawiając wartość spark.databricks.libraryIsolation.enabledfalse.

Ten interfejs API jest zgodny z istniejącą instalacją biblioteki w całym klastrze za pośrednictwem interfejsu użytkownika i interfejsu API REST. Biblioteki zainstalowane za pośrednictwem tego interfejsu API mają wyższy priorytet niż biblioteki w całym klastrze.

Aby wyświetlić listę dostępnych poleceń, uruchom polecenie 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 — polecenie (dbutils.library.install)

Mając ścieżkę do biblioteki, instaluje ją w bieżącej sesji notesu. Biblioteki zainstalowane przez wywołanie tego polecenia są dostępne tylko dla bieżącego notesu.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("install").

W tym przykładzie jest instalowana .egg biblioteka lub .whl w notesie.

Ważne

dbutils.library.install Jest usuwany w środowisku Databricks Runtime 11.0 lub nowszym.

Usługa Databricks zaleca umieszczenie wszystkich poleceń instalacji biblioteki w pierwszej komórce notesu i wywołanie restartPython na końcu tej komórki. Stan notesu języka Python jest resetowany po uruchomieniu restartPython; notes traci wszystkie stany, w tym zmienne lokalne, zaimportowane biblioteki i inne stany efemeryczne. Dlatego zalecamy zainstalowanie bibliotek i zresetowanie stanu notesu w pierwszej komórce notesu.

Zaakceptowane źródła bibliotek to dbfs, abfss, adli 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.

Uwaga

Pliki kół niestandardowych można zainstalować bezpośrednio przy użyciu polecenia %pip. W poniższym przykładzie zakładamy, że przekazano plik koła biblioteki do systemu plików DBFS:

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

Pliki jaj nie są obsługiwane przez narzędzie pip, a narzędzie wheel jest uznawane za standard kompilacji i pakowania binarnego dla języka Python. Aby uzyskać więcej informacji, zobacz Wheel vs Egg . Jeśli jednak chcesz użyć pliku jaj w sposób zgodny z usługą %pip, możesz użyć następującego obejścia:

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

installPyPI — polecenie (dbutils.library.installPyPI)

Biorąc pod uwagę pakiet PyPI (Python Package Index), zainstaluj ten pakiet w bieżącej sesji notesu. Biblioteki instalowane przez wywołanie tego polecenia są izolowane między notesami.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("installPyPI").

W tym przykładzie pakiet PyPI jest instalowany w notesie. version, repoi extras są opcjonalne. Użyj argumentu extras , aby określić funkcję Dodatki (dodatkowe wymagania).

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.

Ważne

dbutils.library.installPyPI Jest usuwany w środowisku Databricks Runtime 11.0 lub nowszym.

Klucze version i extras nie mogą być częścią ciągu pakietu PyPI. Na przykład: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") jest nieprawidłowy. version Użyj argumentów i extras , aby określić wersję i dodatkowe informacje w następujący sposób:

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.

Uwaga

Podczas zastępowania dbutils.library.installPyPI poleceń polecenia %pip interpreter języka Python jest automatycznie uruchamiany ponownie. Możesz uruchomić polecenie instalacji w następujący sposób:

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

W tym przykładzie określono wymagania dotyczące biblioteki w jednym notesie i instaluje je przy użyciu %run w drugim. W tym celu najpierw zdefiniuj biblioteki do zainstalowania w notesie. W tym przykładzie użyto notesu o nazwie 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.

Następnie zainstaluj je w notesie, który wymaga tych zależności.

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

W tym przykładzie stan notesu języka Python jest resetowany przy zachowaniu środowiska. Ta technika jest dostępna tylko w notesach języka Python. Możesz na przykład użyć tej techniki, aby ponownie załadować biblioteki usługi Azure Databricks wstępnie zainstalowane z inną wersją:

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

Możesz również użyć tej techniki, aby zainstalować biblioteki, takie jak tensorflow, które należy załadować podczas uruchamiania procesu:

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

list — polecenie (dbutils.library.list)

Wyświetla listę izolowanych bibliotek dodanych do bieżącej sesji notesu za pośrednictwem narzędzia biblioteki. Nie obejmuje to bibliotek dołączonych do klastra.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("list").

W tym przykładzie wymieniono biblioteki zainstalowane w notesie.

dbutils.library.list()

Uwaga

Odpowiednikiem tego polecenia jest %pip :

%pip freeze

restartPython — polecenie (dbutils.library.restartPython)

Uruchamia ponownie proces języka Python dla bieżącej sesji notesu.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("restartPython").

Ten przykład powoduje ponowne uruchomienie procesu języka Python dla bieżącej sesji notesu.

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

updateCondaEnv — polecenie (dbutils.library.updateCondaEnv)

Aktualizacje środowisko Conda bieżącego notesu na podstawie zawartości .environment.yml Ta metoda jest obsługiwana tylko w przypadku środowiska Databricks Runtime w środowisku Conda.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("updateCondaEnv").

W tym przykładzie zaktualizowano środowisko Conda bieżącego notesu na podstawie zawartości podanej specyfikacji.

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

Narzędzie notesu (dbutils.notebook)

Polecenia: exit, run

Narzędzie notesu umożliwia łączenie notesów i wykonywanie działań na ich wynikach. Zobacz Uruchamianie notesu usługi Databricks z innego notesu.

Aby wyświetlić listę dostępnych poleceń, uruchom polecenie 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 — polecenie (dbutils.notebook.exit)

Zamyka notes z wartością.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.notebook.help("exit").

W tym przykładzie notes kończy działanie z wartością 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

Uwaga

Jeśli uruchomienie ma zapytanie ze strukturą przesyłania strumieniowego uruchomioną w tle, wywołanie dbutils.notebook.exit() nie kończy przebiegu. Uruchomienie będzie kontynuowane tak długo, jak zapytanie jest wykonywane w tle. Zapytanie uruchomione w tle można zatrzymać, klikając przycisk Anuluj w komórce zapytania lub uruchamiając polecenie query.stop(). Po zatrzymaniu zapytania można zakończyć przebieg za pomocą polecenia dbutils.notebook.exit().

uruchom polecenie (dbutils.notebook.run)

Uruchamia notes i zwraca jego wartość zakończenia. Notes zostanie domyślnie uruchomiony w bieżącym klastrze.

Uwaga

Maksymalna długość wartości ciągu zwróconej z run polecenia wynosi 5 MB. Zobacz Pobieranie danych wyjściowych dla pojedynczego przebiegu (GET /jobs/runs/get-output).

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.notebook.help("run").

W tym przykładzie jest uruchamiany notes o nazwie My Other Notebook w tej samej lokalizacji co notes wywołujący. Wywoływany notes kończy się wierszem kodu dbutils.notebook.exit("Exiting from My Other Notebook"). Jeśli wywołany notes nie zakończy działania w ciągu 60 sekund, zostanie zgłoszony wyjątek.

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

Narzędzie Secrets (dbutils.secrets)

Polecenia: get, getBytes, list, listScopes

Narzędzie wpisy tajne umożliwia przechowywanie poufnych informacji o poświadczeniach i uzyskiwanie do nich dostępu bez ich widoczności w notesach. Zobacz Zarządzanie wpisami tajnymi i Używanie wpisów tajnych w notesie. Aby wyświetlić listę dostępnych poleceń, uruchom polecenie 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 command (dbutils.secrets.get)

Pobiera reprezentację ciągu wartości wpisu tajnego dla określonego zakresu i klucza wpisów tajnych.

Ostrzeżenie

Administratorzy, twórcy wpisów tajnych i użytkownicy, którym udzielono uprawnień , mogą odczytywać wpisy tajne usługi Azure Databricks. Chociaż usługa Azure Databricks podejmuje wysiłek w celu zredagowania wartości wpisów tajnych, które mogą być wyświetlane w notesach, nie można uniemożliwić takim użytkownikom odczytywania wpisów tajnych. Aby uzyskać więcej informacji, zobacz Redaction Secret (Ponowne wdrażanie wpisów tajnych).

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.secrets.help("get").

W tym przykładzie jest pobierana reprezentacja ciągu wartości wpisu tajnego dla zakresu o nazwie i klucza o nazwie my-scopemy-key.

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 — polecenie (dbutils.secrets.getBytes)

Pobiera bajty reprezentacji wartości wpisu tajnego dla określonego zakresu i klucza.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.secrets.help("getBytes").

W tym przykładzie jest pobierana reprezentacja bajtów wartości wpisu tajnego (w tym przykładzie a1!b2@c3#) dla zakresu o nazwie i klucza o nazwie my-scopemy-key.

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 — polecenie (dbutils.secrets.list)

Wyświetla metadane dla wpisów tajnych w określonym zakresie.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.secrets.help("list").

W tym przykładzie wymieniono metadane dla wpisów tajnych w zakresie o nazwie my-scope.

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 — polecenie (dbutils.secrets.listScopes)

Wyświetla listę dostępnych zakresów.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.secrets.help("listScopes").

W tym przykładzie wymieniono dostępne zakresy.

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

Narzędzie widgets (dbutils.widgets)

Polecenia: kombi,lista rozwijana, get, get, getArgument, multiselect, remove, remove, removeAll, text

Narzędzie widgets umożliwia sparametryzowanie notesów. Zobacz Widżety usługi Databricks.

Aby wyświetlić listę dostępnych poleceń, uruchom polecenie 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 polecenie (dbutils.widgets.combobox)

Tworzy i wyświetla widżet pola kombi z określoną nazwą programową, wartością domyślną, wyborami i opcjonalną etykietą.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("combobox").

W tym przykładzie zostanie utworzony i wyświetlony widżet pola kombi z nazwą fruits_comboboxprogramową . Oferuje opcje apple, banana, coconuti dragon fruit jest ustawione na wartość początkową .banana Ten widżet kombi ma dołączącą etykietę Fruits. Ten przykład kończy się drukowaniem początkowej wartości widżetu bananakombi, .

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

polecenie listy rozwijanej (dbutils.widgets.dropdown)

Tworzy i wyświetla widżet listy rozwijanej z określoną nazwą programową, wartością domyślną, wyborami i opcjonalną etykietą.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("dropdown").

W tym przykładzie zostanie utworzony i wyświetlony widżet listy rozwijanej o nazwie toys_dropdownprogramowej . Oferuje opcje alphabet blocks, basketball, capei doll jest ustawione na wartość początkową .basketball Ten widżet listy rozwijanej ma etykietę towarzyszącą Toys. Ten przykład kończy się drukowaniem początkowej wartości widżetu listy rozwijanej . 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 command (dbutils.widgets.get)

Pobiera bieżącą wartość widżetu o określonej nazwie programowej. Ta nazwa programowa może być następująca:

  • Nazwa widżetu niestandardowego w notesie, na przykład fruits_combobox lub toys_dropdown.
  • Nazwa parametru niestandardowego przekazanego do notesu w ramach zadania notesu, na przykład name lub age. Aby uzyskać więcej informacji, zobacz pokrycie parametrów dla zadań notesu w interfejsie użytkownika tworzenia zadania lub notebook_params w polu Wyzwalanie nowego uruchomienia zadania (POST /jobs/run-now) w interfejsie API zadań.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("get").

W tym przykładzie jest pobierana wartość widżetu o nazwie fruits_comboboxprogramowej .

Python

dbutils.widgets.get('fruits_combobox')

# banana

R

dbutils.widgets.get('fruits_combobox')

# [1] "banana"

Scala

dbutils.widgets.get("fruits_combobox")

// res6: String = banana

W tym przykładzie jest pobierana wartość parametru zadania notesu, który ma nazwę ageprogramową . Ten parametr został ustawiony na 35 czas uruchomienia powiązanego zadania notesu.

Python

dbutils.widgets.get('age')

# 35

R

dbutils.widgets.get('age')

# [1] "35"

Scala

dbutils.widgets.get("age")

// res6: String = 35

getArgument — polecenie (dbutils.widgets.getArgument)

Pobiera bieżącą wartość widżetu o określonej nazwie programowej. Jeśli widżet nie istnieje, można zwrócić opcjonalny komunikat.

Uwaga

To polecenie jest przestarzałe. Zamiast tego użyj polecenia dbutils.widgets.get .

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("getArgument").

W tym przykładzie jest pobierana wartość widżetu o nazwie fruits_comboboxprogramowej . Jeśli ten widżet nie istnieje, zostanie zwrócony komunikat Error: Cannot find fruits combobox .

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 — polecenie (dbutils.widgets.multiselect)

Tworzy i wyświetla widżet wielokrotnego wyboru z określoną nazwą programową, wartością domyślną, wyborami i opcjonalną etykietą.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("multiselect").

W tym przykładzie zostanie utworzony i wyświetlony widżet wielokrotnego wyboru z nazwą days_multiselectprogramową . Oferuje on opcje wyboru Monday za pomocą Sunday elementu i jest ustawiony na wartość początkową .Tuesday Ten widżet wielokrotnego wyboru ma etykietę towarzyszącą Days of the Week. Ten przykład kończy się drukowaniem początkowej wartości widżetu wielokrotnego wyboru. Tuesday

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 command (dbutils.widgets.remove)

Usuwa widżet o określonej nazwie programowej.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("remove").

Ważne

Jeśli dodasz polecenie w celu usunięcia widżetu, nie można dodać kolejnego polecenia w celu utworzenia widżetu w tej samej komórce. Musisz utworzyć widżet w innej komórce.

W tym przykładzie usunięto widżet o nazwie fruits_comboboxprogramowej .

Python

dbutils.widgets.remove('fruits_combobox')

R

dbutils.widgets.remove('fruits_combobox')

Scala

dbutils.widgets.remove("fruits_combobox")

removeAll — polecenie (dbutils.widgets.removeAll)

Usuwa wszystkie widżety z notesu.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("removeAll").

Ważne

Jeśli dodasz polecenie w celu usunięcia wszystkich widżetów, nie można dodać kolejnego polecenia w celu utworzenia żadnych widżetów w tej samej komórce. Musisz utworzyć widżety w innej komórce.

Ten przykład usuwa wszystkie widżety z notesu.

Python

dbutils.widgets.removeAll()

R

dbutils.widgets.removeAll()

Scala

dbutils.widgets.removeAll()

text command (dbutils.widgets.text)

Tworzy i wyświetla widżet tekstowy z określoną nazwą programową, wartością domyślną i opcjonalną etykietą.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("text").

W tym przykładzie zostanie utworzony i wyświetlony widżet tekstowy o nazwie your_name_textprogramowej . Jest ona ustawiona na wartość początkową .Enter your name Ten widżet tekstowy ma dołączącą etykietę Your name. Ten przykład kończy się drukowaniem początkowej wartości widżetu tekstowego . Enter your name

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

Biblioteka interfejsu API narzędzi usługi Databricks

Aby przyspieszyć tworzenie aplikacji, warto kompilować, kompilować i testować aplikacje przed ich wdrożeniem jako zadania produkcyjne. Aby umożliwić kompilowanie w usłudze Databricks Utilities, usługa Databricks udostępnia bibliotekę dbutils-api . Bibliotekę dbutils-api można pobrać ze strony internetowej interfejsu API narzędzia DBUtils w witrynie internetowej repozytorium Maven lub dołączyć bibliotekę, dodając zależność do pliku kompilacji:

  • 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'
    

Zastąp TARGET żądany element docelowy (na przykład 2.12) i VERSION żądaną wersją (na przykład 0.0.5). Aby uzyskać listę dostępnych obiektów docelowych i wersji, zobacz stronę internetową interfejsu API NARZĘDZIA DBUtils w witrynie internetowej repozytorium Maven.

Po skompiluj aplikację dla tej biblioteki, możesz wdrożyć aplikację.

Ważne

Biblioteka dbutils-api pozwala lokalnie skompilować aplikację używającą metody dbutils, ale nie uruchamiać jej. Aby uruchomić aplikację, musisz wdrożyć ją w usłudze Azure Databricks.

Ograniczenia

Wywoływanie dbutils wewnątrz funkcji wykonawczej może spowodować nieoczekiwane wyniki lub potencjalnie spowodować błędy.

Jeśli musisz uruchomić operacje systemu plików na funkcjach wykonawczych przy użyciu programu dbutils, dostępnych jest kilka szybszych i bardziej skalowalnych alternatyw:

Aby uzyskać informacje o funkcjach wykonawczych, zobacz Omówienie trybu klastra w witrynie internetowej platformy Apache Spark.