0% encontró este documento útil (0 votos)
4 vistas19 páginas

02. Perform Data Analysis With Azure Databricks

El documento describe el uso de Apache Spark en Azure Databricks para el análisis de datos, destacando la ingesta de datos desde diversas fuentes y las herramientas de exploración disponibles. También se abordan las cargas de trabajo específicas como Machine Learning y SQL, así como conceptos clave como Workspaces, Notebooks y Unity Catalog para la gobernanza de datos. Finalmente, se presenta un ejercicio práctico para aprovisionar un Workspace y crear un clúster en Azure Databricks.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas19 páginas

02. Perform Data Analysis With Azure Databricks

El documento describe el uso de Apache Spark en Azure Databricks para el análisis de datos, destacando la ingesta de datos desde diversas fuentes y las herramientas de exploración disponibles. También se abordan las cargas de trabajo específicas como Machine Learning y SQL, así como conceptos clave como Workspaces, Notebooks y Unity Catalog para la gobernanza de datos. Finalmente, se presenta un ejercicio práctico para aprovisionar un Workspace y crear un clúster en Azure Databricks.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Uso de Apache Spark en Azure

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:

Orquestación de canalizaciones de datos con Azure Data


Factory
Azure Data Factory es un servicio de integración de datos sólido que permite crear
canalizaciones de datos. Estas canalizaciones pueden ingerir datos de varios orígenes en
Azure Databricks, lo que garantiza que todos los datos estén centralizados y listos para el
análisis.

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:

 Sistema de archivos de Databricks (DBFS): Un sistema de archivos distribuido


integrado con Azure Databricks, lo que le permite montar contenedores de Azure
Blob Storage y acceder a ellos como si formasen parte del sistema de archivos
local.
 API de Spark: las API de Spark proporcionan una manera flexible de leer y
escribir datos de Azure Blob Storage directamente en DataFrames de Spark,
mediante las funcionalidades de procesamiento paralelo de Spark para un
procesamiento eficaz de datos a gran escala.

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.

Exploración de los datos ingeridos en cuadernos

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.

Ciencia e ingeniería de datos


Esta carga de trabajo está diseñada para científicos de datos e ingenieros que necesitan
colaborar en tareas complejas de procesamiento de datos. Proporciona un entorno
integrado con Apache Spark para el procesamiento de macrodatos en una instancia de
almacén de lago de datos y admite varios lenguajes, como Python, R, Scala y SQL. La
plataforma facilita la exploración, visualización y desarrollo de las canalizaciones de datos.
Machine Learning
La carga de trabajo de Machine Learning en Azure Databricks está optimizada para
compilar, entrenar e implementar modelos de aprendizaje automático a escala. Incluye
MLflow, una plataforma de código abierto para administrar el ciclo de vida de Machine
Learning, incluida la experimentación, la reproducibilidad y la implementación. También
admite varios marcos de aprendizaje automático, como TensorFlow, PyTorch y Scikit-
learn, lo que lo hace versátil para diferentes tareas de Machine Learning.
SQL
La carga de trabajo de SQL está orientada a analistas de datos que interactúan
principalmente con los datos a través de SQL. Proporciona un conocido editor de SQL,
paneles y herramientas de visualización automática para analizar y visualizar datos
directamente en Azure Databricks. Esta carga de trabajo es ideal para ejecutar consultas
ad hoc rápidas y crear informes a partir de grandes conjuntos de datos.

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.

Workspaces (Áreas de trabajo)


Un Workspace es un entorno para acceder a todos los recursos de Databricks.
Proporciona una interfaz de usuario para administrar cuadernos, bibliotecas y
experimentos. Las áreas de trabajo se pueden organizar en carpetas y compartirse entre
los miembros del equipo, lo que facilita la colaboración y la administración de recursos.

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.

Herramientas de gobierno de datos


A continuación se muestra información general sobre cómo se puede implementar la
gobernanza de datos mediante Unity Catalog y Microsoft Purview.

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.

Introducción a Unity Catalog


Unity Catalog en Azure Databricks es un metastore centralizado que administra
metadatos para todos los recursos de datos y recursos de IA en áreas de trabajo de
Databricks. Permite controles de seguridad específicos y directivas de gobernanza a
escala, lo que facilita la administración de datos entre varios equipos y proyectos de forma
segura.

Características clave de Unity Catalog

● Espacio de nombres unificado: Unity Catalog ofrece un único espacio de


nombres para conjuntos de datos, archivos y modelos de aprendizaje automático
en todas las áreas de trabajo, lo que facilita la administración y detección de
recursos.
● Control de acceso de grano fino: Permite a los administradores establecer
controles de acceso precisos a los datos utilizando declaraciones SQL GRANT y
REVOKE estándar, alineándose con el principio del mínimo privilegio.
● Linaje de datos: Unity Catalog captura y muestra el linaje de datos, lo cual es
fundamental para rastrear el flujo de datos y comprender sus transformaciones a lo
largo del tiempo.
● Administración centralizada de metadatos: Administra todos los metadatos de
forma centralizada, lo que garantiza que las definiciones, las descripciones y otros
metadatos sean coherentes entre proyectos y áreas de trabajo.
● Integración con Databricks SQL: Unity Catalog está totalmente integrado con
Databricks SQL, lo que permite consultar y administrar sin problemas los recursos
de datos sin mover datos de la plataforma.

Descripción general de Microsoft Purview


Microsoft Purview ofrece un conjunto de herramientas de gobernanza de datos diseñadas
para proporcionar visibilidad, control e información sobre el uso de datos en toda una
organización. Te ayuda a detectar, clasificar, proteger y supervisar datos,
independientemente de dónde resida.

Características clave de Microsoft Purview para Azure Databricks

● Detección y clasificación de datos: Examine y clasifique automáticamente los


datos en el entorno de Azure Databricks mediante clasificadores integrados y cree
clasificadores personalizados.
● Linaje de datos: Proporciona visibilidad detallada del linaje de datos, que muestra
cómo se transforman y mueven los datos entre distintos sistemas y procesos,
incluidos en Azure Databricks.
● Mapa de datos: Agrega metadatos de varios orígenes de datos a un catálogo en
el que se pueden buscar, lo que permite a los usuarios comprender el panorama
de datos y sus relaciones.
● Administración de directivas y acceso: Permite la creación de directivas de
gobernanza que aplican cómo se accede a los datos y se usan en Azure
Databricks y en otros sistemas integrados.
● Información detallada e informes: Ofrece informes detallados sobre la detección
de datos, la clasificación de confidencialidad y el análisis de acceso, lo que ayuda
a garantizar el cumplimiento y optimizar las estrategias de gobernanza de datos.
Ejercicio: Explore Azure Databricks
Ahora es su oportunidad de explorar Azure Databricks por sí mismo. En este ejercicio,
utilizará un script proporcionado para aprovisionar un Workspace de Azure Databricks en
su suscripción de Azure; y luego use el portal de Azure Databricks para crear un clúster
de Spark y realizar algunas tareas comunes de análisis de datos.

Nota

Para completar este laboratorio, necesitará una suscripción de Azure en la que tenga
acceso administrativo.

Explorar Azure Databricks


Azure Databricks es una versión basada en Microsoft Azure de la popular plataforma de
código abierto Databricks.
De manera similar a Azure Synapse Analytics, un Workspace de Azure Databricks
proporciona un punto central para administrar clústeres, datos y recursos de Databricks
en Azure.

Aprovisionar un Workspace de Azure Databricks


En este ejercicio, usará un script para aprovisionar un nuevo workspace de Azure
Databricks.

1. En un navegador web, inicie sesión en Azure


Portal en https://portal.azure.com.
2. Cree un recurso de Azure Databricks con la siguiente configuración:

● Subscription: Seleccione su suscripción de Azure


● Resource group: Crea un nuevo grupo de recursos llamado msl-
xxxxxxx (donde “xxxxxxx” es un valor único)
● Workspace name: databricks-xxxxxxx (donde “xxxxxxx” es el valor
utilizado en el nombre del grupo de recursos)
● Region : Seleccione cualquier región disponible
● Pricing tier: Premium o de prueba
● Managed Resource Group name: databricks-xxxxxxx-managed
(donde “xxxxxxx” es el valor utilizado en el nombre del grupo de recursos)
3. Seleccione Review + create y espere a que se complete la implementación.
Luego, vaya al recurso y ejecute el espacio de trabajo.

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

A medida que utilice el portal de Databricks Workspace, es posible que aparezcan


varios consejos y notificaciones. Ignore estos mensajes y siga las instrucciones
proporcionadas para completar las tareas de este ejercicio.

3. En la barra lateral de la izquierda, seleccione (+) New tarea y luego seleccione


Cluster (es posible que deba buscar en el submenú More).
4. En la página New Cluster, cree un nuevo clúster con la siguiente configuración:

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.

5. Espere a que se cree el clúster. Puede tomar uno o dos minutos.

Nota

Si su clúster no se inicia, es posible que su suscripción tenga una cuota insuficiente en


la región donde se aprovisiona su Workspace de Azure Databricks. Consulte el límite
de núcleos de CPU que impide la creación de clústeres para obtener más
detalles. Si esto sucede, puede intentar eliminar su Workspace y crear uno nuevo en
una región diferente. Puede especificar una región como parámetro para el script de
configuración de esta manera: ./setup.ps1 eastus
Utilice Spark para analizar datos
Al igual que en muchos entornos de Spark, Databricks admite el uso de Notebooks para
combinar notas y celdas de código interactivo que puede usar para explorar datos.

1. Descargue el archivo products.csv a su computadora local y guárdelo como


products.csv.
2. En la barra lateral, en el menú Nuevo enlace (+) , seleccione Add or upload data.
3. Seleccione Create or modify table y cargue el archivo products.csv que
descargó a su computadora.
4. En la página Create or modify table from file upload, asegúrese de que su
clúster esté seleccionado en la parte superior derecha de la página. Luego, elija el
catálogo hive_metastore y su esquema predeterminado para crear una nueva
tabla denominada products.
5. En la página Catalog Explorer, cuando se haya creado la tabla de products , en
el menú del botón Create, seleccione Notebook para crear un Notebook.
6. En el cuaderno, asegúrese de que esté conectado a su clúster y luego revise el
código que se agregó automáticamente a la primera celda, que debería verse
similar a esto:

Sql

%sql
SELECT * FROM `hive_metastore`.`default`.`products`;

7. Utilice la opción de menú ▸ Run Cell a la izquierda de la celda para ejecutarla,


iniciando y conectando el clúster si se le solicita.
8. Espere a que se complete el trabajo de Spark ejecutado por el código. El código
recupera datos de la tabla que se creó en función del archivo que cargó.
9. Sobre la tabla de resultados, seleccione + y luego seleccione Visualization para
ver el editor de visualización y luego aplique las siguientes opciones:

● Visualization type: Barra


● X Column: Categoría
● Y Column: agregue una nueva columna y seleccione ProductID. Aplique la
agregación Count.

Guarde la visualización y observe que se muestra en el cuaderno, de la siguiente manera:


Analizar datos con un marco de datos
Si bien la mayoría de los analistas de datos se sienten cómodos usando código SQL
como el utilizado en el ejemplo anterior, algunos analistas de datos y científicos de datos
pueden usar objetos nativos de Spark, como un marco de datos en lenguajes de
programación como PySpark (una versión de Python optimizada para Spark), para
trabajar de manera eficiente con los datos.

1. En el cuaderno, debajo de la salida del gráfico de la celda de código ejecutada


anteriormente, use el ícono + Code para agregar una nueva celda.

Nota

Es posible que tengas que mover el mouse debajo de la celda de salida para que
aparezca el ícono + Code.

1. Ingrese y ejecute el siguiente código en la nueva celda:

df = spark.sql("SELECT * FROM products")


df = df.filter("Category == 'Road Bikes'")
display(df)

3. Ejecuta la nueva celda, que devuelve los productos de la categoría Bicicletas de


carretera.
Eliminar recursos de Azure Databricks
En el portal de Azure Databricks, en la página Compute, seleccione su clúster y
seleccione ■ Terminate para apagarlo.
Si terminó de explorar Azure Databricks, puede eliminar los recursos que ha creado para
evitar costos innecesarios de Azure y liberar capacidad en su suscripción.
Verificación de conocimiento

1. ¿Cuál es el primer paso para usar Azure Databricks?

● Creación de un clúster de Spark


● Aprovisiona un área de trabajo de Azure Databricks.
● Carga de datos en Azure Blob Storage

2. ¿Qué componente de Azure Databricks es responsable del procesamiento de


datos?

● Á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?

● Eliminación del cuaderno


● Desasociación del cuaderno del clúster
● Finalización del clúster
Resumen
Azure Databricks es una plataforma de análisis de datos basada en la nube que
proporciona un entorno unificado para ingeniería de datos, aprendizaje automático y
análisis. Está desarrollado sobre Apache Spark, un potente motor de procesamiento de
código abierto basado en la velocidad, la facilidad de uso y el análisis sofisticado. Azure
Databricks se integra con otros servicios proporcionados por Microsoft Azure, ofreciendo
una experiencia perfecta para la preparación de datos, la creación de modelos de
aprendizaje automático y el análisis de datos.
En este módulo ha aprendido a:

● Aprovisiona un área de trabajo de Azure Databricks.


● Identificar las cargas de trabajo principales para Azure Databricks.
● Utilizar las herramientas de gobernanza de datos Unity Catalog y Microsoft
Purview.
● Describir los conceptos clave de una solución Azure Databricks.

Saber más
● Documentación de Azure Databricks
● Introducción a Azure Databricks
● Documentación de Microsoft Purview
● Catálogo Databricks Unity

También podría gustarte