Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
En este tutorial, creas un paquete de activos de Databricks desde cero. Esta agrupación simple consta de dos cuadernos y la definición de un trabajo de Azure Databricks para ejecutar estos cuadernos. A continuación, valide, implemente y ejecute el trabajo en su espacio de trabajo de Azure Databricks. Estos pasos automatizan el inicio rápido titulado Creación del primer flujo de trabajo con trabajos de Lakeflow.
Requisitos
- CLI de Databricks, versión 0.218.0 o posterior. Para comprobar la versión de la CLI de Databricks instalada, ejecute el comando
databricks -v. Para instalar la CLI de Databricks, consulte Instalación o actualización de la CLI de Databricks. - Autenticación configurada para la CLI de Databricks. La autenticación U2M es adecuada para probar estos pasos en tiempo real. Consulte Autenticación para la CLI de Databricks.
- El espacio de trabajo remoto de Databricks debe tener activados los archivos del espacio de trabajo. Consulte ¿Qué son los archivos del área de trabajo?
Paso 1: Crear la agrupación
Una agrupación contiene los artefactos que desea implementar y la configuración de los recursos que desea ejecutar.
- Cree o identifique un directorio vacío en la máquina de desarrollo.
- Cambia al directorio vacío en tu terminal o ábrelo en tu IDE.
Sugerencia
También puedes usar un directorio que contenga un repositorio clonado desde un proveedor Git. Esto le permite administrar su paquete con un control de versiones externo y colaborar más fácilmente con otros desarrolladores y profesionales de TI en su proyecto.
Si decide clonar un repositorio para esta demostración, Databricks recomienda que el repositorio esté vacío o que solo tenga archivos básicos en él, como README y .gitignore. De lo contrario, los archivos preexistentes del repositorio pueden estar sincronizados innecesariamente con el área de trabajo de Azure Databricks.
Paso 2: Agregar cuadernos al proyecto
En este paso, agregará dos cuadernos al proyecto. El primer cuaderno obtiene una lista de nombres de bebés populares desde 2007 a partir de las fuentes de datos públicos del Departamento de Salud del Estado de Nueva York. Consulte Nombres de bebé: Tendencias por nombre, inicio 2007 en el sitio web del departamento. A continuación, el primer cuaderno guarda estos datos en su volumen Azure Databricks Unity Catalog denominado my-volume en un esquema denominado default en un catálogo denominado main. El segundo cuaderno consulta los datos guardados y muestra recuentos agregados de los nombres de bebé por nombre y sexo para 2014.
En la raíz del directorio, cree el primer cuaderno, un archivo denominado
retrieve-baby-names.py.Agregue el siguiente código al archivo
retrieve-baby-names.py:# Databricks notebook source import requests response = requests.get('http://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv') csvfile = response.content.decode('utf-8') dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)Cree el segundo cuaderno, un archivo denominado
filter-baby-names.py, en el mismo directorio.Agregue el siguiente código al archivo
filter-baby-names.py:# Databricks notebook source babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv") babynames.createOrReplaceTempView("babynames_table") years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist() years.sort() dbutils.widgets.dropdown("year", "2014", [str(x) for x in years]) display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
Paso 3: Adición de un archivo de esquema de configuración de agrupación al proyecto
Si usa un IDE como Visual Studio Code, PyCharm Professional o IntelliJ IDEA Ultimate que admite archivos YAML y archivos de esquema JSON, puede usar el IDE para no solo crear el archivo de esquema de configuración de agrupación, sino para comprobar la sintaxis y el formato del archivo de configuración de agrupación del proyecto.
Visual Studio Code
Agregue compatibilidad con el servidor de lenguaje YAML a Visual Studio Code, por ejemplo, instalando la extensión YAML desde Visual Studio Code Marketplace.
Genere el archivo de esquema JSON de configuración del conjunto de recursos de Databricks mediante la CLI de Databricks para ejecutar el comando
bundle schemay redirigir la salida a un archivo JSON. Por ejemplo, genere un archivo llamadobundle_config_schema.jsonen el directorio actual, de la siguiente manera:databricks bundle schema > bundle_config_schema.jsonEn el paso 4, agregará el siguiente comentario al principio del archivo de configuración de agrupación, que asocia el archivo de configuración de agrupación con el archivo de esquema JSON especificado:
# yaml-language-server: $schema=bundle_config_schema.jsonNota
En el comentario anterior, si el archivo de esquema JSON de configuración del conjunto de recursos de Databricks está en una ruta de acceso diferente, reemplace
bundle_config_schema.jsonpor la ruta de acceso completa al archivo de esquema.
PyCharm Professional
Genere el archivo de esquema JSON de configuración de Databricks Asset Bundle utilizando la CLI de Databricks para ejecutar el comando
bundle schemay redirigir la salida a un archivo JSON. Por ejemplo, genere un archivo llamadobundle_config_schema.jsonen el directorio actual, de la siguiente manera:databricks bundle schema > bundle_config_schema.jsonConfigure PyCharm para reconocer el archivo de esquema JSON de configuración de agrupación y, a continuación, complete la asignación de esquema JSON siguiendo las instrucciones de Configuración de un esquema JSON personalizado.
En el paso 4, usará PyCharm para crear o abrir un archivo de configuración de agrupación. Por convención, este archivo se denomina
databricks.yml.
IntelliJ IDEA Ultimate
Genere el archivo de esquema JSON de configuración del conjunto de recursos de Databricks mediante la CLI de Databricks para ejecutar el comando
bundle schemay redirigir la salida a un archivo JSON. Por ejemplo, genere un archivo llamadobundle_config_schema.jsonen el directorio actual, de la siguiente manera:databricks bundle schema > bundle_config_schema.jsonConfigure IntelliJ IDEA para reconocer el archivo de esquema JSON de configuración del conjunto y, después, complete la asignación de esquemas JSON siguiendo las instrucciones de Configuración de un esquema JSON personalizado.
En el paso 4, usará IntelliJ IDEA para crear o abrir un archivo de configuración de agrupación. Por convención, este archivo se denomina
databricks.yml.
Paso 4: Agregar un archivo de configuración de agrupación al proyecto
En este paso, se define cómo implementar y ejecutar los dos cuadernos. Para esta demostración, debería usar un trabajo de Azure Databricks para ejecutar el primer cuaderno y, a continuación, el segundo. Dado que el primer cuaderno guarda los datos y el segundo cuaderno consulta los datos guardados, es recomendable que el primer cuaderno termine de ejecutarse antes de que se inicie el segundo cuaderno. Modele estos objetivos en un archivo de configuración de paquetes en su proyecto.
- En la raíz del directorio, cree el archivo de configuración de agrupación, un archivo denominado
databricks.yml. - Agregue el código siguiente al archivo
databricks.yml, reemplazando<workspace-url>por la dirección URL por área de trabajo, por ejemplohttps://adb-1234567890123456.7.azuredatabricks.net. Esta dirección URL debe coincidir con la del archivo.databrickscfg:
Sugerencia
La primera línea, a partir de # yaml-language-server, solo es necesaria si el IDE lo admite. Consulte el paso 3 anterior para obtener más información.
# yaml-language-server: $schema=bundle_config_schema.json
bundle:
name: baby-names
resources:
jobs:
retrieve-filter-baby-names-job:
name: retrieve-filter-baby-names-job
job_clusters:
- job_cluster_key: common-cluster
new_cluster:
spark_version: 12.2.x-scala2.12
node_type_id: Standard_DS3_v2
num_workers: 1
tasks:
- task_key: retrieve-baby-names-task
job_cluster_key: common-cluster
notebook_task:
notebook_path: ./retrieve-baby-names.py
- task_key: filter-baby-names-task
depends_on:
- task_key: retrieve-baby-names-task
job_cluster_key: common-cluster
notebook_task:
notebook_path: ./filter-baby-names.py
targets:
development:
workspace:
host: <workspace-url>
Para personalizar los trabajos, las asignaciones de una declaración de trabajo corresponden a la carga de la solicitud, expresada en formato YAML, de la operación de creación del trabajo tal como se documenta en POST /api/2.1/jobs/create en la referencia de la API de REST.
Sugerencia
Puede definir, combinar e invalidar la configuración de los nuevos clústeres de trabajos en agrupaciones mediante las técnicas descritas en Invalidación con la configuración de destino.
Paso 5: Validar el archivo de configuración de agrupación del proyecto
En este paso, comprobará si la configuración de la agrupación es válida.
Utilice la CLI de Databricks para ejecutar el comando
bundle validatede la siguiente manera:databricks bundle validateSi se devuelve un resumen de la configuración de la agrupación, indica que la validación se ha realizado correctamente. Si se devuelven errores, corrija los errores y repita este paso.
Si realiza algún cambio en la agrupación después de este paso, debe repetir el paso para comprobar si la configuración de la agrupación sigue siendo válida.
Paso 6: Implementación del proyecto local en el área de trabajo remota
En este paso, implemente los dos cuadernos locales en su espacio de trabajo remoto de Azure Databricks y cree el trabajo de Azure Databricks en su espacio de trabajo.
Utilice la CLI de Databricks para ejecutar el comando
bundle deployde la siguiente manera:databricks bundle deploy -t developmentCompruebe si se implementaron los dos cuadernos locales: en la barra lateral del área de trabajo de Azure Databricks, haga clic en Área de trabajo.
Haga clic en la carpeta Users >
<your-username>> .bundle > baby-names > development > files. Los dos cuadernos deben estar en esta carpeta.Compruebe si se creó el trabajo: en la barra lateral del área de trabajo de Azure Databricks, haga clic en Trabajos y canalizaciones.
Opcionalmente, seleccione los filtros Trabajos y Propiedad de mí .
Haga clic en retrieve-filter-baby-names-job.
Haga clic en la pestaña Tareas. Debe haber dos tareas: retrieve-baby-names-task y filter-baby-names-task.
Si realiza algún cambio en la agrupación después de este paso, debe repetir los pasos 6 y 7 para comprobar si la configuración de la agrupación sigue siendo válida y volver a implementar el proyecto.
Paso 7: ejecutar el proyecto implementado
En este paso, ejecutará el trabajo de Azure Databricks en el área de trabajo.
Utilice la CLI de Databricks para ejecutar el comando
bundle runde la siguiente manera:databricks bundle run -t development retrieve-filter-baby-names-jobCopie el valor de
Run URLque aparece en el terminal y pegue este valor en el explorador web para abrir el área de trabajo de Azure Databricks.En el área de trabajo de Azure Databricks, después de que las dos tareas se completen correctamente y muestren barras de título verdes, haga clic en la tarea filter-baby-names-task para ver los resultados de la consulta.
Si realiza algún cambio en la agrupación después de este paso, debe repetir los pasos del 6 al 8 para comprobar si la configuración de la agrupación sigue siendo válida, volver a implementar el proyecto y ejecutarlo.
Paso 8: Limpiar
En este paso, eliminará los dos cuadernos implementados y el trabajo del área de trabajo.
Utilice la CLI de Databricks para ejecutar el comando
bundle destroyde la siguiente manera:databricks bundle destroyConfirme la solicitud de eliminación del trabajo: cuando se le pida que destruya permanentemente los recursos, escriba
yy presioneEnter.Confirme la solicitud de eliminación de cuadernos: cuando se le pida que destruya permanentemente la carpeta implementada previamente y todos sus archivos, escriba
yy presioneEnter.
Al ejecutar el bundle destroy comando, solo se elimina el trabajo implementado y la carpeta que contiene los dos cuadernos implementados. Este comando no elimina ningún efecto secundario, como el archivo babynames.csv que creó el primer cuaderno. Para eliminar el archivo babybnames.csv, haga lo siguiente:
- En la barra lateral del área de trabajo de Azure Databricks, haga clic en Catálogo.
- Haga clic en Examinar DBFS.
- Haga clic en la carpeta FileStore.
- Haga clic en la flecha desplegable situada junto a babynames.csv y haga clic en Eliminar.
- Si también desea eliminar la agrupación de la máquina de desarrollo, ahora puede eliminar el directorio local del paso 1.