Antes de contaros qué es Azure Databricks, hablemos de Apache Spark y de Notebooks para que podamos entender perfectamente qué es.
Apache Spark
Apache Spark se define como un motor de análisis unificado para el procesamiento de datos a gran escala. Básicamente es un cluster Open Source de computación distribuida pensado para ejecutar consultas de análisis de datos y algoritmos de Machine Learning.
Notebooks
Notebooks es una de las interfaces que nos permite interactuar con Databricks. Desde el punto de vista de un Data Scientist, es la herramienta de desarrollo donde implementaremos nuestros algoritmos, procesos de transformación de datos, cuadros de mandos, etc.
Soporta una amplia variedad de formatos, como puede ser un script de Python, un script de R, un Jupyter Notebook, etc.
¿Qué es Databricks?
Si juntamos estos dos conceptos principales, que son Spark y Notebooks, tenemos un 75% de la definición de Databricks.
Pensemos en Databricks como un espacio de trabajo, Workspace, basado en Apache Spark, que permite colaborar a científicos de datos y ingenieros de datos en diferentes clusters mediante el desarrollo de Notebooks y bajo el soporte de un Runtime basado en Apache Spark donde se ejecutan todas las operaciones.
La gran ventaja para un científico de datos es que desde una misma herramienta puede hacer su trabajo de desarrollo, utilizando los distintos clusters disponibles o creados por él mismo o por sus compañeros, los ingenieros de datos.
Para un ingeniero de datos, se abre un mundo de posibilidades. Por un lado, le permite planificar y/o ejecutar bajo demanda los diferentes Notebooks que han desarrollados los científicos de datos, además de normalizar los datos o compartir las diferentes conexiones usando Notebooks o el almacenamiento seguro de Databricks.
¿Y qué ofrece Azure en el conjunto de Databricks?
Azure Databricks es un servicio de primer nivel que nos permite crear un Workspace en unos sencillos pasos.
El Runtime de Databricks se ejecuta con todo el potencial de Azure, pudiendo crear clusters con las diferentes SKUs (tipos de maquinas virtuales) que Microsoft nos ofrece en Azure, así podemos crear un cluster con de VMs con GPUS, VMs optimizadas para cómputo, máquinas optimizado para el uso de la memoria, etc. Añadiendo la posibilidad de configurar un Autoescalado, para consumir en cada momento lo que realmente necesitamos, la opción de apagar el cluster cuando no lo estemos usando o utilizar un cluster en modo Serverless.
La capa de seguridad empresarial la pone Azure AD, sirviendo éste último como servicio de identidades asociado a nuestros Workspace de Databricks para gestionar los accesos y los permisos.