Mapa mental de Databricks: plataforma lakehouse, workspace, clústeres, notebooks y DBFS
Fundamentos de ingeniería de datos, Apache Spark, lo que la plataforma añade encima, el workspace, los planos de control y de datos, clústeres, notebooks y DBFS: el curso de Azure Databricks en un solo mapa conectado.
Ingeniería de datos
Por qué existe la plataforma
- Qué es
- El curso empieza por lo que hace un equipo de ingeniería de datos: recoger datos de los sistemas operativos de los propietarios de datos del negocio, transformarlos y facilitar su consumo a los consumidores de datos. "La mayoría de los proyectos de ingeniería de datos consisten en conectar a esos dos equipos con los datos correctos, a la frecuencia correcta y en el momento correcto".
- Cuándo usarlo
- El marco de todas las herramientas de este mapa: cada una sirve a la ingesta, al procesamiento o al servicio de datos, en lotes o en streaming.
Tres grupos de personas
Propietarios, ingenieros, consumidores
- Qué es
- De un diagrama de Google Cloud: los propietarios de datos del negocio operan los sistemas (banca, comercio electrónico, OTT, aplicaciones IoT) que capturan datos de clientes; los consumidores de datos optimizan, hacen crecer y supervisan el negocio (prevención de fraude, sistemas de recomendación, informes de ventas e ingresos); los ingenieros de datos están en medio y conectan a ambos con datos.
- Cuándo usarlo
- Los requisitos vienen de los consumidores; el equipo trabaja hacia atrás desde ellos para encontrar qué sistemas de origen tienen los datos.
- Cifras del curso
- El diagrama clasifica a todos los que tocan datos de la empresa en exactamente tres categorías.Lección: Introduction to Data Engineering
Tres funciones
Ingerir, procesar, servir
- Qué es
- Integración o ingesta de datos (recoger de las fuentes y tomar posesión de los datos); procesamiento o transformación ("la parte más compleja de cualquier proyecto de ingeniería de datos"); y modelado y consumo (data marts, almacenes analíticos y la conectividad que necesitan los consumidores).
- Cuándo usarlo
- Divide cualquier proyecto en estas tres funciones para decidir qué herramienta de Databricks va en cada sitio.
Tres enfoques
Lotes, streaming, casi tiempo real
- Qué es
- Procesamiento por lotes, en streaming en tiempo real y en streaming casi en tiempo real. La recogida por lotes se ejecuta a intervalos (diaria, por horas, cada 30 minutos); el streaming recoge los datos de forma continua, tan rápido como los produce la fuente; un proyecto puede mezclar ambos.
- Cuándo usarlo
- Elige por fuente: algunos datos llegan por lotes, otros en streaming, y la misma arquitectura admite ambos.
Arquitectura Medallion del lakehouse
Bronce, plata, oro
- Qué es
- La arquitectura de referencia de una plataforma moderna de ingeniería de datos: ingerir por lotes o en streaming con una herramienta adecuada a la fuente y después construir la solución por capas. Bronce guarda los datos en bruto tal como se ingirieron, plata los datos procesados de alta calidad, oro los datos modelados para el consumo. Tres capas es el mínimo; los tres enfoques de procesamiento encajan.
- Cuándo usarlo
- El curso la implementa con Apache Spark y Databricks; el proyecto final construye un lakehouse así.
- Cifras del curso
- Número mínimo de capas: tres (bronce, plata, oro).Lección: Introduction to Data Engineering
Apache Spark
El motor que hay debajo
- Qué es
- "Un motor para ejecutar ingeniería de datos, procesamiento de flujos y aprendizaje automático en clústeres distribuidos", ofrecido a través de Spark SQL (compatible con ANSI SQL), las API de DataFrame para lotes, Structured Streaming, procesamiento de grafos y API de aprendizaje automático, todo en un mismo framework.
- Cuándo usarlo
- El curso da por sabido Spark SQL, la API de DataFrame, Structured Streaming y los internos de Spark; Databricks es donde se ejecuta ese código.
- Cifras del curso
- Miles de empresas usan Spark, incluido el 80 % de las Fortune 500.Lección: Apache Spark to Data Engineering Platform
La pila de Spark
Gestor de clúster, almacenamiento, API
- Qué es
- Spark se ejecuta en un clúster a través de un gestor de recursos (YARN, standalone, Kubernetes, Mesos) y lee o escribe almacenamiento distribuido (HDFS, S3, ADLS, Google Cloud Storage). Encima están las API básicas de RDD en Scala, Java, Python y R, "no recomendadas para uso directo", y sobre ellas Spark SQL y DataFrames, Structured Streaming, MLlib y GraphX.
- Cuándo usarlo
- Programa contra las API de alto nivel; la ejecución distribuida que hay debajo queda oculta.
Por qué Spark es popular
Cinco razones
- Qué es
- Abstracción (SQL o código de DataFrame sencillo se ejecuta en paralelo sin que lo notes), facilidad de uso (Spark SQL es la interfaz más simple), una plataforma unificada (SQL, DataFrames, lotes, streaming, ML y grafos en un motor), código abierto y un amplio ecosistema de integraciones creado por la comunidad.
- Cuándo usarlo
- Un mismo conjunto de habilidades cubre lotes, streaming y ML en lugar de una herramienta por tarea.
Lo que Spark no es
Cinco piezas que faltan
- Qué es
- El Spark de código abierto no tiene capa de almacenamiento (necesita HDFS, S3 o ADLS), ni transacciones ACID, ni un catálogo de metadatos centralizado y robusto (solo "un catálogo pequeño y simple"), ni gestión de clústeres (no puede crearlos ni destruirlos) ni buenas API, SDK o herramientas de línea de comandos para automatizar. "La herramienta de ingeniería de big data más popular, pero no completa por sí misma".
- Cuándo usarlo
- La lista que una plataforma tiene que completar; cada capacidad de Databricks en este mapa responde a uno de estos huecos.
- Cifras del curso
- Cinco capacidades críticas que faltan en el Spark de código abierto: almacenamiento, ACID, catálogo, gestión de clústeres, automatización.Lección: Apache Spark to Data Engineering Platform
Plataformas de Spark
Basadas en Hadoop frente a nativas de la nube
- Qué es
- Cloudera Hadoop (la plataforma local más popular), Amazon EMR, Azure HDInsight y Google Dataproc ejecutan Hadoop por detrás con YARN como gestor de clúster. Databricks es distinto: construido en la nube y para la nube, puramente Spark, sin clúster de Hadoop, sin YARN y no disponible en local.
- Cuándo usarlo
- Elige Databricks cuando quieras Spark sin operar Hadoop; elige Cloudera cuando la carga deba quedarse en local.
Temario del Associate Developer
Lo que cubre el examen de Spark
- Qué es
- El curso Databricks Certified Associate Developer for Apache Spark (Python) recorre la arquitectura y las transformaciones de Spark, las operaciones con DataFrames, optimizaciones avanzadas, Spark SQL, Structured Streaming y Spark ML, para ingenieros, analistas y científicos de datos con Python básico.
- Cuándo usarlo
- El orden en que aprender Spark antes del curso de Azure Databricks, que lo da todo por sabido.
Arquitectura y transformaciones
Componentes, jerarquía, acciones
- Qué es
- Los componentes de Spark, la jerarquía de ejecución y los dos tipos de operaciones: transformaciones y acciones. La sección explica "cómo Spark procesa los datos de forma distinta a los sistemas tradicionales".
- Cuándo usarlo
- Entiende esto antes de ajustar nada: decide cuándo se ejecuta realmente el trabajo en el clúster.
DataFrames
Ver, filtrar, cambiar columnas
- Qué es
- DataFrames de PySpark: ver, modificar y analizar datos; filtros, cambios de columnas y funciones integradas. "Habilidades prácticas para trabajar con grandes conjuntos de datos usando PySpark".
- Cuándo usarlo
- La API del día a día para la capa plata: limpiar y reorganizar lo que aterrizó en bronce.
Optimizaciones
Joins, AQE, Catalyst
- Qué es
- Operaciones group-by, joins optimizados con estrategias de broadcast y shuffle, y ejecución de consultas mejorada con Adaptive Query Execution (AQE) y el Catalyst Optimizer, además del particionado de datos.
- Cuándo usarlo
- Cuando un join o una agregación va lenta: haz broadcast del lado pequeño y deja que AQE replanifique en tiempo de ejecución.
Spark SQL
Datos estructurados, UDF
- Qué es
- Cargar, consultar y analizar datos estructurados con Spark SQL y sus funciones integradas, conectarlo a otras fuentes de datos y construir funciones complejas con funciones definidas por el usuario.
- Cuándo usarlo
- Los analistas que saben SQL trabajan sobre el mismo motor que el código Python.
Structured Streaming
Flujos de datos continuos
- Qué es
- Procesamiento en tiempo real con Spark: arquitecturas de streaming construidas sobre Structured Streaming, incluidos joins stream-stream y stream-static, "para soluciones de datos escalables y con buena respuesta".
- Cuándo usarlo
- El lado streaming de la arquitectura Medallion: los eventos aterrizan en bronce a medida que se producen.
Spark ML
Aprendizaje automático en el clúster
- Qué es
- El curso de certificación cierra con "Machine Learning with Spark ML" y promete confianza "en procesamiento de datos, streaming y aprendizaje automático con Python". MLlib es una de las API de la pila de Spark.
- Cuándo usarlo
- Entrena en el mismo clúster que preparó los datos, sin exportarlos.
- Ángulo de IA
- El aprendizaje automático es una de las cuatro capacidades que Spark ofrece en un mismo framework, junto a SQL, lotes y streaming.
Plataforma Databricks
Lo que añade a Spark
- Qué es
- "Una plataforma que aporta tecnologías, herramientas y capacidades para desarrollar e implementar soluciones lakehouse con la arquitectura Medallion y otros patrones": todo lo necesario para diseñar, desarrollar, mantener y operar soluciones lakehouse o data lake de nivel empresarial.
- Cuándo usarlo
- Cada capacidad de abajo cubre uno de los cinco huecos del Spark de código abierto, preintegrada y lista para usar.
Spark en la nube, sin Hadoop
Runtime optimizado
- Qué es
- Spark se diseñó para ejecutarse sobre Hadoop; Databricks lo hace independiente de la tecnología nativa de Hadoop e integra el almacenamiento en la nube de forma segura. Además ajusta el Spark "de serie" antes de distribuirlo, así que "el mismo Apache Spark corre un poco más rápido en Databricks".
- Cuándo usarlo
- Conserva tu código Spark; prescinde del clúster de Hadoop y del ajuste de YARN.
Delta Lake y tablas Delta
ACID para el lago
- Qué es
- Delta Lake es un proyecto de código abierto que aporta transacciones ACID a los sistemas de procesamiento distribuido; Databricks lo integra con Spark como una solución preintegrada y lista para usar, y las tablas Delta son "una de las funciones centrales" de la plataforma. El temario sigue con sus técnicas de optimización y la evolución de esquema, manual o automática, en Delta Lake o durante la ingesta.
- Cuándo usarlo
- Guarda cada capa Medallion como tablas Delta para que las escrituras sean atómicas y los esquemas puedan evolucionar.
Unity Catalog
Capa de gobernanza
- Qué es
- "La capa de gobernanza de datos de tu plataforma lakehouse": gestión centralizada de metadatos, gestión de usuarios y seguridad en una sola oferta. El temario cubre su propósito, configuración, aprovisionamiento de usuarios (traer a los usuarios corporativos) y la protección de tablas y otros activos de datos.
- Cuándo usarlo
- La forma recomendada de montar la capa de almacenamiento: los montajes DBFS dan a todo el workspace el mismo acceso, Unity Catalog da control detallado.
Gestión de clústeres
Lanzar, escalar, liberar
- Qué es
- Lanza clústeres, escálalos automáticamente hacia arriba o hacia abajo y libéralos desde dentro de la plataforma, "sin ir a trabajar directamente con tus soluciones de nube". El Spark de código abierto no puede crear, destruir ni gestionar clústeres.
- Cuándo usarlo
- El menú Compute sustituye a la consola de la nube para la infraestructura del día a día; detalles en la rama Clústeres.
Photon
Aceleración transparente
- Qué es
- Un acelerador de consultas creado por Databricks: "simplemente lo activas y empieza a dar un impulso a tus consultas Spark SQL y a las API de DataFrame". Un nuevo motor de consultas acelerado para Spark, elegido por clúster, con coste adicional; el curso lo desactiva para aprender.
- Cuándo usarlo
- Cargas de SQL y DataFrame en producción donde la velocidad justifica el recargo; no para clústeres de aprendizaje.
- Cifras del curso
- Photon es una casilla en el formulario del clúster; "tiene algún coste adicional".Lección: How to create Spark Cluster
Notebooks y workspace
El IDE de la plataforma
- Qué es
- "Una especie de IDE" para las actividades diarias del proyecto: desarrollo, pruebas e integración con el control de versiones. Detalles en las ramas Workspace y Notebooks.
- Cuándo usarlo
- Escribe, ejecuta y versiona el código en el navegador, conectado a un clúster.
Controles administrativos
Usuarios, grupos, políticas
- Qué es
- Un esquema de seguridad robusto: grupos de usuarios, políticas, y acceso y actividades controlados por esas políticas. En Azure el workspace tiene dos niveles de precio; la diferencia principal es que premium incluye control de acceso basado en roles, "y algunas otras funciones".
- Cuándo usarlo
- El curso elige premium "porque queremos verlo todo"; standard es más barato.
- Cifras del curso
- Dos niveles de precio: standard y premium; premium añade control de acceso basado en roles.Lección: Creating Databricks Workspace Service
Automatización: API, CLI, Terraform
Automatización del proyecto
- Qué es
- API, SDK y herramientas de línea de comandos para automatizar las actividades del proyecto, más integración con Terraform. El temario dedica una sección a la API REST y la CLI de Databricks "para que entiendas cómo se puede automatizar lo relacionado con el proyecto".
- Cuándo usarlo
- Crea workspaces, clústeres y trabajos desde scripts y CI/CD en lugar de hacer clic en la interfaz.
Tres nubes, una plataformaAzure, AWS, GCP
- Qué es
- Disponible en Azure, AWS y Google Cloud: "la misma capacidad, la misma solución, en la nube que elijas". Las diferencias son de infraestructura, instalación y configuración, casi transparentes para el equipo del proyecto.
- Cuándo usarlo
- Elige la nube con la que tu organización ya está alineada o asociada; el curso usa Azure.
Herramientas del lakehouse
El resto del temario
- Qué es
- Las herramientas que el temario sigue enseñando para construir el lakehouse: ingesta incremental con Autoloader, Delta Live Tables, Workflows, Repos y el proyecto final. En estas tarjetas solo están las descripciones del propio temario.
- Cuándo usarlo
- El orden de trabajo una vez existen almacenamiento y cómputo: ingerir, transformar de forma declarativa, orquestar, versionar, entregar.
Ingesta incremental y Autoloader
De las fuentes al lago
- Qué es
- Se enseña "desde el punto de vista de la arquitectura": cómo diseñar la ingesta desde los sistemas de origen hacia el lakehouse, qué herramientas y capacidades ofrece Databricks para la ingesta incremental, cómo gestionar la evolución de esquema durante la ingesta y cuál es la herramienta preferida. Databricks Autoloader tiene su propia lección.
- Cuándo usarlo
- Siguen llegando archivos nuevos al almacenamiento en la nube y solo los nuevos deben aterrizar en bronce.
Delta Live Tables
ETL declarativo
- Qué es
- "La oferta de ETL declarativo de la plataforma Databricks": pipelines DLT. En el workspace tiene su propia entrada de menú, que abre la pestaña Delta Live Tables de la página Workflows.
- Cuándo usarlo
- Describe las tablas que quieres y deja que el pipeline gestione dependencias y actualizaciones.
Workflows
Trabajos y dependencias
- Qué es
- Orquesta trabajos, crea dependencias entre ellos y construye pipelines: "flujos complejos donde puedes programar tareas y crear dependencias entre tareas". La entrada de menú Job runs abre la misma página.
- Cuándo usarlo
- Ejecuta los notebooks de bronce, plata y oro en orden, programados, con reintentos que no tienes que programar a mano.
ReposControl de versiones en el workspace
- Qué es
- Conecta el workspace con GitHub, GitHub Enterprise, Azure DevOps y otros proveedores de control de versiones; los archivos viven en el repositorio, los abres y editas desde el workspace y haces commit desde allí.
- Cuándo usarlo
- Desarrollo en equipo con revisiones e historial, en lugar de notebooks que solo viven en una carpeta de usuario.
Proyecto final: Medallion con CI/CD
Del requisito al despliegue
- Qué es
- Un proyecto extra que parte de un requisito de negocio y recorre el diseño de la solución, las decisiones de diseño y la implementación de un lakehouse con la arquitectura Medallion, y después una estrategia de pruebas, su automatización y un pipeline de CI/CD construido con Azure DevOps.
- Cuándo usarlo
- La forma de un proyecto real: decisiones de diseño documentadas, pruebas automatizadas, despliegues a través de un pipeline.
Workspace
Puerta de entrada a la plataforma
- Qué es
- "Tu puerta de entrada a la plataforma Databricks": todo se hace desde la interfaz web del workspace (o a través de la API REST y la CLI). En Azure se crea como un workspace de Azure Databricks, "una aplicación serverless", y se abre con el botón Launch workspace del portal o con su propia URL mediante inicio de sesión único.
- Cuándo usarlo
- Un workspace por proyecto, o varios por proyecto: desarrollo, QA y producción.
Cuenta y portal de AzureCréditos gratis, grupos de recursos
- Qué es
- Una cuenta gratuita de Azure da 200 USD de crédito durante 30 días, servicios populares gratis 12 meses y más de 40 servicios siempre gratuitos; no se cobra nada salvo que pases a pago por uso a mano. El portal es la interfaz web (buscador, Cloud Shell, tenant de Entra ID); un grupo de recursos es una colección con nombre de recursos que comparten ciclo de vida y permisos y se puede borrar de una vez.
- Cuándo usarlo
- Pon todo lo de un proyecto o curso en un mismo grupo de recursos para que la limpieza sea un solo borrado.
- Cifras del curso
- Cuenta gratuita: 200 USD de crédito, válidos 30 días.Lección: Creating Azure Cloud Account
- Una suscripción gratuita permite 4 núcleos de CPU a la vez, así que solo clústeres de un nodo.Lección: How to create Spark Cluster
Crear el workspace
Suscripción, grupo, nivel
- Qué es
- En el servicio Azure Databricks: elige la suscripción (la cuenta de facturación), un grupo de recursos, un nombre de workspace, una región (el instructor elige US East como la más barata) y el nivel de precio, y después Review + create. El despliegue tarda unos minutos; el workspace es barato de mantener, así que crea uno y déjalo mientras dure el curso.
- Cuándo usarlo
- Lo primero que hacer en un proyecto nuevo, antes que clústeres o datos.
- Cifras del curso
- El despliegue del workspace tardó unos 5 a 10 minutos en la demo.Lección: Creating Databricks Workspace Service
Plano de control y plano de datos
Quién posee qué
- Qué es
- El workspace de Azure Databricks se despliega en dos planos. El plano de control es el software de Databricks, una aplicación serverless bajo control de Databricks; el plano de datos es todo lo que se crea en la suscripción de Azure del cliente, bajo su control y en su factura.
- Cuándo usarlo
- La idea en la que insiste el curso: clústeres y datos siempre están en el plano de datos, las configuraciones en el plano de control.
Plano de control
La aplicación de Databricks
- Qué es
- Contiene la aplicación web, los notebooks creados en el workspace y la configuración de trabajos, consultas, alertas, flujos y clústeres. Sin acceso al back end: las únicas vías de entrada son la interfaz web y las API REST o las herramientas de línea de comandos.
- Cuándo usarlo
- Los scripts de automatización hablan con este plano: listar clústeres, lanzar trabajos, exportar notebooks.
Plano de datos
Tu suscripción, tu factura
- Qué es
- Las máquinas virtuales de los clústeres se crean en la suscripción de Azure del cliente: puedes verlas, entrar en ellas y terminarlas, y pagas a Azure por ellas. La capa de almacenamiento de datos también vive aquí.
- Cuándo usarlo
- El control de costes ocurre aquí: un clúster terminado sigue dejando discos y una IP pública hasta que se borra.
Almacenamiento raíz del workspace
Autocreado, no para datos
- Qué es
- Cada workspace crea una cuenta de almacenamiento por defecto en el plano de datos, expuesta como la raíz de DBFS. Está protegida por el workspace, es incómoda de alcanzar directamente desde la cuenta de nube y "no es la capa de almacenamiento que deberíamos usar" para el lago.
- Cuándo usarlo
- Déjaselo a Databricks; pon los datos del proyecto en una cuenta de almacenamiento propia.
Tu propia capa de almacenamiento
Control y custodia totales
- Qué es
- En un proyecto típico se crea una cuenta de almacenamiento aparte en tu suscripción "para tener control total, mantener los datos bajo nuestra custodia y protegerlos como queramos".
- Cuándo usarlo
- El almacenamiento del lakehouse: ADLS Gen2 montado o, mejor, gobernado a través de Unity Catalog.
Vías de acceso
Interfaz, API REST, CLI, SSO
- Qué es
- Los usuarios están fuera del plano de control y llegan a él por la interfaz web, autenticados con inicio de sesión único con sus credenciales de Azure, o por clientes de API REST y herramientas de línea de comandos.
- Cuándo usarlo
- Las personas usan la interfaz; los pipelines y el CI/CD usan la API y la CLI.
Clústeres
Donde corre el código Spark
- Qué es
- "El código Spark solo se ejecuta en un clúster de Spark". Un clúster de uso general se crea desde el menú Compute con un nombre, un tipo de clúster, un modo de acceso, un runtime de Databricks, tamaños de VM para workers y driver, autoescalado y terminación automática; el formulario muestra el coste estimado en DBU por hora.
- Cuándo usarlo
- Crea un clúster pequeño para aprender; crea uno multinodo solo cuando la lección lo necesite.
- Cifras del curso
- Arrancar un clúster tardó hasta 5 a 7 minutos en la demo.Lección: How to create Spark Cluster
Tipos de clúster
Uso general, trabajo, SQL warehouse
- Qué es
- Clústeres de uso general para trabajo interactivo, clústeres de trabajo para tareas programadas, SQL warehouses para la sección SQL, más pools de clústeres y políticas de seguridad y acceso. Crear un clúster desde un notebook ofrece la política Personal Compute.
- Cuándo usarlo
- Notebooks en clústeres de uso general mientras desarrollas; el mismo código en clústeres de trabajo en Workflows.
Multinodo frente a un solo nodo
Driver y executors
- Qué es
- Un clúster multinodo arranca el driver y los executors en máquinas separadas; un clúster de un solo nodo ejecuta ambos en una máquina y no tiene autoescalado. Una cuenta gratuita de Azure permite 4 núcleos de CPU, así que la configuración multinodo de la demo (dos workers de 4 núcleos más un driver, 12 núcleos) no se puede crear ahí.
- Cuándo usarlo
- Un solo nodo es "más que suficiente para aprender y desarrollar"; multinodo cuando el concepto necesita paralelismo real.
- Cifras del curso
- Dos workers más un driver de 4 núcleos cada uno = 12 núcleos; la cuenta gratuita se limita a 4.Lección: How to create Spark Cluster
Modos de acceso
Un usuario, compartido, sin aislamiento
- Qué es
- Tres opciones en el formulario: un solo usuario, compartido y compartido sin aislamiento. El curso elige un solo usuario y deja los detalles para capítulos posteriores.
- Cuándo usarlo
- Un solo usuario para tu clúster de desarrollo.
Runtime y Photon
LTS por defecto
- Qué es
- El runtime de Databricks por defecto es el último con soporte a largo plazo; la aceleración Photon es una casilla aparte con coste adicional, desmarcada en el curso. La versión del runtime se puede cambiar después desde el botón Edit del clúster.
- Cuándo usarlo
- Quédate en el LTS por defecto salvo que una librería necesite algo más nuevo.
Tamaño de workers y driver
VM por nodo
- Qué es
- El tipo de nodo worker es una configuración de VM por worker; la selección por defecto puede ser mayor y más cara de lo que necesitas. El driver puede tener el mismo tamaño que el worker o distinto. "No olvides comprobar dos cosas: el tipo de nodo y tu coste en DBU".
- Cuándo usarlo
- Aprendizaje: la VM más pequeña para ambos; producción: dimensiona los workers según los datos y el driver según lo que recoge.
- Cifras del curso
- VM mínima: 14 GB de memoria y 4 núcleos de CPU; dos workers así dan 8 núcleos y 28 GB.Lección: How to create Spark Cluster
Autoescalado
Workers mínimos y máximos
- Qué es
- Activado por defecto con un número mínimo y máximo de workers; Databricks añade workers cuando crece la carga y los termina cuando baja. El curso pone de 1 a 2 para aprender.
- Cuándo usarlo
- Cargas variables: paga el segundo worker solo mientras el trabajo lo necesita.
- Cifras del curso
- Rango de autoescalado por defecto: de 2 a 8 workers; la demo usa de 1 a 2.Lección: How to create Spark Cluster
Terminación automática, terminar, borrar
Protégete del coste en reposo
- Qué es
- La terminación automática está activada por defecto a 120 minutos en reposo y se puede fijar en 10 o más; "debes configurarla para protegerte de costes innecesarios". Un clúster terminado puede reiniciarse, pero sus discos, interfaces de red e IP pública siguen en la lista de recursos y Azure sigue cobrando una pequeña cantidad por ellos hasta que el clúster se borra definitivamente.
- Cuándo usarlo
- Aprendizaje: 30 minutos o menos, y borra el clúster después de practicar.
- Cifras del curso
- Terminación automática por defecto: 120 minutos en reposo; el curso recomienda 30 para clústeres de aprendizaje.Lección: How to create Spark Cluster
- Azure puede tardar hasta 10 minutos en limpiar los recursos tras un borrado definitivo.Lección: How to create Spark Cluster
Opciones avanzadas
Etiquetas, config, logs, scripts init
- Qué es
- Etiquetas personalizadas (metadatos definidos por el usuario para informes), configuraciones de Spark y variables de entorno por defecto aplicadas antes del arranque, una ubicación opcional para los logs del clúster (no se recogen por defecto) y scripts init: scripts de shell que instalan o configuran algo en la VM antes de que arranque Spark.
- Cuándo usarlo
- Databricks pone buenos valores por defecto; ven aquí para una librería que necesite cada nodo o una configuración que compartan todos los trabajos.
Coste en DBU
Unidad Databricks por hora
- Qué es
- El DBU, Databricks Unit, es el indicador del cargo propio de Databricks; el resumen muestra un rango por hora para la configuración elegida. La factura consolidada de Azure añade encima el coste de las VM y otros recursos. La regla aproximada del instructor: alrededor de un dólar por DBU, a menudo menos.
- Cuándo usarlo
- Estima un trabajo: DBU por hora por las horas, más las horas de VM.
- Cifras del curso
- La configuración de la demo mostraba de 1 a 3 DBU por hora.Lección: How to create Spark Cluster
Pestañas del clúster
Librerías, logs, Spark UI
- Qué es
- Una vez arrancado: Notebooks conectados, Libraries para instalar, Event log (entradas de arranque y parada), Spark UI, Driver logs (stdout, stderr, log4j) y Metrics con la monitorización Ganglia preconfigurada; Databricks también estaba añadiendo terminales web y RStudio. Edit cambia la configuración; algunos cambios reinician el clúster.
- Cuándo usarlo
- Un notebook lento: Spark UI para las etapas, logs del driver para los errores, métricas para la memoria.
Notebooks
El IDE de desarrollo
- Qué es
- Un notebook es tu archivo de código, escrito en celdas y ejecutado en un clúster conectado; el workspace devuelve la salida de cada celda debajo de ella. Se crea dentro de una carpeta del workspace con un lenguaje por defecto; el curso usa Python con celdas en varios lenguajes.
- Cuándo usarlo
- Todo el código del curso vive en notebooks de ejercicio (en blanco, con preguntas paso a paso) y notebooks de solución (rellenos).
Lenguajes, celdas y estado
Python, SQL, Scala, R
- Qué es
- Cuatro lenguajes por defecto: Python, SQL, Scala y R. El código va en celdas; Ctrl+Intro ejecuta la celda actual, Mayús+Intro la ejecuta y avanza, Escape sale del modo edición al modo comando. El notebook conserva el estado de las celdas ejecutadas, así que una variable de la celda uno es visible en la celda dos hasta que limpias el estado.
- Cuándo usarlo
- Un NameError tras reabrir un notebook suele significar que la celda que define la variable aún no se ha ejecutado.
- En código
Ctrl + Enter run the current cell Shift + Enter run the cell and move to the next one Esc leave the cell: command mode
Conectar, desconectar, reconectar
Un notebook, varios clústeres
- Qué es
- Un notebook solo se ejecuta conectado a un clúster en marcha (el botón Connect los lista o crea uno). Desde el desplegable del clúster puedes desconectarlo y conectarlo a otro, reiniciar el clúster, abrir la Spark UI o los logs del driver.
- Cuándo usarlo
- Desconéctalo del clúster de desarrollo, conéctalo al de pruebas y ejecuta el mismo notebook en ambos entornos.
Panel lateral derecho
Comentarios, historial, librerías
- Qué es
- Comentarios sobre líneas seleccionadas para revisar notebooks compartidos; Experiments (para científicos de datos); historial de revisiones, porque cada guardado crea una versión restaurable; un explorador de variables para depurar; y librerías de Python en tres niveles: notebook (solo pip preinstalado), clúster (nada extra) y runtime (muchas preinstaladas). Instala extras con pip en el notebook o a nivel de clúster para todos sus notebooks.
- Cuándo usarlo
- Restaura la versión de ayer tras una mala edición; comprueba el runtime antes de instalar con pip una librería que ya tiene.
Comandos mágicos
Cambian lo que hace una celda
- Qué es
- Una línea que empieza por % al principio de una celda cambia el lenguaje de la celda o se la entrega al sistema de archivos o al shell. Los notebooks de Databricks heredan además las magias de IPython. "Puedes crear una secuencia de bloques de código en varios lenguajes y ejecutarla como un solo notebook".
- Cuándo usarlo
- SQL para la consulta, Python para el bucle, Markdown para la explicación, todo en un archivo.
%sql, %scala, %python
Mezcla lenguajes por celda
- Qué es
- Cada celda usa por defecto el lenguaje del notebook; %sql, %scala o %python cambia solo esa celda. %python solo hace falta cuando el lenguaje por defecto del notebook es Scala o SQL.
- Cuándo usarlo
- Una comprobación rápida en SQL en medio de un notebook de PySpark.
- En código
%sql SELECT 1 + 1 %scala println("hello")
%md
Celdas de documentación
- Qué es
- Convierte una celda en Markdown para notas y documentación: enlaces, imágenes y formato enriquecido. El curso recomienda aprender Markdown para "crear una documentación excelente dentro de tus notebooks".
- Cuándo usarlo
- Un título y un párrafo encima de cada paso de un notebook de pipeline.
- En código
%md ## Step 1: load the raw files
%fs
Comandos de archivos sobre DBFS
- Qué es
- Ejecuta comandos habituales de sistema de archivos sobre el sistema distribuido, como ls en los conjuntos de datos precargados; por detrás usa la utilidad de archivos de dbutils, pero no ofrece todos los comandos de Linux.
- Cuándo usarlo
- Mira qué ha llegado a un directorio antes de leerlo con Spark.
- En código
%fs ls %fs ls /databricks-datasets/airlines
%sh
Shell de Linux en el driver
- Qué es
- Ejecuta comandos de shell de Linux, cubriendo lo que %fs no tiene: el curso muestra tail, no disponible con %fs, funcionando con %sh.
- Cuándo usarlo
- Inspecciona un archivo local o instala algo en el driver con una sola línea.
- En código
%sh tail /path/to/a/file
%lsmagic, ? y ??
Listar, documentar, leer la fuente
- Qué es
- %lsmagic lista todas las magias disponibles, la mayoría heredadas de IPython. Añade ? a una magia para ver su documentación y ?? para su código fuente; el curso muestra que %pip es una función de Python que ejecuta el comando pip del sistema.
- Cuándo usarlo
- Averigua qué hace una magia sin salir del notebook.
- En código
%lsmagic %pip? %pip??
Databricks Utilities (dbutils)
Utilidades desde código Python
- Qué es
- Un paquete de utilidades: credentials, data, fs, jobs, library, meta, notebook, preview, secrets y widgets. Muchas son experimentales o en vista previa; fs, notebook y widgets son "las más usadas". Cada utilidad se documenta a sí misma con help().
- Cuándo usarlo
- Aprende la mecánica de una y las demás siguen el mismo patrón.
- En código
dbutils.help() dbutils.fs.help() dbutils.fs.help("cp")
dbutils.fs
DBFS desde Python
- Qué es
- Las mismas operaciones que %fs (cp, head, ls, mkdirs, mv, put, rm, mount), con el comportamiento de los comandos de Linux, pero invocables desde Python para recorrer resultados y "aprovechar la potencia y flexibilidad de un lenguaje de programación".
- Cuándo usarlo
- Lista un directorio y procesa cada nombre de archivo en un bucle.
- En código
for f in dbutils.fs.ls("/"): print(f.name)
dbutils.notebook
Llama a un notebook desde otro
- Qué es
- Solo dos métodos, run y exit, pero juntos "permiten diseñar una aplicación Spark modular": un notebook principal llama a notebooks hijos (ruta completa, tiempo límite en segundos, argumentos opcionales) y lee el valor de salida que devuelve cada uno; la salida enlaza con el trabajo del notebook hijo.
- Cuándo usarlo
- Un notebook por asunto, reutilizado desde un notebook principal, en lugar de un archivo gigante.
- En código
result = dbutils.notebook.run("/Users/me/child_notebook", 60, {"name": "value"}) dbutils.notebook.exit("done")
dbutils.widgets
Parámetros del notebook
- Qué es
- Añade argumentos de entrada a un notebook: text (el más común), combobox, dropdown y multiselect, cada uno con un nombre, un valor por defecto y una etiqueta que aparece arriba del notebook; get lee el valor, removeAll los elimina. El notebook padre pasa los valores como pares clave-valor en run.
- Cuándo usarlo
- Código parametrizado: el mismo notebook se ejecuta para otra fecha u otra fuente según la entrada.
- En código
dbutils.widgets.text("name", "", "Your name") value = dbutils.widgets.get("name") dbutils.widgets.removeAll()
Las demás utilidades
secrets, jobs, data, library
- Qué es
- credentials muestra y asume roles de usuario; data resume un DataFrame; jobs interactúa con los trabajos de workflow; library compila en local aplicaciones que usan dbutils; meta se engancha al compilador; preview expone utilidades ocultas; secrets lee credenciales seguras, la solución a los secretos escritos a mano en un notebook de montaje.
- Cuándo usarlo
- Usa secrets en cuanto un notebook necesite un secreto de cliente.
- En código
dbutils.secrets.help()
DBFS y almacenamiento
Almacenamiento en la nube como directorio
- Qué es
- El Databricks File System: "una abstracción de sistema de archivos distribuido sobre almacenamiento escalable en la nube, integrada en el workspace y disponible en los clústeres". En términos simples, un sistema de archivos virtual que permite tratar el almacenamiento en la nube como directorios, subdirectorios y archivos.
- Cuándo usarlo
- Cómo los notebooks se refieren a los datos: rutas en lugar de API de cuentas de almacenamiento.
Raíz de DBFS
dbfs:/ es el valor por defecto
- Qué es
- La cuenta de almacenamiento que Databricks crea por workspace (nombrada según el grupo de recursos y el workspace) se monta como raíz de DBFS. El calificador dbfs: es opcional porque DBFS es el sistema de archivos por defecto; la raíz contiene directorios de configuración de Databricks y /databricks-datasets, datos de ejemplo disponibles en todos los workspaces. No es para los datos de tu proyecto.
- Cuándo usarlo
- Explora los conjuntos de ejemplo para practicar; monta tu propio almacenamiento para cualquier cosa real.
- En código
%fs ls dbfs:/ %fs ls /databricks-datasets/ %fs mounts
Sistema de archivos local del driver
file:/
- Qué es
- El otro sistema de archivos disponible por defecto: file: apunta al disco local de la máquina driver (lib64, boot y el resto de una raíz de Linux).
- Cuándo usarlo
- Archivos temporales que escribe una librería de una sola máquina antes de copiarlos a DBFS.
- En código
%fs ls file:/
Montar ADLS Gen2Cinco pasos
- Qué es
- Lleva una cuenta de almacenamiento propia bajo la raíz de DBFS: crea una cuenta ADLS Gen2, crea un contenedor, crea un principal de servicio con un secreto, dale acceso a la cuenta y después monta el contenedor desde el workspace. Cuatro pasos ocurren en Azure, el último en un notebook.
- Cuándo usarlo
- La forma del curso de meter los datos de ejemplo en la plataforma; mira la tarjeta de límites antes de usarla en un proyecto.
- Cifras del curso
- Los puntos de montaje de usuario siempre viven bajo /mnt en la raíz de DBFS.Lección: Mounting ADLS to DBFS
1. Cuenta de almacenamiento
ADLS Gen2 = espacio de nombres jerárquico
- Qué es
- Crea una cuenta de almacenamiento en la misma región que el workspace con un nombre único a nivel global (sin guiones), rendimiento estándar, almacenamiento con redundancia local para aprender y la casilla Enable hierarchical namespace marcada en Advanced: eso la convierte en Azure Data Lake Storage Gen2, "diseñada y optimizada específicamente para almacenamiento de data lake". Gen1 y el blob storage normal no se recomiendan.
- Cuándo usarlo
- La capa de almacenamiento de datos del proyecto, fuera del almacenamiento raíz del workspace.
2. Contenedor
El directorio raíz
- Qué es
- Un contenedor es el directorio raíz dentro de la cuenta (la cuenta solo lleva configuración como el nivel y la redundancia); crea tantos como necesites. Desde el portal puedes crear subdirectorios y subir archivos.
- Cuándo usarlo
- Un contenedor por área de datos; el curso usa uno para los datos de ejemplo.
3. Principal de servicio y secreto
Un usuario para la aplicación
- Qué es
- Un usuario de aplicación: registra una app en Microsoft Entra ID (el renombrado Azure Active Directory) y anota su ID de cliente y su ID de tenant, y después crea un secreto de cliente en Certificates & secrets. El valor del secreto se muestra una sola vez; cópialo.
- Cuándo usarlo
- Databricks se autentica en el almacenamiento como este principal, no como una persona.
- Cifras del curso
- El secreto de la demo se creó con tres meses de validez.Lección: Mounting ADLS to DBFS
4. Asignación de rol
Storage Blob Data Contributor
- Qué es
- En la cuenta de almacenamiento, Access control (IAM), Add role assignment: el rol predefinido Storage Blob Data Contributor, asignado al principal de servicio, le permite crear directorios y archivos y leer, escribir y borrar.
- Cuándo usarlo
- El paso de permisos que la gente olvida; sin él, la llamada de montaje falla.
5. dbutils.fs.mount
Configuración OAuth y abfss://
- Qué es
- Copiado de la documentación: un diccionario configs con el tipo de autenticación OAuth, la clase proveedora de Microsoft, el ID de cliente, el secreto de cliente y el endpoint de tokens con el ID de tenant, y después dbutils.fs.mount con el origen abfss (contenedor y cuenta de almacenamiento) y un punto de montaje bajo /mnt. Devuelve True y los datos aparecen bajo el montaje.
- Cuándo usarlo
- Todo el que tenga acceso al workspace puede entonces leer /mnt/files como una carpeta local.
- En código
configs = {"fs.azure.account.auth.type": "OAuth", "fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider", "fs.azure.account.oauth2.client.id": client_id, "fs.azure.account.oauth2.client.secret": client_secret, "fs.azure.account.oauth2.client.endpoint": f"https://login.microsoftonline.com/{tenant_id}/oauth2/token"} dbutils.fs.mount(source=f"abfss://{container}@{storage_account}.dfs.core.windows.net/", mount_point=f"/mnt/{mount_name}", extra_configs=configs) %fs ls /mnt/files
Desmontar y volver a montar
Los datos no se mueven
- Qué es
- dbutils.fs.unmount elimina el punto de montaje; leerlo después da "no such file or directory", pero nada se pierde: los archivos siguen en el contenedor y reaparecen al volver a montar. Los archivos creados desde el portal y desde el workspace van al mismo sitio.
- Cuándo usarlo
- Rota un secreto: desmonta, actualiza la configuración, vuelve a montar.
- En código
dbutils.fs.unmount("/mnt/files")
Dos problemas de los montajes
Por qué Unity Catalog en su lugar
- Qué es
- Primero, el notebook expone el ID de cliente, el ID de tenant y el secreto a cualquiera que lea el control de versiones; la solución es Azure Key Vault leído a través de dbutils.secrets. Segundo, un directorio montado es visible para todos los usuarios del workspace sin un control detallado sencillo. "DBFS no es el enfoque recomendado para montar la capa de almacenamiento"; el enfoque recomendado es Unity Catalog.
- Cuándo usarlo
- Montajes para aprender y para datos que todos pueden ver; Unity Catalog para cualquier cosa con reglas de acceso.
Fuentes: Coursera, "Fundamentals of Azure Databricks" de Packt (los vídeos de Mastering Azure Databricks for Data Engineers) y los resúmenes de sección de "Databricks Certified Associate Developer for Apache Spark using Python" de Packt, transcripciones obtenidas el 5 de noviembre de 2026. Las definiciones, comandos y cifras son los de los cursos; Unity Catalog, Delta Lake, DLT, Workflows y Repos aparecen solo como los describe el temario. Consulta docs.databricks.com para la interfaz, los límites y los precios actuales.