Descripción de los conceptos clave
Azure Databricks es una plataforma de servicio única con varias tecnologías que permiten trabajar con datos a escala. Al usar Azure Databricks, hay algunos conceptos clave que se deben comprender.
Áreas de trabajo
Un área de trabajo de Azure Databricks es un entorno seguro y colaborativo donde puede acceder y organizar todos los recursos de Databricks, como cuadernos, clústeres, trabajos, bibliotecas, paneles y experimentos.
Puede abrir un área de trabajo de Azure Databricks desde Azure Portal; para ello, seleccione Iniciar área de trabajo.
Proporciona una interfaz de usuario (UI) basada en web, así como API REST para administrar recursos y flujos de trabajo. Las áreas de trabajo se pueden estructurar en carpetas para organizar proyectos, canalizaciones de datos o recursos de equipo, y los permisos se pueden aplicar en distintos niveles para controlar el acceso. Admiten la colaboración al permitir que varios usuarios(como ingenieros de datos, analistas y científicos de datos) trabajen juntos en cuadernos compartidos, realice un seguimiento de los experimentos y administre las dependencias.
Además, las áreas de trabajo están vinculadas al Catálogo de Unity (cuando está habilitada) para la gobernanza de datos centralizada, lo que garantiza un acceso seguro a los datos de toda la organización. Cada área de trabajo también está vinculada a un grupo de recursos de Azure subyacente (incluido un grupo de recursos administrado) que contiene los recursos de proceso, redes y almacenamiento que Databricks usa en segundo plano.
Notebooks
Los cuadernos de Databricks son documentos interactivos basados en web que combinan código ejecutable, visualizaciones y texto narrativo en un único entorno. Admiten varios lenguajes (como Python, R, Scala y SQL) y permiten a los usuarios cambiar entre lenguajes dentro del mismo cuaderno mediante comandos magic. Esta flexibilidad hace que los cuadernos sean adecuados para el análisis exploratorio de datos, la visualización de datos, los experimentos de aprendizaje automático y la creación de canalizaciones de datos complejas.
Los cuadernos también están diseñados para la colaboración: varios usuarios pueden editar y ejecutar celdas simultáneamente, agregar comentarios y compartir información en tiempo real. Se integran estrechamente con clústeres de Databricks, lo que permite a los usuarios procesar grandes conjuntos de datos de forma eficaz y pueden conectarse a orígenes de datos externos a través del Catálogo de Unity para el acceso controlado a los datos. Además, los cuadernos pueden controlarse por versiones, programarse como tareas o exportarse para compartir fuera de la plataforma, lo que los convierte en fundamentales para los flujos de trabajo de exploración ad hoc y de nivel de producción.
Los cuadernos contienen una colección de dos tipos de celdas: celdas de código y celdas Markdown. Las celdas de código contienen código ejecutable. Las celdas de Markdown contienen código Markdown que se representa como texto y gráficos. Puede ejecutar una sola celda, un grupo de celdas o todo el cuaderno.
Clústeres
Azure Databricks aprovecha una arquitectura de dos niveles:
- Plano de control: esta capa interna, administrada por Microsoft, controla los servicios back-end específicos de la cuenta de Azure Databricks.
- Plano de proceso: esta es la capa externa que procesa los datos y reside en la suscripción de Azure.
Los clústeres son los motores de cálculo principales de Azure Databricks. Proporcionan la potencia de procesamiento necesaria para ejecutar tareas de ingeniería de datos, ciencia de datos y análisis. Cada clúster consta de un nodo de controlador, que coordina la ejecución y uno o varios nodos de trabajo, que controlan los cálculos distribuidos. Los clústeres se pueden crear manualmente con recursos fijos o establecerse en el escalado automático, lo que permite a Databricks agregar o quitar nodos de trabajo en función de la demanda de la carga de trabajo. Esta flexibilidad garantiza un uso eficaz de los recursos y el control de costos.
Azure Databricks Compute ofrece un amplio conjunto de opciones de proceso disponibles para diferentes tipos de carga de trabajo:
- Proceso sin servidor: proceso totalmente administrado y a petición que se escala o reduce verticalmente automáticamente para satisfacer las necesidades de la carga de trabajo. Ideal para equipos que quieran tiempos de inicio rápidos, sobrecarga de administración mínima y escalado elástico.
- Proceso clásico: clústeres aprovisionados y configurados por el usuario que ofrecen control total sobre la configuración de proceso, como tamaños de máquina virtual, bibliotecas y versiones en tiempo de ejecución. Ideal para cargas de trabajo especializadas que requieren personalización o rendimiento coherente.
- Almacenes SQL: recursos de computación optimizados para análisis y consultas de BI basados en SQL. Los almacenes de SQL se pueden aprovisionar como sin servidor (elástico, administrado) o clásico (configurado por el usuario) en función de los requisitos de gobernanza y rendimiento.
Esto le permite adaptar la computación a necesidades específicas, desde análisis exploratorios en cuadernos hasta ETL a gran escala y paneles de control e informes de alto rendimiento.
Databricks Runtime
Databricks Runtime es un conjunto de compilaciones personalizadas de Apache Spark que incluyen mejoras de rendimiento y bibliotecas adicionales. Estos entornos de ejecución facilitan el control de tareas como el aprendizaje automático, el procesamiento de grafos y la genómica, a la vez que admiten el procesamiento y el análisis generales de datos.
Databricks proporciona varias versiones en tiempo de ejecución, incluidas las versiones de soporte técnico a largo plazo (LTS ). Cada versión especifica la versión subyacente de Apache Spark, su fecha de lanzamiento y cuándo finalizará la compatibilidad. Con el tiempo, las versiones anteriores del entorno de ejecución siguen un ciclo de vida:
- Heredado : disponible, pero ya no se recomienda.
- En desuso : marcado para su eliminación en una versión futura.
- Fin del soporte técnico (EoS): no se proporcionan más revisiones ni correcciones.
- Fin de vida (EoL): retirado y ya no está disponible.
Si se publica una actualización de mantenimiento para una versión en tiempo de ejecución que usa, puede aplicarla reiniciando el clúster.
Trabajos de Lakeflow
Los trabajos de Lakeflow proporcionan automatización y orquestación de flujos de trabajo en Azure Databricks, lo que permite programar, coordinar y ejecutar tareas de procesamiento de datos de forma confiable. En lugar de ejecutar código manualmente, puede usar trabajos para automatizar cargas de trabajo repetitivas o de nivel de producción, como canalizaciones de ETL, entrenamiento de aprendizaje automático o actualizaciones de paneles.
Un trabajo en Databricks es básicamente un contenedor para una o varias tareas. Las tareas definen el trabajo que se va a realizar; por ejemplo, ejecutar un cuaderno, ejecutar un trabajo de Spark, llamar a código externo, ...
Los trabajos se pueden desencadenar de diferentes maneras:
- Según una programación (por ejemplo, todas las noches a medianoche).
- En respuesta a un evento.
- Manualmente, cuando sea necesario.
Dado que son repetibles y administrados, los trabajos son críticos para las cargas de trabajo de producción. Garantizan que las canalizaciones de datos se ejecutan de forma coherente, los modelos de ML se entrenan e implementan de forma controlada y los sistemas de bajada reciben datos actualizados y precisos.
Delta Lake
Delta Lake es un marco de almacenamiento de código abierto que mejora la confiabilidad y escalabilidad de los lagos de datos mediante la adición de características transaccionales sobre el almacenamiento de objetos en la nube, como Azure Data Lake Storage. Los lagos de datos tradicionales pueden sufrir problemas como datos incoherentes, escrituras parciales o dificultades para administrar el acceso simultáneo. Delta Lake soluciona estos problemas al admitir:
- Transacciones ACID (atomicidad, coherencia, aislamiento, durabilidad) para lecturas y escrituras confiables.
- Control escalable de metadatos para que las tablas puedan crecer hasta miles de millones de archivos sin pérdida de rendimiento.
- El control de versiones y la reversión de datos permiten las consultas de viaje en el tiempo y la recuperación de estados anteriores.
- Procesamiento unificado de lotes y en tiempo real, por lo que la misma tabla puede manejar la ingesta en tiempo real y las cargas históricas por lotes.
Además de esta base, las tablas Delta proporcionan una abstracción de tabla conocida que facilita el trabajo con datos estructurados mediante consultas SQL o la API DataFrame. Las tablas delta son el formato de tabla predeterminado en Azure Databricks, lo que garantiza que los nuevos datos se almacenan con garantías transaccionales de forma predeterminada.
Databricks SQL
Databricks SQL aporta funcionalidades de almacenamiento de datos a Databricks Lakehouse, lo que permite a los analistas y usuarios empresariales consultar y visualizar los datos almacenados en formatos abiertos directamente en el lago de datos. Admite ANSI SQL, por lo que cualquier usuario familiarizado con SQL puede ejecutar consultas, compilar informes y crear paneles sin necesidad de aprender nuevos lenguajes o herramientas.
Databricks SQL solo está disponible en el nivel Premium de Azure Databricks. Incluye:
- Editor de SQL para escribir y ejecutar consultas.
- Paneles y herramientas de visualización para compartir información.
- Integración con herramientas externas de inteligencia empresarial y análisis.
SQL Warehouses
Todas las consultas SQL de Databricks se ejecutan en almacenes de SQL (anteriormente denominados puntos de conexión de SQL), que son recursos de proceso escalables desacoplados del almacenamiento. Hay diferentes tipos de almacenamiento disponibles en función del rendimiento, el costo y las necesidades de administración:
Almacenes de SQL sin servidor
- Proceso instantáneo y elástico con inicio rápido y escalado automático.
- Sobrecarga de administración baja , ya que Databricks controla la capacidad, la aplicación de revisiones y la optimización.
- Rentabilidad mediante el escalado automático y evitando los costos de recursos inactivos.
Pro SQL Warehouses
- Más personalizable pero más lento para empezar (≈4 minutos).
- Escalado automático menos dinámico en comparación con el sin servidor.
- Resulta útil cuando se requieren cargas de trabajo coherentes y predecibles.
Almacenes de SQL clásicos
- Los recursos de proceso se ejecutan en su propia suscripción de Azure, no en Databricks.
- Menos flexible que sin servidor, pero puede ser preferible para requisitos específicos de gobernanza o administración de costos.
MLflow
MLflow es una plataforma de código abierto diseñada para administrar el ciclo de vida de aprendizaje automático (ML) de un extremo a otro. Ayuda a los científicos de datos e ingenieros de ML a realizar un seguimiento de experimentos, administrar modelos y simplificar el proceso de mover modelos de desarrollo a producción. MLflow también admite flujos de trabajo de IA generativos e incluye herramientas para evaluar y mejorar los agentes de IA.