Naslaginformatie over Databricks Utilities (dbutils
)
Dit artikel bevat naslaginformatie voor Databricks Utilities (dbutils
). De hulpprogramma's bieden opdrachten waarmee u vanuit notebooks met uw Databricks-omgeving kunt werken. U kunt bijvoorbeeld bestanden en objectopslag beheren en werken met geheimen.
dbutils
zijn beschikbaar in Python, R en Scala-notebooks.
Notitie
dbutils
ondersteunt alleen rekenomgevingen die DBFS gebruiken.
Utility modules
De volgende tabel bevat de Databricks Utilities-modules die u kunt ophalen met behulp van dbutils.help()
.
Module | Beschrijving |
---|---|
gegevens | Hulpprogramma's voor het begrijpen en communiceren met gegevenssets (EXPERIMENTEEL) |
fs | Hulpprogramma's voor toegang tot het Databricks-bestandssysteem (DBFS) |
banen | Hulpprogramma's voor het gebruik van functiefuncties |
bibliotheek | Verouderd. Hulpprogramma's voor het beheren van bibliotheken met sessiebereik |
notitieblok | Hulpprogramma's voor het beheren van de controlestroom van notebooks (EXPERIMENTEEL) |
geheimen | Hulpmiddelen voor het beheren van geheimen in notebooks |
widgets | Hulpprogramma's voor het parameteriseren van notebooks. |
api | Hulpprogramma's voor het beheer van applicatiebuilds |
Opdracht help
Als u opdrachten voor een hulpprogrammamodule wilt weergeven, samen met een korte beschrijving van elke opdracht, voegt u .help()
toe achter de naam van de hulpprogrammamodule. In het volgende voorbeeld ziet u de beschikbare opdrachten voor het notebookhulpprogramma:
dbutils.notebook.help()
The notebook module.
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
Om hulp voor een commando weer te geven, voert u dbutils.<utility-name>.help("<command-name>")
uit. In het volgende voorbeeld ziet u help voor de opdracht voor het kopiëren van bestandssysteemprogramma's, dbutils.fs.cp
:
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
Hulpprogramma voor gegevens (dbutils.data)
Belangrijk
Deze functie is beschikbaar als openbare preview.
Notitie
Beschikbaar in Databricks Runtime 9.0 en hoger.
Met het gegevenshulpprogramma kunt u gegevenssets begrijpen en gebruiken.
De volgende tabel bevat de beschikbare opdrachten voor dit hulpprogramma, die u kunt ophalen met behulp van dbutils.data.help()
.
Bevelen | Beschrijving |
---|---|
samenvatten | Een Spark DataFrame samenvatten en de statistieken visualiseren om snelle inzichten te krijgen |
opdracht summarize (dbutils.data.summarize)
Notitie
Deze functie is beschikbaar als openbare preview.
summarize(df: Object, precise: boolean): void
Hiermee worden samenvattingsstatistieken van een Apache Spark DataFrame of pandas DataFrame berekend en weergegeven. Deze opdracht is beschikbaar voor Python, Scala en R.
Belangrijk
Met deze opdracht wordt de volledige inhoud van het DataFrame geanalyseerd. Het uitvoeren van deze opdracht voor zeer grote DataFrames kan erg duur zijn.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.data.help("summarize")
In Databricks Runtime 10.4 LTS en hoger kunt u de extra precise
parameter gebruiken om de precisie van de berekende statistieken aan te passen.
- Wanneer
precise
deze is ingesteld op onwaar (de standaardinstelling), bevatten sommige geretourneerde statistieken benaderingen om de uitvoeringstijd te verminderen.- Het aantal afzonderlijke waarden voor categorische kolommen kan een relatieve fout van ongeveer 5% hebben voor kolommen met hoge kardinaliteit.
- Het aantal frequente waarden kan een fout hebben van maximaal 0,01% wanneer het aantal afzonderlijke waarden groter is dan 10000.
- De histogrammen en percentielramingen kunnen een fout hebben van maximaal 0,01% ten opzichte van het totale aantal rijen.
- Wanneer
precise
deze is ingesteld op true, worden de statistieken berekend met een hogere precisie. Alle statistieken, met uitzondering van de histogrammen en percentielen voor numerieke kolommen, zijn nu exact.- De histogrammen en percentielramingen kunnen een fout hebben van maximaal 0,0001% ten opzichte van het totale aantal rijen.
De knopinfo boven aan de uitvoer van de gegevenssamenvatting geeft de modus van de huidige uitvoering aan.
Voorbeeld
In dit voorbeeld worden samenvattingsstatistieken weergegeven voor een Apache Spark DataFrame met benaderingen die standaard zijn ingeschakeld. Als u de resultaten wilt zien, voert u deze opdracht uit in een notebook. Dit voorbeeld is gebaseerd op voorbeeldgegevenssets.
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)
De visualisatie maakt gebruik van SI-notatie om beknopt numerieke waarden weer te geven die kleiner zijn dan 0,01 of groter dan 10000. Als voorbeeld wordt de numerieke waarde 1.25e-15
weergegeven als 1.25f
. Eén uitzondering: de visualisatie maakt gebruik van 'B
' voor 1.0e9
(giga) in plaats van 'G
'.
Bestandssysteemhulpprogramma (dbutils.fs)
Met het bestandssysteemhulpprogramma hebt u toegang tot Wat is DBFS?, zodat u Azure Databricks eenvoudiger kunt gebruiken als bestandssysteem.
Waarschuwing
De Python-implementatie van alle dbutils.fs
methoden gebruikt snake_case
in plaats camelCase
van voor trefwoordopmaak.
Geeft bijvoorbeeld dbutils.fs.help()
de optie extraConfigs
voor dbutils.fs.mount()
. In Python zou u echter het trefwoord gebruiken extra_configs
.
De volgende tabel bevat de beschikbare opdrachten voor dit hulpprogramma, die u kunt ophalen met behulp van dbutils.fs.help()
.
Bevelen | Beschrijving |
---|---|
cp- | Kopieert een bestand of map, mogelijk tussen bestandssystemen |
hoofd | Retourneert tot de eerste 'maxBytes' bytes van het opgegeven bestand als een tekenreeks die is gecodeerd in UTF-8 |
ls | Hiermee wordt de inhoud van een map weergegeven |
mkdirs | Als de opgegeven map nog niet bestaat, wordt deze samen met de benodigde bovenliggende mappen aangemaakt. |
koppelen | Koppelt de opgegeven bronmap aan DBFS op het opgegeven koppelpunt |
koppelt | Geeft informatie weer over wat is gemonteerd in DBFS |
mv | Een bestand of map verplaatsen, mogelijk tussen bestandssysteem |
zet | Hiermee schrijft u de opgegeven tekenreeks naar een bestand, gecodeerd in UTF-8 |
refreshMounts | Dwingt alle machines in dit cluster om hun koppelcache te vernieuwen, zodat ze de meest recente informatie ontvangen |
rm | Hiermee verwijdert u een bestand of map |
ontkoppelen van | Hiermee verwijdert u een DBFS-koppelpunt |
updateMount | Vergelijkbaar met mount(), maar werkt een bestaand koppelpunt bij in plaats van een nieuw koppelpunt te maken |
Tip
In notebooks kunt u de %fs
magic-opdracht gebruiken voor toegang tot DBFS. Is bijvoorbeeld %fs ls /Volumes/main/default/my-volume/
hetzelfde als dbutils.fs.ls("/Volumes/main/default/my-volume/")
. Zie magic-opdrachten.
cp-opdracht (dbutils.fs.cp)
cp(from: String, to: String, recurse: boolean = false): boolean
Kopieert een bestand of map, mogelijk in meerdere bestandssysteemen.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("cp")
Voorbeeld
In dit voorbeeld wordt het bestand met de naam data.csv
gekopieerd van /Volumes/main/default/my-volume/
naar new-data.csv
hetzelfde volume.
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
hoofdopdracht (dbutils.fs.head)
head(file: String, maxBytes: int = 65536): String
Retourneert maximaal het opgegeven maximum aantal bytes in het opgegeven bestand. De bytes worden geretourneerd als een UTF-8-gecodeerde tekenreeks.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("head")
Voorbeeld
In dit voorbeeld worden de eerste 25 bytes van het bestand in het bestand data.csv
weergegeven /Volumes/main/default/my-volume/
.
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"
ls-opdracht (dbutils.fs.ls)
ls(dir: String): Seq
Hiermee wordt de inhoud van een map weergegeven.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("ls")
Voorbeeld
In dit voorbeeld wordt informatie weergegeven over de inhoud van /Volumes/main/default/my-volume/
. Het modificationTime
veld is beschikbaar in Databricks Runtime 10.4 LTS en hoger. In R wordt modificationTime
deze geretourneerd als een tekenreeks.
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-opdracht (dbutils.fs.mkdirs)
mkdirs(dir: String): boolean
Hiermee maakt u de opgegeven map als deze niet bestaat. Er worden ook eventuele benodigde bovenliggende mappen gemaakt.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("mkdirs")
Voorbeeld
In dit voorbeeld wordt de map my-data
gemaakt in /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
opdracht koppelen (dbutils.fs.mount)
mount(source: String, mountPoint: String, encryptionType: String = "",
owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean
Koppelt de opgegeven bronmap aan DBFS op het opgegeven koppelpunt.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("mount")
Voorbeeld
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>")))
Zie Verbinding maken met Azure Data Lake Storage Gen2 en Blob Storage voor aanvullende codevoorbeelden.
opdracht mounts (dbutils.fs.mounts)
mounts: Seq
Geeft informatie weer over wat er momenteel is gekoppeld in DBFS.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("mounts")
Voorbeeld
Waarschuwing
Roep dbutils.fs.refreshMounts()
alle andere actieve clusters aan om de nieuwe koppeling door te geven. Zie de opdracht refreshMounts (dbutils.fs.refreshMounts).
Python
dbutils.fs.mounts()
Scala
dbutils.fs.mounts()
Zie Verbinding maken met Azure Data Lake Storage Gen2 en Blob Storage voor aanvullende codevoorbeelden.
mv command (dbutils.fs.mv)
mv(from: String, to: String, recurse: boolean = false): boolean
Hiermee verplaatst u een bestand of map, mogelijk tussen bestandssysteemen. Een verplaatsing is een kopie gevolgd door een verwijdering, zelfs voor verplaatsingen binnen bestandssysteem.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("mv")
Voorbeeld
In dit voorbeeld wordt het bestand rows.csv
verplaatst naar /Volumes/main/default/my-volume/
/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
opdracht put (dbutils.fs.put)
put(file: String, contents: String, overwrite: boolean = false): boolean
Hiermee schrijft u de opgegeven tekenreeks naar een bestand. De tekenreeks is UTF-8 gecodeerd.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("put")
Voorbeeld
In dit voorbeeld wordt de tekenreeks Hello, Databricks!
geschreven naar een bestand met de naam hello.txt
in /Volumes/main/default/my-volume/
. Als het bestand bestaat, wordt het overschreven.
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
opdracht refreshMounts (dbutils.fs.refreshMounts)
refreshMounts: boolean
Dwingt alle machines in het cluster om de koppelcache te vernieuwen, zodat ze de meest recente informatie ontvangen.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("refreshMounts")
Voorbeeld
Python
dbutils.fs.refreshMounts()
Scala
dbutils.fs.refreshMounts()
Zie Verbinding maken met Azure Data Lake Storage Gen2 en Blob Storage voor voorbeelden van aanvullende code.
rm-opdracht (dbutils.fs.rm)
rm(dir: String, recurse: boolean = false): boolean
Hiermee verwijdert u een bestand of map en eventueel alle inhoud ervan. Als er een bestand is opgegeven, wordt de recurse
parameter genegeerd. Als er een map is opgegeven, treedt er een fout op wanneer recurse
deze is uitgeschakeld en de map niet leeg is.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("rm")
Voorbeeld
In dit voorbeeld wordt de hele map /Volumes/main/default/my-volume/my-data/
verwijderd, inclusief de inhoud.
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
opdracht ontkoppelen (dbutils.fs.unmount)
unmount(mountPoint: String): boolean
Hiermee verwijdert u een DBFS-koppelpunt.
Waarschuwing
Als u fouten wilt voorkomen, wijzigt u nooit een koppelpunt terwijl andere taken ernaar lezen of schrijven. Nadat u een koppeling hebt gewijzigd, moet u altijd worden uitgevoerd dbutils.fs.refreshMounts()
op alle andere actieve clusters om eventuele koppelingsupdates door te geven. Zie de opdracht refreshMounts (dbutils.fs.refreshMounts).
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("unmount")
Voorbeeld
dbutils.fs.unmount("/mnt/<mount-name>")
Zie Verbinding maken met Azure Data Lake Storage Gen2 en Blob Storage voor aanvullende codevoorbeelden.
opdracht updateMount (dbutils.fs.updateMount)
updateMount(source: String, mountPoint: String, encryptionType: String = "",
owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean
Vergelijkbaar met de dbutils.fs.mount
opdracht, maar werkt een bestaand koppelpunt bij in plaats van een nieuw koppelpunt te maken. Retourneert een fout als het koppelpunt niet aanwezig is.
Waarschuwing
Als u fouten wilt voorkomen, wijzigt u nooit een koppelpunt terwijl andere taken ernaar lezen of schrijven. Nadat u een koppeling hebt gewijzigd, moet u altijd worden uitgevoerd dbutils.fs.refreshMounts()
op alle andere actieve clusters om eventuele koppelingsupdates door te geven. Zie de opdracht refreshMounts (dbutils.fs.refreshMounts).
Deze opdracht is beschikbaar in Databricks Runtime 10.4 LTS en hoger.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.fs.help("updateMount")
Voorbeeld
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>")))
Hulpprogramma Taken (dbutils.jobs)
Levert hulpprogramma's voor het benutten van mogelijkheden voor taken.
Notitie
Dit hulpprogramma is alleen beschikbaar voor Python.
De volgende tabel bevat de beschikbare modules voor dit hulpprogramma, die u kunt ophalen met behulp van dbutils.jobs.help()
.
Submodule | Beschrijving |
---|---|
taskValues | Biedt hulpprogramma's voor het benutten van taakwaarden |
subutiliteit taskValues (dbutils.jobs.taskValues)
Notitie
Deze subutiliteit is alleen beschikbaar voor Python.
Biedt opdrachten voor het gebruik van taaktaakwaarden.
Gebruik dit subhulpprogramma om willekeurige waarden in te stellen en op te halen tijdens een taakuitvoering. Deze waarden worden taakwaarden genoemd. Elke taak kan waarden ophalen die zijn ingesteld door upstream-taken en waarden instellen voor downstreamtaken die moeten worden gebruikt.
Elke taakwaarde heeft een unieke sleutel binnen dezelfde taak. Deze unieke sleutel wordt de sleutel van de taakwaarde genoemd. Een taakwaarde wordt geopend met de taaknaam en de sleutel van de taakwaarde. U kunt dit gebruiken om informatie downstream van taak naar taak door te geven binnen dezelfde taakuitvoering. U kunt bijvoorbeeld id's of metrische gegevens doorgeven, zoals informatie over de evaluatie van een machine learning-model, tussen verschillende taken binnen een taakuitvoering.
De volgende tabel bevat beschikbare opdrachten voor deze subutiliteit, die u kunt ophalen met behulp van dbutils.jobs.taskValues.help()
.
Bevelen | Beschrijving |
---|---|
verkrijg | Hiermee haalt u de inhoud van de opgegeven taakwaarde op voor de opgegeven taak in de huidige taakuitvoering. |
instellen | Hiermee stelt u een taakwaarde in of werkt u deze bij. U kunt maximaal 250 taakwaarden instellen voor een taakuitvoering. |
opdracht ophalen (dbutils.jobs.taskValues.get)
Notitie
Deze opdracht is alleen beschikbaar voor Python.
In Databricks Runtime 10.4 en eerder, als get
de taak niet kan worden gevonden, wordt een Py4JJavaError gegenereerd in plaats van een ValueError
.
get(taskKey: String, key: String, default: int, debugValue: int): Seq
Hiermee haalt u de inhoud van de opgegeven taakwaarde op voor de opgegeven taak in de huidige taakuitvoering.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.jobs.taskValues.help("get")
Voorbeeld
Voorbeeld:
dbutils.jobs.taskValues.get(taskKey = "my-task", \
key = "my-key", \
default = 7, \
debugValue = 42)
In het voorgaande voorbeeld:
-
taskKey
is de naam van de taak waarmee de taakwaarde wordt ingesteld. Als de opdracht deze taak niet kan vinden, wordt er eenValueError
gegenereerd. -
key
is de naam van de sleutel van de taakwaarde die u hebt ingesteld met de setopdracht (dbutils.jobs.taskValues.set). Als de opdracht de sleutel van deze taakwaarde niet kan vinden, wordt er eenValueError
gegenereerd (tenzijdefault
opgegeven). -
default
is een optionele waarde die wordt geretourneerd alskey
deze niet kan worden gevonden.default
kan niet zijnNone
. -
debugValue
is een optionele waarde die wordt geretourneerd als u de taakwaarde probeert op te halen vanuit een notebook die buiten een taak wordt uitgevoerd. Dit kan handig zijn tijdens foutopsporing wanneer u uw notebook handmatig wilt uitvoeren en een bepaalde waarde wilt retourneren in plaats van een standaardwaardeTypeError
in te stellen.debugValue
kan niet zijnNone
.
Als u probeert een taakwaarde op te halen vanuit een notebook dat buiten een taak wordt uitgevoerd, wordt met deze opdracht standaard een TypeError
waarde gegenereerd. Als het debugValue
argument echter is opgegeven in de opdracht, wordt de waarde debugValue
geretourneerd in plaats van een TypeError
.
opdracht set (dbutils.jobs.taskValues.set)
Notitie
Deze opdracht is alleen beschikbaar voor Python.
set(key: String, value: String): boolean
Hiermee stelt u een taakwaarde in of werkt u deze bij. U kunt maximaal 250 taakwaarden instellen voor een taakuitvoering.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.jobs.taskValues.help("set")
Voorbeeld
Enkele voorbeelden:
dbutils.jobs.taskValues.set(key = "my-key", \
value = 5)
dbutils.jobs.taskValues.set(key = "my-other-key", \
value = "my other value")
In de voorgaande voorbeelden:
-
key
is de sleutel van de taakwaarde. Deze sleutel moet uniek zijn voor de taak. Als twee verschillende taken elk een taakwaarde met sleutelK
instellen, zijn dit twee verschillende taakwaarden met dezelfde sleutelK
. -
value
is de waarde voor de sleutel van deze taakwaarde. Met deze opdracht moet de waarde intern in JSON-indeling kunnen worden vertegenwoordigd. De grootte van de JSON-weergave van de waarde mag niet groter zijn dan 48 KiB.
Als u een taakwaarde probeert in te stellen vanuit een notebook dat buiten een taak wordt uitgevoerd, doet deze opdracht niets.
Bibliotheekhulpprogramma (dbutils.library)
De meeste methoden in de dbutils.library
submodule zijn afgeschaft. Zie bibliotheekhulpprogramma (dbutils.library) (verouderd).
Mogelijk moet u het Python-proces op Azure Databricks programmatisch opnieuw opstarten om ervoor te zorgen dat lokaal geïnstalleerde of bijgewerkte bibliotheken correct werken in de Python-kernel voor uw huidige SparkSession. Voer de opdracht dbutils.library.restartPython
uit om dit te doen. Zie Het Python-proces opnieuw opstarten in Azure Databricks.
Notebook-hulpprogramma (dbutils.notebook)
Met het hulpprogramma notebook kunt u notebooks koppelen en actie ondernemen op hun resultaten. Zie Notitieblokken orkestreren en code modulariseren binnen notitieblokken.
De volgende tabel bevat de beschikbare opdrachten voor dit hulpprogramma, die u kunt ophalen met behulp van dbutils.notebook.help()
.
Bevelen | Beschrijving |
---|---|
afsluiten | Hiermee sluit je een notitieblok af met een waarde |
uitvoeren | Voert een notebook uit en retourneert de uitvoerwaarde |
afsluitopdracht (dbutils.notebook.exit)
exit(value: String): void
Hiermee wordt een notitieblok afgesloten met een waarde.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.notebook.help("exit")
Voorbeeld
In dit voorbeeld wordt het notebook afgesloten met de waarde 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
Notitie
Als de uitvoering een query heeft met gestructureerde streaming die op de achtergrond wordt uitgevoerd, wordt de uitvoering niet beëindigd door aanroepen dbutils.notebook.exit()
. De uitvoering wordt nog steeds uitgevoerd zolang de query op de achtergrond wordt uitgevoerd. U kunt de query die op de achtergrond wordt uitgevoerd stoppen door te klikken op Annuleren in de cel van de query of door uit te voeren query.stop()
. Wanneer de query stopt, kunt u de uitvoering beëindigen met dbutils.notebook.exit()
.
opdracht uitvoeren (dbutils.notebook.run)
run(path: String, timeoutSeconds: int, arguments: Map): String
Voert een notebook uit en retourneert de afsluitwaarde. Het notebook wordt standaard uitgevoerd in het huidige cluster.
Notitie
De maximale lengte van de tekenreekswaarde die door de run
opdracht wordt geretourneerd, is 5 MB. Zie Uitvoer ophalen voor één uitvoering (GET /jobs/runs/get-output
).
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.notebook.help("run")
Voorbeeld
In dit voorbeeld wordt een notitieblok uitgevoerd met de naam My Other Notebook
op dezelfde locatie als het aanroepende notitieblok. Het aangeroepen notebook eindigt met de coderegel dbutils.notebook.exit("Exiting from My Other Notebook")
. Als het aangeroepen notebook niet binnen 60 seconden wordt uitgevoerd, wordt er een uitzondering gegenereerd.
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
Hulpprogramma geheimen (dbutils.secrets)
Met het hulpprogramma geheimen kunt u gevoelige referentiegegevens opslaan en openen zonder ze zichtbaar te maken in notebooks. Zie Geheimbeheer en stap 3: De geheimen in een notebook gebruiken.
De volgende tabel bevat de beschikbare opdrachten voor dit hulpprogramma, die u kunt ophalen met behulp van dbutils.secrets.help()
.
Bevelen | Beschrijving |
---|---|
verkrijg | Haalt de tekenreeksrepresentatie op van een geheime waarde met scope en sleutel |
getBytes | Hiermee haalt u de bytesweergave van een geheime waarde op met bereik en sleutel |
lijst | Lijst met geheime metadata voor geheimen binnen een scope |
listScopes | Een lijst met geheime bereiken |
opdracht ophalen (dbutils.secrets.get)
get(scope: String, key: String): String
Hiermee haalt u de tekenreeksweergave van een geheime waarde op voor het opgegeven geheimenbereik en de opgegeven sleutel.
Waarschuwing
Beheerders, makers van geheimen en gebruikers die toestemming hebben verleend, kunnen Azure Databricks-geheimen lezen. Hoewel Azure Databricks moeite doet om geheime waarden te redacteren die in notebooks kunnen worden weergegeven, is het niet mogelijk om te voorkomen dat dergelijke gebruikers geheimen lezen. Zie Geheime redaction voor meer informatie.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.secrets.help("get")
Voorbeeld
In dit voorbeeld wordt de tekenreeksweergave van de geheime waarde voor het bereik met de naam en de sleutel opgehaald 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]
opdracht getBytes (dbutils.secrets.getBytes)
getBytes(scope: String, key: String): byte[]
Hiermee haalt u de bytesweergave van een geheime waarde op voor het opgegeven bereik en de opgegeven sleutel.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.secrets.help("getBytes")
Voorbeeld
In dit voorbeeld wordt de byteweergave van de geheime waarde (in dit voorbeeld a1!b2@c3#
) opgehaald voor het bereik met de naam my-scope
en de sleutel met de naam 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 command (dbutils.secrets.list)
list(scope: String): Seq
Toont de metagegevens voor geheimen binnen het opgegeven bereik.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.secrets.help("list")
Voorbeeld
In dit voorbeeld worden de metagegevens voor geheimen vermeld binnen het bereik met de naam 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-opdracht (dbutils.secrets.listScopes)
listScopes: Seq
Hiermee worden de beschikbare bereiken weergegeven.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.secrets.help("listScopes")
Voorbeeld
In dit voorbeeld worden de beschikbare bereiken weergegeven.
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))
Hulpprogramma Widgets (dbutils.widgets)
Met het hulpprogramma widgets kunt u notebooks parameteriseren. Zie Databricks-widgets.
De volgende tabel bevat de beschikbare opdrachten voor dit hulpprogramma, die u kunt ophalen met behulp van dbutils.widgets.help()
.
Bevelen | Beschrijving |
---|---|
keuzelijst met invoervak | Hiermee maakt u een invoerwidget met invoervak met een bepaalde naam, standaardwaarde en keuzes |
vervolgkeuzelijst | Hiermee maakt u een vervolgkeuzelijst-invoerwidget met een bepaalde naam, standaardwaarde en keuzes |
verkrijg | Hiermee haalt u de huidige waarde van een invoerwidget op |
getAll | Hiermee haalt u een kaart van alle widgetnamen en de bijbehorende waarden op |
getArgument | Verouderd. Gelijk aan verkrijgen |
meervoudige selectie | Hiermee maakt u een invoerwidget met meerdere selecties met een bepaalde naam, standaardwaarde en keuzes |
verwijderen | Verwijdert een invoerwidget uit het notitieblok |
alle verwijderen | Verwijdert alle widgets in het notitieblok |
tekst | Hiermee maakt u een tekstinvoerwidget met een bepaalde naam en standaardwaarde |
opdracht keuzelijst met invoervak (dbutils.widgets.combobox)
combobox(name: String, defaultValue: String, choices: Seq, label: String): void
Hiermee maakt en geeft u een widget met invoervak weer met de opgegeven programmatische naam, standaardwaarde, keuzes en optioneel label.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("combobox")
Voorbeeld
In dit voorbeeld wordt een widget met een keuzelijst met invoervak gemaakt en weergegeven met de programmatische naam fruits_combobox
. Het biedt de keuzes apple
, banana
, en coconut
en dragon fruit
is ingesteld op de oorspronkelijke waarde van banana
. Deze widget met invoervak heeft een bijbehorend label Fruits
. Dit voorbeeld eindigt door de oorspronkelijke waarde van de widget keuzelijst met invoervak af te drukken. 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
vervolgkeuzelijst (dbutils.widgets.dropdown)
dropdown(name: String, defaultValue: String, choices: Seq, label: String): void
Hiermee maakt en geeft u een vervolgkeuzelijstwidget weer met de opgegeven programmatische naam, standaardwaarde, keuzes en optioneel label.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("dropdown")
Voorbeeld
In dit voorbeeld wordt een vervolgkeuzewidget gemaakt en weergegeven met de programmatische naam toys_dropdown
. Het biedt de keuzes alphabet blocks
, basketball
, en cape
en doll
is ingesteld op de oorspronkelijke waarde van basketball
. Deze vervolgkeuzelijstwidget heeft een bijbehorend label Toys
. Dit voorbeeld eindigt door de oorspronkelijke waarde van de vervolgkeuzelijstwidget af te drukken. 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
opdracht ophalen (dbutils.widgets.get)
get(name: String): String
Hiermee haalt u de huidige waarde van de widget op met de opgegeven programmatische naam. Deze programmatische naam kan een van de volgende zijn:
- De naam van een aangepaste widget in het notitieblok, bijvoorbeeld
fruits_combobox
oftoys_dropdown
. - De naam van een aangepaste parameter die wordt doorgegeven aan het notebook als onderdeel van een notebooktaak, bijvoorbeeld
name
ofage
. Zie voor meer informatie de dekking van parameters voor notebooktaken in de gebruikersinterface van taken of hetnotebook_params
veld in de bewerking Een nieuwe taakuitvoering activeren (POST /jobs/run-now
) in de Taken-API.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("get")
Voorbeeld
In dit voorbeeld wordt de waarde opgehaald van de widget met de programmatische naam fruits_combobox
.
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
In dit voorbeeld wordt de waarde opgehaald van de notebook-taakparameter met de programmatische naam age
. Deze parameter is ingesteld op 35
het moment dat de gerelateerde notebook-taak werd uitgevoerd.
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
opdracht getAll (dbutils.widgets.getAll)
getAll: map
Hiermee haalt u een toewijzing op van alle namen en waarden van de huidige widget. Dit kan met name handig zijn om widgetwaarden snel door te geven aan een spark.sql()
query.
Deze opdracht is beschikbaar in Databricks Runtime 13.3 LTS en hoger. Het is alleen beschikbaar voor Python en Scala.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("getAll")
Voorbeeld
In dit voorbeeld wordt de kaart met widgetwaarden opgehaald en doorgegeven als parameterargumenten in een Spark SQL-query.
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
opdracht getArgument (dbutils.widgets.getArgument)
getArgument(name: String, optional: String): String
Hiermee haalt u de huidige waarde van de widget op met de opgegeven programmatische naam. Als de widget niet bestaat, kan een optioneel bericht worden geretourneerd.
Notitie
Deze opdracht is afgeschaft. Gebruik in plaats daarvan dbutils.widgets.get .
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("getArgument")
Voorbeeld
In dit voorbeeld wordt de waarde opgehaald van de widget met de programmatische naam fruits_combobox
. Als deze widget niet bestaat, wordt het bericht Error: Cannot find fruits combobox
geretourneerd.
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
opdracht multiselect (dbutils.widgets.multiselect)
multiselect(name: String, defaultValue: String, choices: Seq, label: String): void
Hiermee maakt en geeft u een widget met meerdere selecties weer met de opgegeven programmatische naam, standaardwaarde, keuzes en optioneel label.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("multiselect")
Voorbeeld
In dit voorbeeld wordt een widget met meerdere selecties gemaakt en weergegeven met de programmatische naam days_multiselect
. Het biedt de keuzes Monday
door Sunday
en wordt ingesteld op de oorspronkelijke waarde van Tuesday
. Deze widget voor meerdere selecties heeft een bijbehorend label Days of the Week
. Dit voorbeeld eindigt door de initiële waarde van de widget multiselect af te drukken, 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
opdracht verwijderen (dbutils.widgets.remove)
remove(name: String): void
Hiermee verwijdert u de widget met de opgegeven programmatische naam.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("remove")
Belangrijk
Als u een opdracht toevoegt om een widget te verwijderen, kunt u geen volgende opdracht toevoegen om een widget in dezelfde cel te maken. U moet de widget maken in een andere cel.
Voorbeeld
In dit voorbeeld wordt de widget met de programmatische naam fruits_combobox
verwijderd.
Python
dbutils.widgets.remove('fruits_combobox')
R
dbutils.widgets.remove('fruits_combobox')
Scala
dbutils.widgets.remove("fruits_combobox")
SQL
REMOVE WIDGET fruits_combobox
removeAll-opdracht (dbutils.widgets.removeAll)
removeAll: void
Hiermee verwijdert u alle widgets uit het notitieblok.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("removeAll")
Belangrijk
Als u een opdracht toevoegt om alle widgets te verwijderen, kunt u geen volgende opdracht toevoegen om widgets in dezelfde cel te maken. U moet de widgets in een andere cel maken.
Voorbeeld
In dit voorbeeld worden alle widgets uit het notitieblok verwijderd.
Python
dbutils.widgets.removeAll()
R
dbutils.widgets.removeAll()
Scala
dbutils.widgets.removeAll()
tekstopdracht (dbutils.widgets.text)
text(name: String, defaultValue: String, label: String): void
Hiermee maakt en geeft u een tekstwidget weer met de opgegeven programmatische naam, standaardwaarde en optioneel label.
Als u volledige Help voor deze opdracht wilt weergeven, voert u het volgende uit:
dbutils.widgets.help("text")
Voorbeeld
In dit voorbeeld wordt een tekstwidget gemaakt en weergegeven met de programmatische naam your_name_text
. De waarde is ingesteld op de oorspronkelijke waarde van Enter your name
. Deze tekstwidget heeft een bijbehorend label Your name
. Dit voorbeeld eindigt door de initiële waarde van de tekstwidget af te drukken. 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
Api-bibliotheek voor Databricks Utilities
Belangrijk
De Databricks Utilities-API (dbutils-api
) bibliotheek is afgeschaft. Databricks raadt u aan een van de volgende te gebruiken:
Om de ontwikkeling van toepassingen te versnellen, kan het handig zijn om toepassingen te compileren, bouwen en testen voordat u ze implementeert als productietaken. Databricks biedt de dbutils-api
bibliotheek om u te compileren op basis van Databricks Utilities. U kunt de dbutils-api
bibliotheek downloaden van de DBUtils-API-webpagina op de website van de Maven-opslagplaats of de bibliotheek opnemen door een afhankelijkheid toe te voegen aan uw buildbestand:
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'
Vervang door TARGET
het gewenste doel (bijvoorbeeld 2.12
) en VERSION
door de gewenste versie (bijvoorbeeld 0.0.5
). Zie de DBUtils-API-webpagina op de website van de Maven-opslagplaats voor een lijst met beschikbare doelen en versies.
Zodra u uw toepassing hebt gebouwd op basis van deze bibliotheek, kunt u de toepassing implementeren.
Belangrijk
Met de dbutils-api
bibliotheek kunt u alleen lokaal een toepassing compileren die gebruikmaakt dbutils
van, niet om deze uit te voeren. Als u de toepassing wilt uitvoeren, moet u deze implementeren in Azure Databricks.
Beperkingen
Het aanroepen van dbutils
binnen uitvoerders kan onverwachte resultaten of fouten opleveren.
Als u bestandssysteembewerkingen wilt uitvoeren op uitvoerders met behulp dbutils
van, raadpleegt u de parallelle vermeldings- en verwijdermethoden met behulp van Spark in Hoe u bestanden sneller in Databricks kunt weergeven en verwijderen.
Zie Overzicht van clustermodus op de Apache Spark-website voor meer informatie over uitvoerders.