Utilidades de Databricks

Las utilidades de Databricks (dbutils) facilitan la realización de combinaciones eficaces de tareas. Puede usar las utilidades para trabajar con el almacenamiento de objetos de forma eficaz, para encadenar y parametrizar cuadernos y para trabajar con secretos. Las utilidades dbutils no se admiten fuera de los cuadernos.

Importante

Llamar a dbutils dentro de los ejecutores puede producir resultados inesperados. Para más información sobre las limitaciones de dbutils y las alternativas que se podrían usar en su lugar, consulte Limitaciones.

Las utilidades dbutils están disponibles en cuadernos de Python, R y Scala.

Cómo: enumerar las utilidades, enumerar los comandos, mostrar la ayuda para los comandos

Utilidades: datos, sistema de archivos, trabajos, biblioteca, cuaderno, secretos, widgets, Biblioteca de la API de utilidades

Enumeración de las utilidades disponibles

Para enumerar las utilidades disponibles junto con una breve descripción de cada una de ellas, ejecute dbutils.help() para Python o Scala.

En este ejemplo se enumeran los comandos disponibles para las utilidades de 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

Enumeración de los comandos disponibles para una utilidad

A fin de enumerar los comandos disponibles para una utilidad junto con una breve descripción de cada uno de ellos, ejecute .help() después del nombre de programación de la utilidad.

En este ejemplo se enumeran los comandos disponibles para la utilidad del sistema de archivos de 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

Visualización de ayuda para un comando

A fin de mostrar la ayuda para un comando, ejecute .help("<command-name>") después del nombre del comando.

En este ejemplo se muestra la ayuda para el comando de copia de 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

Utilidad de datos (dbutils.data)

Importante

Esta característica está en versión preliminar pública.

Nota

Disponible en Databricks Runtime 9.0 y versiones posteriores.

Comandos: summarize

La utilidad de datos permite comprender e interpretar conjuntos de datos. Para enumerar los comandos disponibles, ejecute 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

Comando summarize (dbutils.data.summarize)

Calcula y muestra estadísticas de resumen de un DataFrame de Apache Spark o un DataFrame de Pandas. Este comando está disponible para Python, Scala y R.

A fin de mostrar la ayuda para este comando, ejecute dbutils.data.help("summarize").

En Databricks Runtime 10.1 y versiones posteriores, puede usar el parámetro precise adicional para ajustar la precisión de las estadísticas calculadas.

Nota:

Esta característica está en versión preliminar pública.

  • Cuando precise se establece en False (valor predeterminado), algunas estadísticas devueltas incluyen aproximaciones para reducir el tiempo de ejecución.
    • El número de valores distintos para las columnas de categorías puede tener un error relativo de ~5 % para las columnas de alta cardinalidad.
    • Los recuentos de valores frecuentes pueden tener un error de hasta el 0,01 % cuando el número de valores distintos es mayor que 10 000.
    • Las estimaciones de percentil y los histogramas pueden tener un error de hasta un 0,01 % con respecto al número total de filas.
  • Cuando precise se establece en True, las estadísticas se calculan con mayor precisión. Ahora todas las estadísticas, excepto los histogramas y percentiles de las columnas numéricas, son exactas.
    • Las estimaciones de percentil y los histogramas pueden tener un error de hasta un 0,0001 % con respecto al número total de filas.

La información sobre herramientas de la parte superior de la salida de resumen de datos indica el modo de ejecución actual.

En este ejemplo se muestran estadísticas de resumen de un DataFrame de Apache Spark con aproximaciones habilitadas de manera predeterminada. Para ver los resultados, ejecute este comando en un cuaderno. Este ejemplo se basa en conjuntos de datos de ejemplo.

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)

Tenga en cuenta que la visualización usa la notación del sistema internacional para representar de forma concisa valores numéricos menores que 0,01 o mayores que 10 000. Por ejemplo, el valor numérico 1.25e-15 se representará como 1.25f. Una excepción: la visualización usa "B" para 1.0e9 (giga) en lugar de "G".

Utilidad de sistema de archivos (dbutils.fs)

Advertencia

La implementación de Python de todos los métodos dbutils.fs usa snake_case en lugar de camelCase para el formato de palabras clave.

Por ejemplo: mientras que dbuitls.fs.help() muestra la opción extraConfigs para dbutils.fs.mount(), en Python se usaría la palabra clave extra_configs.

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

La utilidad del sistema de archivos permite acceder al sistema de archivos de Databricks (DBFS), lo que facilita el uso de Azure Databricks como sistema de archivos. Para enumerar los comandos disponibles, ejecute 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

Comando cp (dbutils.fs.cp)

Copia un archivo o un directorio, posiblemente entre sistemas de archivos.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("cp").

En este ejemplo se copia el archivo denominado old_file.txt de /FileStore a /tmp/new, y se cambia el nombre del archivo copiado a 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

Comando head (dbutils.fs.head)

Devuelve hasta el número máximo especificado de bytes del archivo indicado. Los bytes se devuelven como una cadena codificada en UTF-8.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("head").

En este ejemplo se muestran los primeros 25 bytes del archivo my_file.txt ubicado en /tmp.

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!
// "

Comando ls (dbutils.fs.ls)

Enumera el contenido de un directorio.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("ls").

En este ejemplo se muestra información sobre el contenido de /tmp. El campo modificationTime está disponible en Databricks Runtime 10.2 y versiones posteriores. En R, modificationTime se devuelve como una cadena.

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

Comando mkdirs (dbutils.fs.mkdirs)

Crea el directorio indicado en caso de que no exista. También crea los directorios primarios necesarios.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("mkdirs").

En este ejemplo se crea la estructura de directorios /parent/child/grandchild dentro de /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

Comando mount (dbutils.fs.mount)

Monta el directorio de origen especificado en DBFS en el punto de montaje especificado.

A fin de mostrar la ayuda para este comando, ejecute 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>")))

Para ver ejemplos de código adicionales, consulte Acceso a Azure Data Lake Storage Gen2 y Blob Storage.

Comando mounts (dbutils.fs.mounts)

Muestra información sobre lo que está montado actualmente en DBFS.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("mounts").

Python

dbutils.fs.mounts()

Scala

dbutils.fs.mounts()

Para ver ejemplos de código adicionales, consulte Acceso a Azure Data Lake Storage Gen2 y Blob Storage.

Comando mv (dbutils.fs.mv)

Mueve un archivo o un directorio, posiblemente entre sistemas de archivos. Un movimiento es una copia seguida de una eliminación, incluso para los movimientos dentro de los sistemas de archivos.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("mv").

En este ejemplo se mueve el archivo my_file.txt de /FileStore a /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

Comando put (dbutils.fs.put)

Escribe la cadena especificada en un archivo. La cadena está codificada en UTF-8.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("put").

En este ejemplo se escribe la cadena Hello, Databricks! en un archivo denominado hello_db.txt en /tmp. Si el archivo existe, se sobrescribirá.

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

Comando refreshMounts (dbutils.fs.refreshMounts)

Fuerza a todas las máquinas del clúster a actualizar su caché de montaje, de modo que se asegura de que reciben la información más reciente.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("refreshMounts").

Python

dbutils.fs.refreshMounts()

Scala

dbutils.fs.refreshMounts()

Para ver ejemplos de código adicionales, consulte Acceso a Azure Data Lake Storage Gen2 y Blob Storage.

Comando rm (dbutils.fs.rm)

Quita un archivo o un directorio.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("rm").

En este ejemplo se quita el archivo denominado hello_db.txt de /tmp.

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

Comando unmount (dbutils.fs.unmount)

Elimina un punto de montaje de DBFS.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("unmount").

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

Para ver ejemplos de código adicionales, consulte Acceso a Azure Data Lake Storage Gen2 y Blob Storage.

Comando updateMount (dbutils.fs.updateMount)

Es similar al comando dbutils.fs.mount, pero actualiza un punto de montaje existente en lugar de crear uno nuevo. Devuelve un error si el punto de montaje no está presente.

A fin de mostrar la ayuda para este comando, ejecute dbutils.fs.help("updateMount").

Este comando está disponible en Databricks Runtime 10.2 y versiones posteriores.

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

Utilidad de trabajos (dbutils.jobs)

Utilidades secundarias: taskValues

Nota

Disponible en Databricks Runtime 7.3 y versiones posteriores.

Esta utilidad solo está disponible para Python.

La utilidad de trabajos permite aprovechar las características de los trabajos. Para mostrar la ayuda de este comando, ejecute dbutils.jobs.help().

Provides utilities for leveraging jobs features.

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

Utilidad secundaria taskValues (dbutils.jobs.taskValues)

Comandos: get, set

Nota

Disponible en Databricks Runtime 7.3 y versiones posteriores.

Esta utilidad secundaria solo está disponible para Python.

Proporciona comandos para aprovechar los valores de las tareas del trabajo.

Use esta utilidad secundaria para establecer y obtener valores arbitrarios durante la ejecución de un trabajo. Estos valores se llaman valores de tarea. Puede acceder a los valores de tarea de las tareas del flujo descendente en la misma ejecución de trabajo. Por ejemplo, puede comunicar identificadores o métricas, como la información sobre la evaluación de un modelo de Machine Learning, entre diferentes tareas dentro de una ejecución de trabajo. Cada tarea puede establecer varios valores de tarea, obtenerlos o ambas. Cada valor de tarea tiene una clave única dentro de la misma tarea. Esta clave única se conoce como la clave del valor de tarea. Se accede a un valor de tarea con el nombre de la tarea y la clave del valor de tarea.

Para mostrar la ayuda de esta utilidad secundaria, ejecute dbutils.jobs.taskValues.help().

Comando get (dbutils.jobs.taskValues.get)

Nota

Disponible en Databricks Runtime 7.3 y versiones posteriores.

Este comando solo está disponible para Python.

En Databricks Runtime 10.4 y versiones anteriores, si get no encuentra la tarea, se genera un error Py4JJavaError en lugar de ValueError.

Obtiene el contenido del valor de tarea especificado para la tarea especificada en la ejecución actual del trabajo.

A fin de mostrar la ayuda para este comando, ejecute dbutils.jobs.taskValues.help("get").

Por ejemplo:

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

En el ejemplo anterior:

  • taskKey es el nombre de la tarea dentro del trabajo. Si el comando no encuentra esta tarea, se genera una excepción ValueError.
  • key es el nombre de la clave del valor de tarea que estableció con el comando set (dbutils.jobs.taskValues.set). Si el comando no encuentra la clave de este valor de tarea, se genera una excepción ValueError (a menos que se especifique default).
  • default es un valor opcional que se devuelve si no se encuentra key. El valor de default no puede ser None.
  • debugValue es un valor opcional que se devuelve si intenta obtener el valor de tarea desde un cuaderno que se ejecuta fuera de un trabajo. Esto puede ser útil durante la depuración cuando quiera ejecutar el cuaderno manualmente y devolver algún valor en lugar de generar una excepción TypeError de manera predeterminada. El valor de debugValue no puede ser None.

Si intenta obtener un valor de tarea desde un cuaderno que se ejecuta fuera de un trabajo, este comando genera una excepción TypeError de manera predeterminada. Sin embargo, si se especifica el argumento debugValue en el comando, se devuelve el valor de debugValue en lugar de generar una excepción TypeError.

Comando set (dbutils.jobs.taskValues.set)

Nota

Disponible en Databricks Runtime 7.3 y versiones posteriores.

Este comando solo está disponible para Python.

Establece o actualiza un valor de tarea. Puede configurar hasta 250 valores de tarea para la ejecución de un trabajo.

A fin de mostrar la ayuda para este comando, ejecute dbutils.jobs.taskValues.help("set").

Estos son algunos ejemplos:

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

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

En los ejemplos anteriores:

  • key es el nombre de la clave de este valor de tarea. Este nombre debe ser único en el trabajo.
  • value es el valor de la clave de este valor de tarea. Este comando debe ser capaz de representar el valor internamente en formato JSON. El tamaño de la representación JSON del valor no puede superar los 48 KiB.

Si intenta establecer un valor de tarea desde un cuaderno que se ejecuta fuera de un trabajo, este comando no hace nada.

Utilidad de biblioteca (dbutils.library)

Nota:

La utilidad de biblioteca está en desuso.

Comandos: install, installPyPI, list, restartPython, updateCondaEnv

La utilidad de biblioteca permite instalar las bibliotecas de Python y crear un entorno que tenga como ámbito una sesión de cuaderno. Las bibliotecas están disponibles tanto en el controlador como en los ejecutores, por lo que puede hacer referencia a ellas en funciones definidas por el usuario. Esto permite lo siguiente:

  • Que las dependencias de biblioteca de un cuaderno se organicen dentro del propio cuaderno.
  • Que los usuarios de cuadernos con diferentes dependencias de biblioteca compartan un clúster sin interferencias.

Al desasociar un cuaderno, se destruye este entorno. Sin embargo, puede crearlo de nuevo si vuelve a ejecutar los comandos de la API install de biblioteca en el cuaderno. Consulte la API restartPython para saber cómo puede restablecer el estado del cuaderno sin perder el entorno.

Importante

Las utilidades de biblioteca no están disponibles en Databricks Runtime ML ni Databricks Runtime para Genomics. En su lugar, consulte Bibliotecas de Python cuyo ámbito es el cuaderno.

En el caso de Databricks Runtime 7.2 y versiones posteriores, Databricks recomienda usar comandos magic %pip para instalar bibliotecas con ámbito de cuaderno. Consulte Bibliotecas de Python cuyo ámbito es Notebook.

Las utilidades de biblioteca están habilitadas de manera predeterminada. Por lo tanto, de manera predeterminada, el entorno de Python para cada cuaderno se aísla mediante un ejecutable de Python independiente que se crea cuando el cuaderno se asocia al entorno predeterminado de Python en el clúster y lo hereda. Las bibliotecas instaladas a través de un script de inicialización en el entorno de Python de Azure Databricks siguen estando disponibles. Puede establecer el valor de spark.databricks.libraryIsolation.enabled en false para deshabilitar esta característica.

Esta API es compatible con la instalación existente de la biblioteca en todo el clúster a través de la interfaz de usuario y la API REST. Las bibliotecas instaladas a través de esta API tienen mayor prioridad que las bibliotecas de todo el clúster.

Para enumerar los comandos disponibles, ejecute 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

Comando install (dbutils.library.install)

Dada una ruta de acceso a una biblioteca, instala la biblioteca en la sesión del cuaderno actual. Las bibliotecas instaladas mediante una llamada a este comando solo están disponibles para el cuaderno actual.

A fin de mostrar la ayuda para este comando, ejecute dbutils.library.help("install").

En este ejemplo se instala una biblioteca .egg o .whl en un cuaderno.

Importante

dbutils.library.install se quitó en Databricks Runtime 11.0 y versiones posteriores.

Databricks recomienda colocar todos los comandos de instalación de la biblioteca en la primera celda del cuaderno y llamar a restartPython al final de esa celda. El estado del cuaderno de Python se restablece después de ejecutar restartPython; el cuaderno pierde todo el estado, incluidas, entre otras, las variables locales, las bibliotecas importadas y otros estados efímeros. Por lo tanto, se recomienda instalar las bibliotecas y restablecer el estado del cuaderno en la primera celda del cuaderno.

Los orígenes de biblioteca aceptados son dbfs, abfss, adl y 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.

Nota:

Puede instalar directamente archivos wheel personalizados mediante %pip. En el ejemplo siguiente se supone que ha cargado el archivo wheel de la biblioteca en DBFS:

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

Pip no admite archivos egg, y wheel se considera el estándar de compilación y empaquetado binario para Python. Consulte Wheel frente a egg para obtener más detalles. Sin embargo, si quiere usar un archivo egg de una manera que sea compatible con %pip, puede usar la siguiente solución alternativa:

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

Comando installPyPI (dbutils.library.installPyPI)

Dado un paquete del índice de paquetes de Python (PyPI), instala ese paquete en la sesión del cuaderno actual. Las bibliotecas instaladas mediante una llamada a este comando están aisladas entre cuadernos.

A fin de mostrar la ayuda para este comando, ejecute dbutils.library.help("installPyPI").

En este ejemplo se instala un paquete PyPI en un cuaderno. version, repo y extras son opcionales. Use el argumento extras para especificar la característica adicional (requisitos adicionales).

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.

Importante

dbutils.library.installPyPI se quitó en Databricks Runtime 11.0 y versiones posteriores.

Las claves version y extras no pueden formar parte de la cadena del paquete PyPI. Por ejemplo, dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") no es válido. Use los argumentos version y extras para especificar la versión y la información adicional como se muestra a continuación:

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

Nota:

Al reemplazar los comandos dbutils.library.installPyPI por los comandos %pip, el intérprete de Python se reinicia automáticamente. Puede ejecutar el comando de instalación como se muestra a continuación:

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

En este ejemplo se especifican los requisitos de biblioteca en un cuaderno y se instalan mediante %run en el otro. Para ello, defina primero las bibliotecas que se instalarán en un cuaderno. En este ejemplo se usa un cuaderno denominado 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.

A continuación, instálelas en el cuaderno que necesita esas dependencias.

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

En este ejemplo se restablece el estado del cuaderno de Python al mismo tiempo que se mantiene el entorno. Esta técnica solo está disponible en cuadernos de Python. Por ejemplo, puede usar esta técnica para recargar las bibliotecas de Azure Databricks preinstaladas con una versión diferente:

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

También puede usar esta técnica para instalar bibliotecas como tensorflow que deben cargarse al iniciarse el proceso:

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

Comando list (dbutils.library.list)

Enumera las bibliotecas aisladas agregadas para la sesión del cuaderno actual a través de la utilidad de biblioteca. Esto no incluye las bibliotecas que están asociadas al clúster.

A fin de mostrar la ayuda para este comando, ejecute dbutils.library.help("list").

En este ejemplo se enumeran las bibliotecas instaladas en un cuaderno.

dbutils.library.list()

Nota:

El equivalente de este comando con %pip es el siguiente:

%pip freeze

Comando restartPython (dbutils.library.restartPython)

Reinicia el proceso de Python para la sesión del cuaderno actual.

A fin de mostrar la ayuda para este comando, ejecute dbutils.library.help("restartPython").

En este ejemplo se reinicia el proceso de Python para la sesión del cuaderno actual.

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

Comando updateCondaEnv (dbutils.library.updateCondaEnv)

Actualiza el entorno de Conda del cuaderno actual en función del contenido de environment.yml. Este método solo es compatible con Databricks Runtime en Conda.

A fin de mostrar la ayuda para este comando, ejecute dbutils.library.help("updateCondaEnv").

En este ejemplo se actualiza el entorno de Conda del cuaderno actual en función del contenido de la especificación proporcionada.

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

Utilidad de cuaderno (dbutils.notebook)

Comandos: exit, run

La utilidad de cuaderno permite encadenar cuadernos y realizar acciones en sus resultados. Consulte Ejecutar un cuaderno de Databricks desde otro cuaderno.

Para enumerar los comandos disponibles, ejecute 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.

Comando exit (dbutils.notebook.exit)

Sale de un cuaderno con un valor.

A fin de mostrar la ayuda para este comando, ejecute dbutils.notebook.help("exit").

En este ejemplo se sale del cuaderno con el valor 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

Nota

Si la ejecución tiene una consulta con flujo estructurado que se ejecuta en segundo plano, la llamada a dbutils.notebook.exit() no finaliza la ejecución. La ejecución continuará mientras la consulta se esté ejecutando en segundo plano. Para detener la consulta que se ejecuta en segundo plano, haga clic en Cancelar en la celda de la consulta o ejecute query.stop(). Cuando se detenga la consulta, podrá finalizar la ejecución con dbutils.notebook.exit().

Comando run (dbutils.notebook.run)

Ejecuta un cuaderno y devuelve su valor de salida. El cuaderno se ejecutará en el clúster actual de manera predeterminada.

Nota:

La longitud máxima del valor de cadena devuelto por el comando run es de 5 MB. Consulte Obtención de la salida de una sola ejecución (GET /jobs/runs/get-output).

A fin de mostrar la ayuda para este comando, ejecute dbutils.notebook.help("run").

En este ejemplo se ejecuta un cuaderno denominado My Other Notebook en la misma ubicación que el cuaderno que realiza la llamada. El cuaderno al que se realiza la llamada termina con la línea de código dbutils.notebook.exit("Exiting from My Other Notebook"). Si el cuaderno al que se realiza la llamada no termina de ejecutarse en 60 segundos, se produce una excepción.

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

Utilidad de secretos (dbutils.secrets)

Comandos: get, getBytes, list, listScopes

La utilidad de secretos permite almacenar información confidencial de las credenciales y acceder a ella sin hacer que sean visibles en los cuadernos. Consulte Administración de secretos y Uso de secretos en un cuaderno. Para enumerar los comandos disponibles, ejecute 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

Comando get (dbutils.secrets.get)

Obtiene la representación de cadena del valor de un secreto para la clave y el ámbito de secretos especificados.

Advertencia

Los secretos de Azure Databricks pueden leerlos los administradores, los creadores de secretos y aquellos usuarios a los que se haya concedido el permiso pertinente. Aunque Azure Databricks hace un esfuerzo por redactar valores secretos que se puedan mostrar en cuadernos, no es posible impedir que estos usuarios lean secretos. Para más información, consulte el artículo sobre redacción de secretos.

A fin de mostrar la ayuda para este comando, ejecute dbutils.secrets.help("get").

En este ejemplo se obtiene la representación de cadena del valor del secreto para el ámbito denominado my-scope y la clave denominada 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]

Comando getBytes (dbutils.secrets.getBytes)

Obtiene la representación de bytes del valor de un secreto para la clave y el ámbito especificados.

A fin de mostrar la ayuda para este comando, ejecute dbutils.secrets.help("getBytes").

Este ejemplo obtiene la representación en bytes del valor del secreto (en este ejemplo, a1!b2@c3#) para el ámbito llamado my-scope y la clave llamada 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)

Comando list (dbutils.secrets.list)

Enumera los metadatos de los secretos dentro del ámbito especificado.

A fin de mostrar la ayuda para este comando, ejecute dbutils.secrets.help("list").

En este ejemplo se enumeran los metadatos de los secretos dentro del ámbito denominado 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))

Comando listScopes (dbutils.secrets.listScopes)

Enumera los ámbitos disponibles.

A fin de mostrar la ayuda para este comando, ejecute dbutils.secrets.help("listScopes").

En este ejemplo se enumeran los ámbitos disponibles.

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

Utilidad de widgets (dbutils.widgets)

Comandos: combobox, dropdown, get, getArgument, multiselect, remove, removeAll, text

La utilidad de widgets permite parametrizar cuadernos. Consulte Widgets de Databricks.

Para enumerar los comandos disponibles, ejecute 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

Comando combobox (dbutils.widgets.combobox)

Crea y muestra un widget de cuadro combinado con el nombre de programación, el valor predeterminado, las opciones y la etiqueta opcional que se especifican.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("combobox").

En este ejemplo se crea y muestra un widget de cuadro combinado con el nombre de programación fruits_combobox. Ofrece las opciones apple, banana, coconut y dragon fruit, y se establece en el valor inicial de banana. Este widget de cuadro combinado tiene una etiqueta Fruits que lo acompaña. Este ejemplo termina con la impresión del valor inicial del widget de cuadro combinado, 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

Comando dropdown (dbutils.widgets.dropdown)

Crea y muestra un widget desplegable con el nombre de programación, el valor predeterminado, las opciones y la etiqueta opcional que se especifican.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("dropdown").

En este ejemplo se crea y muestra un widget desplegable con el nombre de programación toys_dropdown. Ofrece las opciones alphabet blocks, basketball, cape y doll, y se establece en el valor inicial de basketball. Este widget desplegable tiene una etiqueta Toys que lo acompaña. Este ejemplo termina con la impresión del valor inicial del widget desplegable, 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

Comando get (dbutils.widgets.get)

Obtiene el valor actual del widget con el nombre de programación especificado. Este nombre de programación puede ser uno de los siguientes:

  • El nombre de un widget personalizado en el cuaderno, por ejemplo fruits_combobox o toys_dropdown.
  • El nombre de un parámetro personalizado pasado al cuaderno como parte de una tarea de cuaderno, por ejemplo name o age. Para obtener más información, consulte la cobertura de parámetros para las tareas de cuadernos en la interfaz de usuario de creación de un trabajo o el campo notebook_params en la operación para desencadenar la ejecución de un trabajo nuevo (POST /jobs/run-now) de Jobs API.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("get").

En este ejemplo se obtiene el valor del widget que tiene el nombre de programación 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

En este ejemplo se obtiene el valor del parámetro de tarea del cuaderno que tiene el nombre de programación age. Este parámetro se estableció en 35 cuando se ejecutó la tarea del cuaderno relacionada.

Python

dbutils.widgets.get('age')

# 35

R

dbutils.widgets.get('age')

# [1] "35"

Scala

dbutils.widgets.get("age")

// res6: String = 35

Comando getArgument (dbutils.widgets.getArgument)

Obtiene el valor actual del widget con el nombre de programación especificado. Si el widget no existe, se puede devolver un mensaje opcional.

Nota:

Este comando está en desuso. Use dbutils.widgets.get en su lugar.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("getArgument").

En este ejemplo se obtiene el valor del widget que tiene el nombre de programación fruits_combobox. Si este widget no existe, se devuelve el mensaje 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

Comando multiselect (dbutils.widgets.multiselect)

Crea y muestra un widget de selección múltiple con el nombre de programación, el valor predeterminado, las opciones y la etiqueta opcional que se especifican.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("multiselect").

En este ejemplo se crea y muestra un widget de selección múltiple con el nombre de programación days_multiselect. Ofrece las opciones de Monday a Sunday y se establece en el valor inicial de Tuesday. Este widget de selección múltiple tiene una etiqueta Days of the Week que lo acompaña. Este ejemplo termina con la impresión del valor inicial del widget de selección múltiple, 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

Comando remove (dbutils.widgets.remove)

Quita el widget con el nombre de programación especificado.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("remove").

Importante

Si agrega un comando para quitar un widget, no puede agregar un comando posterior para crear un widget en la misma celda. Debe crear el widget en otra celda.

En este ejemplo se quita el widget con el nombre de programación fruits_combobox.

Python

dbutils.widgets.remove('fruits_combobox')

R

dbutils.widgets.remove('fruits_combobox')

Scala

dbutils.widgets.remove("fruits_combobox")

Comando removeAll (dbutils.widgets.removeAll)

Quita todos los widgets del cuaderno.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("removeAll").

Importante

Si agrega un comando para quitar todos los widgets, no puede agregar un comando posterior para crear widgets en la misma celda. Debe crear los widgets en otra celda.

En este ejemplo se quitan todos los widgets del cuaderno.

Python

dbutils.widgets.removeAll()

R

dbutils.widgets.removeAll()

Scala

dbutils.widgets.removeAll()

Comando text (dbutils.widgets.text)

Crea y muestra un widget de texto con el nombre de programación, el valor predeterminado y la etiqueta opcional que se especifican.

A fin de mostrar la ayuda para este comando, ejecute dbutils.widgets.help("text").

En este ejemplo se crea y muestra un widget de texto con el nombre de programación your_name_text. Se establece en el valor inicial de Enter your name. Este widget de texto tiene una etiqueta Your name que lo acompaña. Este ejemplo termina con la impresión del valor inicial del widget de texto, 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

Biblioteca de la API de utilidades de Databricks

Para acelerar el desarrollo de aplicaciones, puede resultar útil compilar, crear y probar aplicaciones antes de implementarlas como trabajos de producción. Para poder compilar con las utilidades de Databricks, Databricks proporciona la biblioteca dbutils-api. Puede descargar la biblioteca dbutils-api desde la página web de la API de DBUtils en el sitio web del repositorio de Maven o incluir la biblioteca mediante la adición de una dependencia al archivo de compilación:

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

Reemplace TARGET por el destino deseado (por ejemplo2.12) y VERSION por la versión deseada (por ejemplo 0.0.5). Para obtener una lista de los destinos y versiones disponibles, consulte la página web de la API de DBUtils en el sitio web del repositorio de Maven.

Una vez compilada la aplicación con esta biblioteca, puede implementarla.

Importante

La biblioteca dbutils-api permite compilar localmente una aplicación que usa dbutils, pero no ejecutarla. Para ejecutar la aplicación, debe implementarla en Azure Databricks.

Limitaciones

Llamar a dbutils dentro de los ejecutores puede producir resultados inesperados o, potencialmente, generar errores.

Si necesita ejecutar operaciones de sistema de archivos en ejecutores mediante dbutils, hay disponibles varias alternativas más rápidas y escalables:

Para obtener información sobre los ejecutores, consulte Información general sobre el modo de clúster en el sitio web de Apache Spark.