02. Perform Data Analysis With Azure Databricks
02. Perform Data Analysis With Azure Databricks
Databricks
Introducción
Realizar análisis de datos es importante, ya que le ayuda a comprender y tener sentido de
los datos sin procesar. Independientemente del caso de uso, puede usar el análisis de
datos para buscar patrones, detectar tendencias inusuales y comprender las relaciones
dentro de sus datos. El análisis de los datos ayuda a tomar mejores decisiones, mejorar
las operaciones y lograr objetivos.
Para realizar el análisis de datos, debe ingerir datos en Azure Databricks y explorar los
datos dentro de la plataforma. Puede ingerir datos almacenados en orígenes como Azure
Data Lake, Azure SQL Database o Azure Cosmos Database, ya que Azure Databricks
admite varios métodos de ingesta de datos.
Una vez que se ingieren datos, Databricks proporciona herramientas eficaces para la
exploración de datos, incluidos cuadernos de colaboración que admiten Python, Scala,
SQL y R. Estos cuadernos habilitan a los equipos realizar análisis exploratorios de datos
(EDA) de forma eficaz, lo que permite que la visualización, manipulación y examen de
datos descubra patrones, anomalías y correlacione
Ingesta de datos con Azure Databricks
Para poder trabajar con datos en Azure Databricks, debe ingerir datos en la plataforma.
Una vez en la plataforma, el proceso basado en la nube le permite procesar grandes
volúmenes de datos de forma eficaz.
Hay varias maneras de ingerir datos en Azure Databricks, por lo que es una herramienta
versátil y eficaz para el análisis de datos:
Ingesta de datos en tiempo real con Event Hubs y los centros de IoT
Para la ingesta de datos en tiempo real, Azure Event Hubs y los centros de IoT son las
opciones más adecuadas. Permiten transmitir datos directamente a Azure Databricks, lo
que te permite procesar y analizar datos a medida que llegan. La ingesta y el análisis de
datos en tiempo real son útiles para escenarios como la supervisión de eventos en directo
o el seguimiento de datos de dispositivos de Internet de las cosas (IoT).
Ingesta de datos directamente desde Azure Blob Storage y Azure Data Lake
Azure Blob Storage y Azure Data Lake Storage Gen2 son perfectos para almacenar
grandes cantidades de datos no estructurados. Puedes ingerir fácilmente estos datos en
Databricks mediante:
DBFS ofrece una manera más sencilla y más integrada de trabajar con datos en Azure
Blob Storage, mientras que las API de Spark proporcionan mayor flexibilidad y
rendimiento para las tareas de procesamiento de datos a gran escala. La elección entre
los dos depende de su caso de uso y requisitos específicos.
Nota
Azure Data Lake Storage Gen2 se basa en Azure Blob Storage, combinando las
funcionalidades de ambos servicios. Azure Blob Storage está diseñado para almacenar
grandes cantidades de datos no estructurados, mientras que Azure Data Lake Storage
Gen2 agrega características específicas para el análisis de macrodatos, como el
espacio de nombres jerárquico y el control de acceso específico.
Una vez que se ingieren los datos, puede explorar los datos para descubrir información
accionable. Los cuadernos de Azure Databricks proporcionan un entorno de colaboración
donde puede realizar análisis mediante PySpark, Scala, R o SQL. Estos cuadernos no
son solo eficaces, sino también fáciles de usar, lo que facilita la manipulación y
visualización de los datos.
Identificar las cargas de trabajo de Azure
Databricks
Azure Databricks ofrece funcionalidades para varias cargas de trabajo, como Machine
Learning y modelos de lenguaje grande (LLM), ciencia de datos, ingeniería de datos, BI y
almacenamiento de datos y procesamiento de streaming.
Nota
SQL Warehouse solo está disponible en áreas de trabajo premium de Azure Databricks.
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.
Notebooks (Cuaderno)
Los Notebooks de Databricks son documentos colaborativos que contienen código
ejecutable, visualizaciones y texto narrativo. Admiten varios lenguajes, incluidos Python,
R, Scala y SQL, que se pueden usar simultáneamente en el mismo cuaderno. Los
cuadernos son fundamentales para los proyectos colaborativos y son ideales para el
análisis exploratorio de datos, la visualización de datos y los flujos de trabajo de datos
complejos.
Clústeres
Los clústeres son los motores de cálculo de Azure Databricks. Los usuarios pueden crear
y escalar clústeres según los recursos informáticos necesarios. Los clústeres se pueden
configurar manualmente o establecer en escalado automático en función de la carga de
trabajo. Admiten distintos tipos de nodos para varias tareas, como los nodos de
controlador y de trabajo, lo que garantiza un uso eficaz de los recursos.
Jobs (Trabajos)
Los Jobs de Azure Databricks se usan para programar y ejecutar tareas automatizadas.
Estas tareas pueden ser ejecuciones de cuadernos, trabajos de Spark o ejecuciones
arbitrarias de código. Los trabajos se pueden desencadenar según una programación o
ejecutarse en respuesta a determinados eventos, lo que facilita la automatización de flujos
de trabajo y tareas periódicas de procesamiento de datos.
Databricks Runtime (Entorno de tiempo de ejecución de
Databricks)
Databricks Runtime es un conjunto de versiones optimizadas para el rendimiento de
Apache Spark. Incluye mejoras para mejorar el rendimiento y funcionalidad adicional más
allá de Spark estándar, como optimizaciones para cargas de trabajo de aprendizaje
automático, procesamiento de grafos y genomics.
Delta Lake
Delta Lake es una capa de almacenamiento de código abierto que aporta confiabilidad y
escalabilidad a los lagos de datos. Proporciona transacciones ACID, control de metadatos
escalables y unifica el procesamiento de datos por lotes y streaming, todo fundamental
para administrar datos a gran escala de forma coherente y tolerante a errores.
Databricks SQL
Databricks SQL proporciona una manera de realizar consultas SQL en los datos de
Azure Databricks. Permite a los analistas de datos ejecutar consultas ad hoc rápidas y
crear informes directamente en macrodatos. Incluye un editor de SQL, paneles y
herramientas de visualización automática, por lo que resulta fácil de usar para aquellos
acostumbrados a entornos SQL.
MLflow
MLflow es una plataforma de código abierto para administrar el ciclo de vida de
aprendizaje automático de un extremo a otro. Incluye funciones para el seguimiento de
experimentos, la gestión de modelos y la implementación, lo que ayuda a los
profesionales a administrar y compartir sus modelos y experimentos de ML de manera
eficiente.
Gobierno de datos mediante Unity Catalog y
Microsoft Purview
El gobierno de datos es fundamental para garantizar que los datos de una organización se
administran de forma segura, eficaz y conforme a las normativas. Azure Databricks,
combinado con Unity Catalog y Microsoft Purview, proporciona una solución sólida para
administrar y gobernar datos de manera eficaz.
Unity Catalog
Unity Catalog es una característica de Azure Databricks que ofrece una solución de
gobernanza unificada para todos los recursos de datos e inteligencia artificial. Proporciona
un metastore centralizado que administra objetos de datos en todas las áreas de trabajo
de una organización.
Microsoft Purview
Microsoft Purview es un servicio de gobernanza de datos unificado que le ayuda a
administrar y controlar sus datos locales, multinube y de software como servicio (SaaS).
Proporciona funcionalidades como la detección de datos, la clasificación de datos, el linaje
de datos y la gobernanza del acceso a datos.
Nota
Para completar este laboratorio, necesitará una suscripción de Azure en la que tenga
acceso administrativo.
Crear un clúster
Azure Databricks es una plataforma de procesamiento distribuido que utiliza clústeres
Apache Spark para procesar datos en paralelo en varios nodos. Cada clúster consta de
un nodo controlador para coordinar el trabajo y nodos de trabajo para realizar tareas de
procesamiento. En este ejercicio, creará un clúster de un solo nodo para minimizar los
recursos informáticos utilizados en el entorno de laboratorio (en el que los recursos
pueden estar limitados). En un entorno de producción, normalmente crearía un clúster con
varios nodos de trabajo.
Nota
Si ya tiene un clúster con una versión de ejecución 13.3 LTS o superior en su espacio
de trabajo de Azure Databricks, puede usarlo para completar este ejercicio y omitir este
procedimiento.
1. En el portal de Azure, busque el grupo de recursos msl-xxxxxxx (o el grupo de
recursos que contiene su espacio de trabajo de Azure Databricks existente) y
seleccione su recurso de servicio de Azure Databricks.
2. En la página Overview de su espacio de trabajo, use el botón Launch
Workspace para abrir su espacio de trabajo de Azure Databricks en una nueva
pestaña del navegador; inicie sesión si se le solicita.
Nota
o Cluster name: clúster del nombre de usuario (el nombre del clúster
predeterminado).
o Policy: Sin restricciones
o Cluster mode: Nodo único
o Access mode: Usuario único (Con su cuenta de usuario seleccionada)
o Databricks runtime version: 13.3 LTS (Spark 3.4.1, Scala 2.12) or
posterior.
o Use Photon Acceleration: Seleccionado
o Node type: Standard_D4ds_v5
o Terminar después de 20 minutos de inactividad.
Nota
Sql
%sql
SELECT * FROM `hive_metastore`.`default`.`products`;
Nota
Es posible que tengas que mover el mouse debajo de la celda de salida para que
aparezca el ícono + Code.
● Área de trabajo
● Notebook
● Clúster
3. ¿Qué debe hacer para minimizar los costos después de finalizar las tareas de
análisis de datos en Azure Databricks?
Saber más
● Documentación de Azure Databricks
● Introducción a Azure Databricks
● Documentación de Microsoft Purview
● Catálogo Databricks Unity