Dokumentacja narzędzi usługi Databricks (dbutils
)
Ten artykuł zawiera informacje dotyczące narzędzi usługi Databricks (dbutils
). dbutils
Narzędzia są dostępne w notesach Python, R i Scala. Za pomocą narzędzi można wykonywać następujące czynności:
- Wydajna praca z plikami i magazynem obiektów.
- Praca z wpisami tajnymi.
Instrukcje: wyświetlanie narzędzi, wyświetlanie pomocy poleceń
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.
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
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 zostanie wyświetlona 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.
To polecenie analizuje pełną zawartość ramki danych. Uruchomienie tego polecenia dla bardzo dużych ramek danych może być bardzo kosztowne.
Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.data.help("summarize")
.
W środowisku Databricks Runtime 10.4 LTS i 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 unikatowych wartości 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ą zawierać błąd do 0,01% względem całkowitej liczby wierszy.
- Gdy
precise
jest ustawiona wartość true, statystyki są obliczane z wyższą precyzją. Wszystkie statystyki z wyjątkiem histogramów i percentyli dla kolumn liczbowych są teraz dokładne.- Histogramy i oszacowania percentylu mogą zawierać błąd 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 wyświetlane są statystyki podsumowania ramki danych platformy Apache Spark z domyślnie włączonymi przybliżeniami. 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 będzie renderowana jako 1.25f
. Jeden wyjątek: wizualizacja używa znaku "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 dbutils.fs.help()
opcji dla dbutils.fs.mount()
języka extraConfigs
w języku Python należy użyć słowa kluczowego 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 systemu plików Co to jest system plików DBFS?, co ułatwia korzystanie z usługi Azure Databricks jako systemu plików.
W notesach można również użyć %fs
polecenia magic, aby uzyskać dostęp do systemu plików DBFS. Na przykład %fs ls /Volumes/main/default/my-volume/
jest taka sama jak dbutils.fs.ls("/Volumes/main/default/my-volume/")
. Zobacz polecenia magiczne.
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 data.csv
z /Volumes/main/default/my-volume/
do new-data.csv
w tym samym woluminie.
Python
dbutils.fs.cp("/Volumes/main/default/my-volume/data.csv", "/Volumes/main/default/my-volume/new-data.csv")
# Out[4]: True
R
dbutils.fs.cp("/Volumes/main/default/my-volume/data.csv", "/Volumes/main/default/my-volume/new-data.csv")
# [1] TRUE
Scala
dbutils.fs.cp("/Volumes/main/default/my-volume/data.csv", "/Volumes/main/default/my-volume/new-data.csv")
// 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 data.csv
znajdującego się w /Volumes/main/default/my-volume/
pliku .
Python
dbutils.fs.head("/Volumes/main/default/my-volume/data.csv", 25)
# [Truncated to first 25 bytes]
# Out[12]: 'Year,First Name,County,Se'
R
dbutils.fs.head("/Volumes/main/default/my-volume/data.csv", 25)
# [1] "Year,First Name,County,Se"
Scala
dbutils.fs.head("/Volumes/main/default/my-volume/data.csv", 25)
// [Truncated to first 25 bytes]
// res4: String =
// "Year,First Name,County,Se"
polecenie ls (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 /Volumes/main/default/my-volume/
. Pole modificationTime
jest dostępne w środowisku Databricks Runtime 10.4 LTS lub nowszym. W języku R modificationTime
jest zwracany jako ciąg.
Python
dbutils.fs.ls("/Volumes/main/default/my-volume/")
# Out[13]: [FileInfo(path='dbfs:/Volumes/main/default/my-volume/data.csv', name='data.csv', size=2258987, modificationTime=1711357839000)]
R
dbutils.fs.ls("/Volumes/main/default/my-volume/")
# For prettier results from dbutils.fs.ls(<dir>), please use `%fs ls <dir>`
# [[1]]
# [[1]]$path
# [1] "/Volumes/main/default/my-volume/data.csv"
# [[1]]$name
# [1] "data.csv"
# [[1]]$size
# [1] 2258987
# [[1]]$isDir
# [1] FALSE
# [[1]]$isFile
# [1] TRUE
# [[1]]$modificationTime
# [1] "1711357839000"
Scala
dbutils.fs.ls("/tmp")
// res6: Seq[com.databricks.backend.daemon.dbutils.FileInfo] = WrappedArray(FileInfo(/Volumes/main/default/my-volume/data.csv, 2258987, 1711357839000))
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 zostanie utworzony katalog my-data
w programie /Volumes/main/default/my-volume/
.
Python
dbutils.fs.mkdirs("/Volumes/main/default/my-volume/my-data")
# Out[15]: True
R
dbutils.fs.mkdirs("/Volumes/main/default/my-volume/my-data")
# [1] TRUE
Scala
dbutils.fs.mkdirs("/Volumes/main/default/my-volume/my-data")
// 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 Nawiązywanie połączenia z usługą Azure Data Lake Storage Gen2 i usługą 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")
.
Ostrzeżenie
Wywołaj dbutils.fs.refreshMounts()
wszystkie inne uruchomione klastry, aby propagować nową instalację. Zobacz polecenie refreshMounts (dbutils.fs.refreshMounts).
Python
dbutils.fs.mounts()
Scala
dbutils.fs.mounts()
Aby uzyskać dodatkowe przykłady kodu, zobacz Nawiązywanie połączenia z usługą Azure Data Lake Storage Gen2 i usługą Blob Storage.
mv , polecenie (dbutils.fs.mv)
Przenosi plik lub katalog, prawdopodobnie w systemach plików. Przeniesienie to kopia, 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 rows.csv
jest przenosiny z /Volumes/main/default/my-volume/
do ./Volumes/main/default/my-volume/my-data/
Python
dbutils.fs.mv("/Volumes/main/default/my-volume/rows.csv", "/Volumes/main/default/my-volume/my-data/")
# Out[2]: True
R
dbutils.fs.mv("/Volumes/main/default/my-volume/rows.csv", "/Volumes/main/default/my-volume/my-data/")
# [1] TRUE
Scala
dbutils.fs.mv("/Volumes/main/default/my-volume/rows.csv", "/Volumes/main/default/my-volume/my-data/")
// res1: Boolean = true
put — polecenie (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.txt
w /Volumes/main/default/my-volume/
pliku . Jeśli plik istnieje, zostanie zastąpiony.
Python
dbutils.fs.put("/Volumes/main/default/my-volume/hello.txt", "Hello, Databricks!", True)
# Wrote 2258987 bytes.
# Out[6]: True
R
dbutils.fs.put("/Volumes/main/default/my-volume/hello.txt", "Hello, Databricks!", TRUE)
# [1] TRUE
Scala
dbutils.fs.put("/Volumes/main/default/my-volume/hello.txt", "Hello, Databricks!", true)
// Wrote 2258987 bytes.
// res2: Boolean = true
refreshMounts — polecenie (dbutils.fs.refreshMounts)
Wymusza odświeżenie pamięci podręcznej instalacji przez wszystkie maszyny w klastrze, zapewniając, że otrzymają 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 dodatkowego, zobacz Connect to Azure Data Lake Storage Gen2 and Blob Storage (Łączenie z usługą Azure Data Lake Storage Gen2 i usługą Blob Storage).
rm — polecenie (dbutils.fs.rm)
Usuwa plik lub katalog i opcjonalnie całą jego zawartość. Jeśli zostanie określony plik, parametr rekurse zostanie zignorowany. Jeśli zostanie określony katalog, wystąpi błąd, jeśli cykl jest wyłączony, a katalog nie jest pusty.
Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("rm")
.
W tym przykładzie usunięto katalog /Volumes/main/default/my-volume/my-data/
, w tym zawartość katalogu.
Python
dbutils.fs.rm("/Volumes/main/default/my-volume/my-data/", True)
# Out[8]: True
R
dbutils.fs.rm("/Volumes/main/default/my-volume/my-data/", TRUE)
# [1] TRUE
Scala
dbutils.fs.rm("/Volumes/main/default/my-volume/my-data/", true)
// res6: Boolean = true
unmount — polecenie (dbutils.fs.unmount)
Usuwa punkt instalacji systemu plików DBFS.
Ostrzeżenie
Aby uniknąć błędów, nigdy nie modyfikuj punktu instalacji, podczas gdy inne zadania odczytują lub zapisują w nim. Po zmodyfikowaniu instalacji zawsze uruchamiaj na dbutils.fs.refreshMounts()
wszystkich innych uruchomionych klastrach, aby propagować wszystkie aktualizacje instalacji. Zobacz polecenie refreshMounts (dbutils.fs.refreshMounts).
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 Nawiązywanie połączenia z usługą Azure Data Lake Storage Gen2 i usługą Blob Storage.
updateMount — polecenie (dbutils.fs.updateMount)
Podobnie jak w przypadku dbutils.fs.mount
polecenia , ale aktualizuje istniejący punkt instalacji zamiast tworzyć nowe. Zwraca błąd, jeśli punkt instalacji nie istnieje.
Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.fs.help("updateMount")
.
Ostrzeżenie
Aby uniknąć błędów, nigdy nie modyfikuj punktu instalacji, podczas gdy inne zadania odczytują lub zapisują w nim. Po zmodyfikowaniu instalacji zawsze uruchamiaj na dbutils.fs.refreshMounts()
wszystkich innych uruchomionych klastrach, aby propagować wszystkie aktualizacje instalacji. Zobacz polecenie refreshMounts (dbutils.fs.refreshMounts).
To polecenie jest dostępne w środowisku Databricks Runtime 10.4 LTS i 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)
Podrzędne narzędzia: taskValues
Uwaga
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)
Uwaga
To podzadanie jest dostępne 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. Można na przykład 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
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")
.
Na 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, które ustawiło wartość zadania. Jeśli polecenie nie może odnaleźć tego zadania, zostanie zgłoszony elementValueError
.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, elementValueError
zostanie zgłoszony (chyba żedefault
zostanie określony).default
jest opcjonalną wartością zwracaną, jeślikey
nie można jej 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 ręcznie uruchomić notes i zwrócić pewną wartość zamiast domyślnie podnieśćTypeError
.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ść . Jeśli debugValue
jednak argument jest określony w poleceniu, wartość debugValue
jest zwracana zamiast podnosić TypeError
wartość .
set — polecenie (dbutils.jobs.taskValues.set)
Uwaga
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")
.
Przykłady obejmują:
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
jest kluczem wartości zadania. Ten klucz musi być unikatowy dla zadania. Oznacza to, że jeśli dwa różne zadania ustawiają wartość zadania z kluczemK
, są to dwie różne wartości zadań, które mają ten sam kluczK
.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 uruchomionego poza zadaniem, to polecenie nie wykonuje żadnych czynności.
Narzędzie biblioteki (dbutils.library)
Większość metod w module podrzędnym dbutils.library
jest przestarzała. Zobacz Narzędzie biblioteki (dbutils.library) (starsza wersja).
Może być konieczne programowe ponowne uruchomienie procesu języka Python w usłudze Azure Databricks, aby upewnić się, że lokalnie zainstalowane lub uaktualnione biblioteki działają poprawnie w jądrze języka Python dla bieżącej usługi SparkSession. W tym celu uruchom polecenie dbutils.library.restartPython
. Zobacz Ponowne uruchamianie procesu języka Python w usłudze Azure Databricks.
Narzędzie notesu (dbutils.notebook)
Polecenia: zamykanie, uruchamianie
Narzędzie notesu umożliwia łączenie notesów i wykonywanie działań na ich podstawie. 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 się 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ą strumieniową 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()
.
run — polecenie (dbutils.notebook.run)
Uruchamia notes i zwraca jego wartość zakończenia. Notes będzie domyślnie uruchamiany 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. Nazwany notes kończy się wierszem kodu dbutils.notebook.exit("Exiting from My Other Notebook")
. Jeśli wywoływany 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 — polecenie (dbutils.secrets.get)
Pobiera ciąg reprezentujący wartość 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 stara się redagować 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 Ponowne redagowanie 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-scope
my-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 reprezentację bajtów 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-scope
my-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: combobox, dropdown, get, getArgument, multiselect, 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
getAll: map -> Retrieves a map of all widget names and their values
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ą, opcjami 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 o nazwie fruits_combobox
programowej . Oferuje on opcje apple
, banana
, coconut
i dragon fruit
i jest ustawiona na początkową wartość banana
. Ten widżet kombi ma dołączącą etykietę Fruits
. Ten przykład kończy się drukowaniem początkowej wartości widżetu kombibox, banana
.
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
SQL
CREATE WIDGET COMBOBOX fruits_combobox DEFAULT "banana" CHOICES SELECT * FROM (VALUES ("apple"), ("banana"), ("coconut"), ("dragon fruit"))
SELECT :fruits_combobox
-- banana
dropdown — polecenie (dbutils.widgets.dropdown)
Tworzy i wyświetla widżet listy rozwijanej z określoną nazwą programową, wartością domyślną, opcjami 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_dropdown
programowej . Oferuje on opcje alphabet blocks
, basketball
, cape
i doll
i jest ustawiona na początkową wartość 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
SQL
CREATE WIDGET DROPDOWN toys_dropdown DEFAULT "basketball" CHOICES SELECT * FROM (VALUES ("alphabet blocks"), ("basketball"), ("cape"), ("doll"))
SELECT :toys_dropdown
-- basketball
get — polecenie (dbutils.widgets.get)
Pobiera bieżącą wartość widżetu z określoną nazwą programową. Ta nazwa programowa może być następująca:
- Nazwa niestandardowego widżetu w notesie, na przykład
fruits_combobox
lubtoys_dropdown
. - Nazwa parametru niestandardowego przekazanego do notesu w ramach zadania notesu, na przykład
name
lubage
. Aby uzyskać więcej informacji, zobacz pokrycie parametrów dla zadań notesu w interfejsie użytkownika zadań lubnotebook_params
pole w operacji 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_combobox
programowej .
Python
dbutils.widgets.get('fruits_combobox')
# banana
R
dbutils.widgets.get('fruits_combobox')
# [1] "banana"
Scala
dbutils.widgets.get("fruits_combobox")
// res6: String = banana
SQL
SELECT :fruits_combobox
-- banana
W tym przykładzie jest pobierana wartość parametru zadania notesu o nazwie age
programowej . 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
SQL
SELECT :age
-- 35
getAll — polecenie (dbutils.widgets.getAll)
Pobiera mapowanie wszystkich bieżących nazw i wartości widżetów. Może to być szczególnie przydatne, aby szybko przekazywać wartości widżetów spark.sql()
do zapytania.
To polecenie jest dostępne w środowisku Databricks Runtime 13.3 LTS lub nowszym. Jest on dostępny tylko dla języków Python i Scala.
Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.widgets.help("getAll")
.
W tym przykładzie jest pobierana mapa wartości widżetu i przekazuje ją jako argumenty parametrów w zapytaniu Spark SQL.
Python
df = spark.sql("SELECT * FROM table where col1 = :param", dbutils.widgets.getAll())
df.show()
# Query output
Scala
val df = spark.sql("SELECT * FROM table where col1 = :param", dbutils.widgets.getAll())
df.show()
// res6: Query output
getArgument — polecenie (dbutils.widgets.getArgument)
Pobiera bieżącą wartość widżetu z określoną nazwą programową. 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_combobox
programowej . 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
polecenie multiselect (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 o nazwie days_multiselect
programowej . Oferuje on opcje wyboru Monday
za pomocą Sunday
parametru i jest ustawiony na początkową wartość 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
SQL
CREATE WIDGET MULTISELECT days_multiselect DEFAULT "Tuesday" CHOICES SELECT * FROM (VALUES ("Monday"), ("Tuesday"), ("Wednesday"), ("Thursday"), ("Friday"), ("Saturday"), ("Sunday"))
SELECT :days_multiselect
-- Tuesday
remove — polecenie (dbutils.widgets.remove)
Usuwa widżet z określoną nazwą programową.
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żesz dodać kolejnego polecenia w celu utworzenia widżetu w tej samej komórce. Widżet należy utworzyć w innej komórce.
W tym przykładzie widżet zostanie usunięty z nazwą fruits_combobox
programową .
Python
dbutils.widgets.remove('fruits_combobox')
R
dbutils.widgets.remove('fruits_combobox')
Scala
dbutils.widgets.remove("fruits_combobox")
SQL
REMOVE WIDGET 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 — polecenie (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_text
programowej . Jest ona ustawiona na początkową wartość Enter your name
. Ten widżet tekstu ma etykietę towarzyszącą 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
SQL
CREATE WIDGET TEXT your_name_text DEFAULT "Enter your name"
SELECT :your_name_text
-- Enter your name
Biblioteka interfejsu API narzędzi usługi Databricks
Ważne
Biblioteka interfejsu API () narzędzi usługi Databricks (dbutils-api
) jest przestarzała. Mimo że ta biblioteka jest nadal dostępna, usługa Databricks nie planuje nowej funkcji dla dbutils-api
biblioteki.
Usługa Databricks zaleca użycie jednej z następujących bibliotek:
Aby przyspieszyć tworzenie aplikacji, warto kompilować, kompilować i testować aplikacje przed ich wdrożeniem jako zadania produkcyjne. Aby umożliwić kompilowanie na platformie Databricks Utilities, usługa Databricks udostępnia bibliotekę dbutils-api
. Bibliotekę dbutils-api
można pobrać ze strony internetowej interfejsu API 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
odpowiednią wersją (na przykład 0.0.5
). Aby uzyskać listę dostępnych obiektów docelowych i wersji, zobacz stronę internetową interfejsu API 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ą dbutils
polecenia , ale nie uruchamiać jej. Aby uruchomić aplikację, należy ją wdrożyć w usłudze Azure Databricks.
Ograniczenia
Wywołanie 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:
- W przypadku operacji kopiowania lub przenoszenia plików można sprawdzić szybszą opcję uruchamiania operacji systemu plików opisanych w temacie Równoległe operacje systemu plików.
- W przypadku operacji listy i usuwania systemu plików można zapoznać się z równoległymi metodami list i usuwania, korzystając z platformy Spark, w temacie Jak szybciej wyświetlać i usuwać pliki w usłudze Databricks.
Aby uzyskać informacje o funkcjach wykonawczych, zobacz Omówienie trybu klastra w witrynie internetowej platformy Apache Spark.