Introducción
Los materiales proporcionados exploran la aplicación práctica de las tecnologías Big Data, comenzando con una evaluación tipo examen que abarca conceptos fundamentales como Data Lakes, Datawarehouses, industrialización de datos y Data Governance. A continuación, se presenta un caso práctico de una empresa de telecomunicaciones que busca implementar una plataforma Big Data para mejorar su análisis y reducir la rotación de clientes, considerando arquitecturas como Data Lake y Data Mesh. El texto describe la evolución de la adopción de Big Data en España, las fases de implementación de Hadoop, los modelos de despliegue como Data Lake y Data Mesh, y la importancia del Gobierno de Datos para asegurar su uso eficiente. Finalmente, se examinan las soluciones Hadoop como servicio en la nube, específicamente Amazon EMR y Microsoft Azure HDInsight, y se ofrece una guía práctica para el análisis exploratorio y aprendizaje automático con Spark.
Informe de Revisión de Fuentes sobre Tecnologías Big Data y Hadoop
Este documento presenta un resumen detallado de los temas principales, ideas clave y hechos relevantes extraídos de las fuentes proporcionadas. Se incluyen citas directas de los textos originales para ilustrar los puntos más importantes.
Fuente Principal: «BDA05_Aplicación práctica de tecnologías Big Data.pdf»
Este documento se estructura en varios apartados que abordan la aplicación práctica de las tecnologías Big Data, utilizando un caso práctico de una empresa de telecomunicaciones virtual llamada Telco Max Spain.
1. Caso Práctico: Telco Max Spain y la Necesidad de Big Data
- Contexto de la Empresa: Telco Max Spain es una operadora virtual con más de 5 años en el mercado español, sirviendo a más de un millón de clientes en tres áreas: particulares, SOHO y grandes cuentas. No posee infraestructura propia, utilizando las redes de operadores principales.
- Sistemas Existentes: La empresa cuenta con diversos sistemas, incluyendo CRMs para cada segmento de clientes, un sistema de facturación y contabilidad, una plataforma de marketing, una plataforma de contact-center y un ERP para operaciones internas. Además, cada canal de interacción (web, app, oficinas) tiene sus propias aplicaciones. Reciben información externa de operadores y otros agentes vía SFTP. Disponen de un sistema informacional con procesos ETL que alimentan un Datawarehouse para la generación de informes de negocio.
- Limitaciones del Sistema Actual: A pesar de tener un sistema de reporting correcto, Telco Max Spain reconoce que «hay mucha información que no están utilizando para hacer los análisis, como puede ser la información de todos los sistemas que no son el CRM o el sistema de facturación». Son conscientes de que integrar toda la información del ciclo de vida del cliente podría mejorar significativamente la toma de decisiones, especialmente para reducir la tasa de rotación de clientes.
- Decisión Estratégica: El Comité de Tecnología ha decidido «invertir en una plataforma Big Data que les permita almacenar toda la información de los diferentes sistemas, y además, crear nuevos casos de uso como modelos predictivos de abandono de clientes, etc.».
- Tecnología Elegida y Preguntas Clave: Han seleccionado Hadoop como la tecnología base, pero deben definir la arquitectura (cloud vs. on-premise, Data Lake vs. Data Mesh).
- Motivación Común: El caso de Telco Max Spain refleja la razón habitual por la que las empresas implementan Big Data: «para poder mejorar la analítica y utilizar, en lugar de un subconjunto de los datos, todos los datos disponibles.»
- Valor de la Información Detallada: Se plantea una pregunta retórica que subraya el valor de la información detallada: «¿Qué modelo predictivo de predicción de abandono funcionará mejor, uno que coja la información del CRM… o un modelo que coja, además de toda esa información, las llamadas que ha hecho el cliente al contact-center… la navegación que ha hecho en la web…?» La respuesta implícita es que un modelo con más datos y contexto será superior.
- Aspectos Clave en la Implementación: La adopción de Big Data requiere analizar las tecnologías, el modelo de arquitectura y sus implicaciones en la integración de datos y sistemas, seguridad, cumplimiento normativo y la organización en sí misma. «Cuando una empresa decide mejorar su práctica analítica u otros casos de uso implantando una tecnología Big Data, debe analizar, además de las tecnologías existentes para poder seleccionar las más adecuadas, qué modelo de arquitectura utilizar…»
2. Arquitecturas y Modelos de Despliegue
- Proceso de Adopción: La adopción de Hadoop no se limita a la instalación y configuración, sino que requiere una «definición» previa sobre cómo se gestionarán los datos, responsabilidades, transformaciones e integración con sistemas existentes.
- Evolución de la Analítica: Se describe la evolución desde los sistemas tradicionales de Datawarehouse y Datamart, cargados mediante procesos ETL, hacia arquitecturas Big Data.
- Datawarehouse y ETL (Método Tradicional): Un Datawarehouse es un «repositorio de datos… que contiene información de la empresa… y preparada para la toma de decisiones.» Suelen optimizarse para consultas analíticas complejas y almacenan datos en formato columnar.
- Los procesos ETL extraen, transforman y cargan datos de sistemas operacionales a los Datawarehouses, aplicando validación y limpieza.
- Limitaciones de los Datawarehouses: Son «tecnologías caras, y el coste crece con el volumen de datos» y «sólo permiten gestionar datos estructurados».
- Los Datamarts son subconjuntos de los Datawarehouses para departamentos específicos.
- La explotación de datos se realiza mediante herramientas de Business Intelligence (informes, cuadros de mando) y Data Mining (modelos predictivos).
- Migración hacia Arquitecturas Big Data: El modelo tradicional presenta problemas como la incapacidad de analizar datos no estructurados, la alta intervención de equipos técnicos y el elevado coste que limita la cantidad de datos retenidos.
- Beneficios de las Tecnologías Big Data: Permiten «poner en valor el creciente número de fuentes de datos no estructurados», «utilizar todos los datos para poder hacer análisis», reducir la intervención técnica, disminuir costes y habilitar técnicas de analítica avanzada.
- Hadoop como Plataforma: Hadoop se ha convertido en la plataforma Big Data más utilizada.
- Adopción de Tecnologías Big Data (Cronología):2013 (Mundial), 2014 (España): Irrupción del concepto de Big Data.
- Primeras Empresas: Sector financiero en España, con un alto nivel de madurez tecnológica y grandes volúmenes de datos gestionados tradicionalmente en mainframes a un alto coste.
- Fase 1 (2014-2017): Pruebas de concepto con plataformas Hadoop (Cloudera). Las empresas buscaron entender la tecnología más que obtener un retorno inmediato. «La realidad, en cualquier caso, es que pocas empresas monetizaron o tuvieron un retorno de la inversión inmediato, y vieron esta etapa más como una toma de contacto que como una necesidad de rentabilizar estas nuevas tecnologías.» El modelo arquitectónico predominante fue el Data Lake, como complemento al Datawarehouse. Se destacó la necesidad de Gobierno de Datos e industrialización de proyectos Big Data.
- Fase 2 (Desde 2017): Enfoque en la creación de casos de uso y generación de valor para el negocio. Los equipos de negocio se convirtieron en los principales impulsores. Se crearon áreas de Gobierno de Datos y la figura del Chief Data Officer (CDO). Se incorporaron nuevas herramientas para facilitar el acceso a los datos y se formaron equipos de ingeniería de datos.
- Fase 3 (Desde 2019): Énfasis en la adaptación tecnológica, explorando e incorporando soluciones cloud a las arquitecturas existentes, resultando en plataformas híbridas.
- Hadoop en la Práctica (Pasos en la Adopción):Identificación de necesidades de almacenamiento y procesamiento.
- Plan de capacidad y selección de hardware.
- Compra del hardware (puede llevar semanas o meses).
- Instalación física (rackeo, cableado, red).
- Instalación del software base (sistema operativo).
- Instalación de Hadoop (con herramientas de administración como Cloudera Manager o Ambari).
- Pruebas de la plataforma.
- Tuning (optimización del rendimiento).
- Preparación del entorno de trabajo (usuarios, permisos, colas YARN, directorios).
- Entorno de Trabajo (Multitenancy en Hadoop): Hadoop se despliega como una plataforma para múltiples casos de uso y diversos tipos de usuarios: analistas de negocio, data scientists, ingenieros de datos, procesos automáticos y aplicaciones externas. Un entorno multitenancy requiere «un mayor control del uso y los límites de uso de cada usuario para evitar que uno pueda interferir en la operativa habitual de otro…»
- Políticas para Multitenancy:Espacio de nombres (HDFS): Estructura de directorios con permisos para cada grupo de usuarios.
- Seguridad: Autenticación (Kerberos) y autorización (directorios activos).
- Colas de ejecución (YARN): Configuración de colas con límites y garantías de recursos.
- Gobierno de datos: Equipos dedicados a catalogar datos, definir políticas de acceso y uso.
- Equipos horizontales: Soporte técnico de arquitectura, monitorización y despliegue.
- Modelos de Despliegue: Data Lake: Originalmente, Hadoop se enfocó en casos de uso específicos. Con YARN y el crecimiento de herramientas, se visualizó como una plataforma para mejorar la analítica y complementar los Datawarehouses.
- El concepto de Data Lake surge como un «repositorio centralizado que permite almacenar todos los datos de una empresa a cualquier escala, sin modificarlos y sin tener que estructurarlos primero, y también permite ejecutar diferentes tipos de análisis…»
- Hadoop es una tecnología clave para implementar Data Lakes debido a su capacidad de almacenamiento y análisis de diversos tipos de datos por múltiples usuarios.
- Mejoras sobre el Datawarehouse: Escalabilidad a menor coste, gestión de cualquier tipo de dato, flexibilidad en el esquema (lectura vs. escritura), y un conjunto de herramientas más amplio.
- Modelo de Capas de un Data Lake:Ingesta (Raw Data): Datos de múltiples fuentes (streaming o reposo, estructurados o no estructurados) almacenados tal cual, sin transformación inicial. Organizados por ingeniería de datos, a menudo particionados. «Una característica importante de los Data Lakes es que los datos se almacenan tal cual se reciben, es decir, tal cual están en el origen.»
- Procesamiento y Refinado: Validación, normalización, limpieza, enriquecimiento, transformación, unificación y gestión de metadatos. Liderado por ingeniería de datos con herramientas como Spark o Hive.
- Servicio (Curated Data): Datos procesados publicados como una «fuente de la verdad» con interfaz SQL y acceso directo a ficheros. Los datos Raw también son accesibles para análisis.
- Arquitectura Física de un Data Lake:Ingesta: Sistemas de mensajería (Kafka), Flume para streaming; orquestadores (Oozie), Sqoop, scripts SFTP para datos en reposo.
- Procesamiento: Spark, Hive (batch); Spark, Flink (real-time).
- Servicio: HDFS, S3 (ficheros); Hive, Impala (SQL); bases de datos de grafos (ocasionalmente).
- Data Mesh:Surge como respuesta a las limitaciones del Data Lake centralizado, donde el equipo de ingeniería de datos puede convertirse en un cuello de botella y carecer del conocimiento profundo de cada dominio de datos. «El equipo de ingeniería de datos representa, en ocasiones, un cuello de botella para la implementación de los diferentes casos de uso…»
- Un Data Mesh es un «enfoque descentralizado en el que cada dominio… es responsable de preparar los datos y ofrecer al resto de equipos estos datos como producto…»
- Es principalmente un enfoque organizacional, habilitado por la tecnología.
- Cuatro Principios Básicos:Propiedad y arquitectura descentralizada orientada al dominio: Los equipos de dominio asumen la responsabilidad de sus datos.
- Datos como producto: Los datos deben ser de alta calidad, bien documentados y fáciles de usar para otros dominios.
- Infraestructura de datos de autoservicio como plataforma: La plataforma debe facilitar la publicación y el consumo de datos por los dominios.
- Gobierno computacional federado: La gobernanza es compartida por todos los dominios.
- Aún no está ampliamente implantado, pero muchas organizaciones están considerando esta filosofía. Implica una transición hacia equipos autónomos dentro de los dominios y el uso de plataformas cloud más flexibles.
- Gobierno de Datos:Un Data Lake sin control puede convertirse en un «Data Swamp», con datos desorganizados, desconocidos y procesos sin trazabilidad.
- El Gobierno de Datos es crucial para evitar esta situación. «Esta situación ha puesto de manifiesto la necesidad de contar con equipos de Gobierno de Datos o Data Governance.»
- Según Gartner, es «el conjunto de procesos, roles, políticas, estándares y métricas que garantizan el uso eficiente y efectivo de los datos, alineado con los objetivos de las empresas.»
- Objetivos del Gobierno de Datos: Seguridad, accesibilidad, gestión de datos maestros y de referencia, calidad, usabilidad, monitorización del uso y cumplimiento regulatorio.
- Los equipos de Gobierno definen políticas (purgado, seguridad, documentación) y proporcionan herramientas para su cumplimiento.
- Soluciones Hadoop-as-a-Service
- Caso Práctico: Telco Max Spain y la Migración a Cloud: Ante la previsión de falta de capacidad en su infraestructura Hadoop on-premise, Telco Max Spain considera migrar a un entorno cloud por su escalabilidad y elasticidad, a pesar de las dudas sobre el coste.
- Hadoop como Servicio: Los proveedores cloud ofrecen soluciones Hadoop como servicio, permitiendo levantar clústers a demanda en un corto periodo de tiempo (10-15 minutos).
- Características:Pago por uso: El coste se basa en las horas de uso y las máquinas utilizadas. Ejemplo: un clúster de 20 nodos en AWS puede costar 32 euros por hora.
- Elasticidad: Escalado dinámico del número de nodos según la demanda.
- Distribuciones Hadoop: Incluyen la mayoría de los componentes del ecosistema Hadoop.
- Integración con servicios cloud: Se integran fácilmente con otros servicios del proveedor (identidad, seguridad, costes).
- Principales Distribuciones: Amazon Web Services (EMR) y Microsoft Azure (HDInsight).
- Ventaja del Modelo de Coste: El modelo de coste por hora permite reducir el tiempo de ejecución de tareas paralelizando el trabajo en más nodos sin aumentar el coste total. Ejemplo: una tarea de 10 horas en 20 nodos (320€) podría realizarse en 1 hora en 200 nodos (también 320€).
- Amazon EMR (Elastic MapReduce):Servicio de AWS para crear clústers Hadoop a demanda.
- Utiliza una distribución propia de Amazon.
- Se ejecuta sobre máquinas EC2 (IaaS) con un sobrecoste aproximado del 25%.
- Permite seleccionar los componentes a lanzar (Hive, Spark, etc.).
- La creación de un clúster se realiza a través de la consola de AWS.
- Ofrece diferentes tipos de clústeres preconfigurados (Core Hadoop, HBase, Presto, Spark).
- Permite configurar el número y tipo de instancias (máquinas virtuales).
- Dispone de políticas de autoescalado para ajustar automáticamente el número de nodos según la carga.
- Ofrece configuración avanzada para seleccionar componentes específicos.
- El arranque de un clúster tarda unos 10 minutos.
- Proporciona acceso a interfaces web (ej., Hue) y acceso SSH al nodo master.
- La finalización del clúster se realiza con un simple clic.
- Microsoft Azure HDInsight:Solución de Microsoft Azure de Hadoop como servicio, con un modelo de pago por uso.
- Similar a Amazon EMR, pero con algunas diferencias.
- Utiliza la distribución HDP de Hortonworks.
- Proporciona Ambari como herramienta de administración y monitorización (EMR usa una herramienta propia menos potente y Ganglia).
- El arranque de un clúster se realiza a través del servicio HDInsight en la consola de Azure.
- Ofrece diferentes tipos de clústeres Hadoop optimizados para diferentes usos.
- Requiere la creación de una contraseña de administración.
- Permite configurar el sistema de almacenamiento (Azure Blob Storage).
- Ofrece opciones de configuración de red.
- Muestra un resumen del coste del clúster antes de su creación.
- El proceso de arranque dura unos 15 minutos.
- Permite acceder a los nodos master y utilizar el clúster de forma funcional.
- Guía Práctica de Análisis Exploratorio y de Aprendizaje Automático con Spark
- Esta guía, disponible como un archivo adjunto (HTML, DBC, dataset Titanic), enseña a realizar análisis exploratorio y aprendizaje automático utilizando Apache Spark.
- El ejemplo utilizado es el dataset del Titanic, con el objetivo de clasificar pasajeros como supervivientes o no mediante regresión logística, basándose en variables explicativas seleccionadas.
- Se incluye un video que explica paso a paso el proceso, utilizando Databricks para importar el archivo DBC y seguir las instrucciones.
- La guía culmina con la predicción sobre pasajeros no utilizados en el entrenamiento y la evaluación de los resultados del modelo.
Este conjunto de fuentes proporciona una visión completa de la aplicación práctica de las tecnologías Big Data, desde la identificación de la necesidad en una empresa como Telco Max Spain, pasando por los modelos arquitectónicos (Data Lake, Data Mesh), la importancia del Gobierno de Datos, hasta las soluciones de Hadoop como servicio ofrecidas por los principales proveedores cloud (Amazon EMR y Azure HDInsight), culminando con una guía práctica para el análisis de datos con Spark.
Final del formulario
Guía de Estudio: Aplicación Práctica de Tecnologías Big Data
Quiz de Comprensión (Respuestas Cortas)
- Describe brevemente el problema que Telco Max Spain busca resolver implementando una plataforma Big Data.
Telco Max Spain busca utilizar toda la información disponible de sus diferentes sistemas (no solo CRM y facturación) para realizar análisis más profundos y mejorar la toma de decisiones, especialmente para reducir la tasa de rotación de clientes.
- ¿Cuáles son las dos principales limitaciones de los sistemas Datawarehouse tradicionales mencionadas en el texto?
Las dos principales limitaciones de los Datawarehouse son su alto costo, que aumenta con el volumen de datos, y su capacidad de gestionar únicamente datos estructurados, provenientes de bases de datos operacionales.
- Explica la diferencia fundamental entre cómo se gestiona el esquema de los datos en un Data Lake en comparación con un Datawarehouse.
En un Data Lake, el esquema de los datos se define en el momento de la lectura, lo que permite almacenar datos sin una estructura predefinida. En cambio, un Datawarehouse requiere que la estructura de los datos sea conocida y definida antes de ser almacenados.
- Define el concepto de «Data Swamp» y qué lo puede causar en una implementación de Data Lake.
El «Data Swamp» es un problema que ocurre cuando un Data Lake se convierte en un repositorio de datos desorganizado y sin control, donde no se sabe qué datos existen, su validez, cómo se procesan o quién los utiliza, dificultando su aprovechamiento.
- Menciona dos de los cuatro principios básicos que definen una arquitectura Data Mesh.
Dos principios básicos de Data Mesh son: la propiedad y arquitectura descentralizada de datos orientada al dominio, donde cada dominio es responsable de sus datos; y datos como producto, donde los datos se ofrecen al resto de la organización de forma sencilla y con documentación.
- ¿Cuál es el rol principal de un equipo de Gobierno de Datos (Data Governance) en una organización?
El rol principal de un equipo de Gobierno de Datos es garantizar el uso eficiente y efectivo de los datos de la organización, alineado con sus objetivos, mediante la definición de procesos, roles, políticas, estándares y métricas relacionadas con la seguridad, calidad, accesibilidad y usabilidad de los datos.
- Nombra dos ventajas principales que ofrecen las soluciones Hadoop-as-a-Service en la nube.
Dos ventajas principales de Hadoop-as-a-Service en la nube son la modalidad de pago por uso, donde solo se paga por los recursos utilizados, y la elasticidad, que permite escalar el número de nodos del clúster según la demanda, optimizando costos y rendimiento.
- ¿Qué servicio de Hadoop en la nube ofrece Amazon Web Services (AWS) y qué distribución Hadoop utiliza Microsoft Azure HDInsight?
Amazon Web Services (AWS) ofrece el servicio Amazon EMR. Microsoft Azure HDInsight utiliza la distribución HDP de Hortonworks.
- Describe brevemente el concepto de «multitenancy» en el contexto de un entorno Hadoop.
Multitenancy» en Hadoop significa que la plataforma está diseñada para ser utilizada por múltiples usuarios de diferentes tipos (analistas de negocio, data scientists, ingenieros de datos, aplicaciones) para diversos propósitos, requiriendo mecanismos de control y límites de uso para evitar interferencias entre ellos.
- Explica la diferencia entre los datos «Raw Data» y los datos procesados en el modelo de capas de un Data Lake.
Los datos «Raw Data» son los datos ingestados en el Data Lake tal como se reciben de las fuentes originales, sin ninguna transformación. Los datos procesados son el resultado de aplicar validaciones, normalizaciones, limpiezas, enriquecimientos y transformaciones a los «Raw Data» para hacerlos explotables con fines analíticos.
Preguntas de Ensayo
- Describe detalladamente las diferentes etapas en la adopción e incorporación de una plataforma Hadoop on-premise, según lo presentado en el texto. ¿Cuáles son los principales desafíos en cada etapa?
- Analiza la evolución en la adopción de tecnologías Big Data en las empresas españolas desde 2014 hasta la actualidad, identificando las tres etapas principales y los factores clave que caracterizaron cada una de ellas.
- Explica el concepto de Data Mesh como una alternativa a las arquitecturas centralizadas como el Data Lake. ¿Cuáles son los principios fundamentales de Data Mesh y qué implicaciones tiene su adopción para la organización y la tecnología?
- Evalúa la importancia del Gobierno de Datos (Data Governance) en el contexto de la implementación de una plataforma Big Data, especialmente en modelos como el Data Lake. ¿Qué objetivos persigue un equipo de Gobierno de Datos y cómo contribuyen al éxito de la estrategia de datos de una empresa?
Glosario de Términos Clave
- Big Data: Conjunto de datos cuyo volumen, velocidad y variedad dificultan su procesamiento mediante las aplicaciones de software tradicionales.
- CRM (Customer Relationship Management): Sistema para gestionar las interacciones y datos de los clientes y prospectos.
- SOHO (Small Office/Home Office): Segmento de mercado que engloba pequeñas oficinas y negocios domésticos.
- Leads: Contactos comerciales potenciales que aún no son clientes.
- Contact Center: Centro de atención al cliente para gestionar comunicaciones.
- ERP (Enterprise Resource Planning): Sistema para gestionar procesos internos de una empresa como finanzas, recursos humanos, etc.
- SFTP (SSH File Transfer Protocol): Protocolo seguro para la transferencia de archivos.
- ETL (Extract, Transform, Load): Proceso para extraer datos de diversas fuentes, transformarlos y cargarlos en un sistema de destino, como un Datawarehouse.
- Datawarehouse: Repositorio central de datos filtrados y transformados, provenientes de sistemas operacionales, diseñado para soportar la toma de decisiones y el análisis de negocio.
- Datamart: Subconjunto de un Datawarehouse, enfocado en las necesidades de un área o departamento específico de la organización.
- Business Intelligence (BI): Conjunto de herramientas y procesos para analizar datos y generar información útil para la toma de decisiones.
- Data Mining: Proceso para descubrir patrones, tendencias y conocimientos útiles a partir de grandes volúmenes de datos, a menudo utilizando técnicas de machine learning.
- Hadoop: Framework de código abierto para el almacenamiento y procesamiento distribuido de grandes conjuntos de datos en clústeres de computadoras.
- Cloud (Nube): Infraestructura de computación (servidores, almacenamiento, software, etc.) a la que se accede a través de Internet.
- On-premise: Infraestructura de computación ubicada físicamente dentro de las instalaciones de la organización.
- Data Lake: Repositorio centralizado que almacena grandes volúmenes de datos en su formato original, sin necesidad de definir un esquema previo, permitiendo diversos tipos de análisis.
- Data Mesh: Enfoque descentralizado para la gestión de datos donde los equipos de dominio son responsables de sus datos como productos de datos.
- Gobierno de Datos (Data Governance): Conjunto de procesos, roles, políticas, estándares y métricas para asegurar el uso eficiente y efectivo de los datos.
- Chief Data Officer (CDO): Ejecutivo responsable de la estrategia y la gestión de los datos de una organización.
- Data Swamp: Situación en la que un Data Lake se convierte en un repositorio de datos desorganizado y difícil de usar debido a la falta de gobierno y control.
- Hadoop-as-a-Service: Servicios en la nube que permiten crear y gestionar clústeres Hadoop bajo un modelo de pago por uso.
- Amazon EMR (Elastic MapReduce): Servicio de AWS para ejecutar y escalar aplicaciones Big Data utilizando frameworks como Hadoop y Spark.
- Microsoft Azure HDInsight: Servicio de Azure para el procesamiento de Big Data y análisis con tecnologías como Hadoop, Spark, Hive y Kafka.
- HDFS (Hadoop Distributed File System): Sistema de archivos distribuido utilizado por Hadoop para almacenar grandes conjuntos de datos.
- YARN (Yet Another Resource Negotiator): Gestor de recursos de Hadoop que permite la ejecución de múltiples aplicaciones en el clúster.
- Hive: Almacén de datos construido sobre Hadoop que proporciona una interfaz similar a SQL para consultar datos.
- Spark: Framework de procesamiento de datos en clúster de código abierto, rápido y versátil, utilizado para procesamiento por lotes y en tiempo real.
- Data Scientist: Profesional que analiza grandes conjuntos de datos para extraer conocimientos y patrones utilizando técnicas estadísticas y de machine learning.
- Data Engineer: Profesional responsable de diseñar, construir y mantener la infraestructura de datos.
- Kerberos: Protocolo de autenticación de red que permite a las entidades comunicarse de forma segura en una red no segura.
- Directorio Activo (Active Directory): Servicio de directorio de Microsoft utilizado para gestionar usuarios, permisos y recursos en una red.
- API (Application Programming Interface): Conjunto de reglas y especificaciones que permiten a diferentes aplicaciones de software comunicarse entre sí.
- Microservicios: Arquitectura de software donde una aplicación se estructura como una colección de pequeños servicios independientes que se comunican a través de APIs.
- Streaming: Transmisión continua de datos en tiempo real.
- Datos en reposo (Data at rest): Datos almacenados que no están siendo activamente utilizados o transmitidos.
- Particionado de datos: División de grandes conjuntos de datos en partes más pequeñas y manejables para mejorar el rendimiento y la organización.
- Metadatos: Datos que describen otros datos, proporcionando información sobre su origen, formato, significado, etc.
- Linaje de datos (Data lineage): Seguimiento del origen, movimiento y transformaciones de los datos a lo largo de su ciclo de vida.
- Orquestador: Herramienta para automatizar y coordinar flujos de trabajo y procesos de datos.
- Apache Oozie: Orquestador de flujo de trabajo para Hadoop.
- Sqoop: Herramienta para transferir datos entre Hadoop y bases de datos relacionales.
- Apache Kafka: Plataforma de mensajería distribuida para la transmisión de datos en tiempo real.
- Apache Flume: Servicio distribuido para la recopilación, agregación y movimiento eficiente de grandes cantidades de datos de flujo.
- Apache Flink: Framework de procesamiento de flujos de datos de código abierto para análisis en tiempo real y procesamiento por lotes.
- Amazon S3 (Simple Storage Service): Servicio de almacenamiento de objetos escalable en la nube de AWS.
- Impala: Motor de consultas SQL de procesamiento paralelo masivo para datos almacenados en Hadoop.
- Base de datos de grafos: Base de datos que utiliza estructuras de grafos con nodos, aristas y propiedades para representar y almacenar datos interconectados.
- Autoservicio de datos: Capacitación de los usuarios de negocio para acceder, analizar y utilizar los datos por sí mismos, con una mínima intervención del equipo técnico.
- Entropía: En este contexto, se refiere al aumento del desorden y la falta de organización en una plataforma de datos.
- Reglamento General de Protección de Datos (GDPR): Reglamento de la Unión Europea sobre la protección de datos personales.
- IaaS (Infrastructure as a Service): Modelo de servicio en la nube que proporciona recursos informáticos virtualizados a través de Internet.
- Hue (Hadoop User Experience): Interfaz web para interactuar con aplicaciones Hadoop.
- SSH (Secure Shell): Protocolo de red criptográfico para operar servicios de red de forma segura a través de una red no segura.
- Ganglia: Sistema de monitorización escalable y distribuido para sistemas de computación de alto rendimiento como clústeres.
- Ambari: Interfaz de gestión y monitorización para clústeres Hadoop, especialmente para distribuciones Hortonworks.
- Hortonworks (HDP – Hortonworks Data Platform): Distribución comercial de Hadoop.
- Cloudera: Otra distribución comercial popular de Hadoop.
- Presto: Motor de consultas SQL distribuido de código abierto diseñado para realizar consultas analíticas interactivas sobre grandes conjuntos de datos.
- Regresión logística: Modelo estadístico utilizado para la clasificación binaria.
- Dataset: Conjunto de datos.
- Databricks: Plataforma unificada para análisis de datos y aprendizaje automático basada en Apache Spark.
- Variables explicativas: Variables utilizadas en un modelo predictivo para predecir la variable dependiente.
- Modelo predictivo: Modelo estadístico utilizado para predecir resultados futuros basados en datos históricos.
- Algoritmo de aprendizaje automático (Machine Learning): Algoritmo que permite a las computadoras aprender de los datos sin ser explícitamente programadas.
- Redes neuronales: Tipo de algoritmo de machine learning inspirado en la estructura del cerebro humano.
- Motores de recomendación: Sistemas que sugieren elementos a los usuarios basándose en sus preferencias y el comportamiento de otros usuarios.
- Modelos de simulación: Representaciones abstractas de sistemas o procesos reales utilizadas para entender su comportamiento bajo diferentes condiciones.
- Pruebas de concepto (Proof of Concept): Implementación a pequeña escala para validar la viabilidad de una idea o tecnología.
- Monetizar: Convertir algo en dinero o generar ingresos a partir de ello.
- Retorno de la inversión (ROI): Métrica financiera para evaluar la eficiencia o rentabilidad de una inversión.
- Gobierno computacional federado: Enfoque de gobierno de datos en Data Mesh donde la responsabilidad del gobierno se distribuye entre los dominios, con políticas globales.
- Infraestructura de datos de autoservicio: Plataforma que permite a los equipos de dominio gestionar sus datos de forma independiente.
- Plataformas híbridas: Infraestructuras de datos que combinan recursos on-premise y en la nube.
- Plan de capacidad: Proceso para determinar los recursos necesarios para una plataforma en función de las necesidades esperadas.
- Nodo worker: Servidor en un clúster distribuido que realiza tareas de procesamiento y almacenamiento de datos.
- Clúster: Conjunto de computadoras interconectadas que trabajan juntas como un solo sistema.
- Factor de replicación: Número de copias de cada bloque de datos que se almacenan en un sistema distribuido para garantizar la tolerancia a fallos.
- Maquetado: Proceso de configuración e instalación de software en un servidor que luego se utiliza como plantilla para otros servidores.
- Tuning: Proceso de optimización de la configuración de un sistema para mejorar su rendimiento.
- Colas de ejecución de YARN: Mecanismo en YARN para gestionar y priorizar la ejecución de tareas en un clúster Hadoop, asignando recursos según políticas definidas.
- Espacio de nombres (HDFS): Organización jerárquica de archivos y directorios en HDFS.
- Autenticación: Proceso de verificación de la identidad de un usuario o sistema.
- Autorización: Proceso de determinar qué acciones puede realizar un usuario o sistema autenticado.
- Modelo de capas de un Data Lake: Organización lógica de las diferentes etapas por las que pasan los datos en un Data Lake, desde la ingesta hasta la explotación.
- Validación de datos: Proceso de verificación de la calidad y conformidad de los datos con reglas y expectativas.
- Normalización de datos: Proceso de unificación de formatos y valores de los datos.
- Limpieza de datos: Proceso de corrección o eliminación de datos incorrectos, incompletos o irrelevantes.
- Enriquecimiento de datos: Proceso de añadir valor a los datos existentes mediante la incorporación de información adicional o la creación de nuevos datos derivados.
- Transformación de datos: Proceso de conversión de datos de un formato o estructura a otro.
- Unificación y combinación de datos: Proceso de integrar datos de diferentes fuentes relacionados con la misma entidad.
- Gestión de metadatos: Proceso de creación, almacenamiento, gestión y uso de metadatos.
- Ingesta de datos: Proceso de incorporación de datos de diversas fuentes a un sistema de destino.
- Datos en streaming: Datos generados continuamente en tiempo real.
- Datos en reposo: Datos almacenados que no están siendo procesados o transmitidos activamente.
- Orquestador de ingesta: Herramienta para automatizar y planificar los procesos de ingesta de datos.
- Procesamiento masivo de datos: Procesamiento de grandes volúmenes de datos utilizando técnicas de computación distribuida.
- Área de servicio (Data Lake): Capa del Data Lake donde los datos refinados están disponibles para su consumo por diferentes usuarios y aplicaciones.
- Repositorio de objetos: Sistema de almacenamiento de datos donde los datos se gestionan como objetos en lugar de archivos o bloques.
- API de microservicios: Interfaces de programación de aplicaciones utilizadas por microservicios para comunicarse entre sí.
- Políticas de purgado (borrado de datos): Reglas que definen cuándo y cómo se eliminan los datos.
- Políticas de seguridad de datos: Reglas que definen quién tiene acceso a qué datos y qué acciones pueden realizar.
- Modalidad pago por uso: Modelo de precios donde se paga solo por los recursos computacionales y servicios que se utilizan, durante el tiempo que se utilizan.
- Elasticidad (en la nube): Capacidad de escalar dinámicamente los recursos computacionales según la demanda.
- Sobrecoste (en la nube): Cargo adicional que los proveedores de nube aplican sobre el costo base de los recursos.
- Autoescalado: Capacidad de un sistema para aumentar o disminuir automáticamente sus recursos en función de la carga de trabajo.
- Interfaz web: Interfaz gráfica de usuario a la que se accede a través de un navegador web.
- Consola (de gestión en la nube): Interfaz web proporcionada por los proveedores de nube para gestionar sus servicios.
- Historial de aplicaciones (en EMR): Registro de las aplicaciones y servicios que se han ejecutado en un clúster EMR.
- Nodo master: Nodo en un clúster distribuido que gestiona y coordina el trabajo de los nodos worker.
- Interfaz de línea de comandos (CLI): Interfaz de usuario basada en texto para interactuar con un sistema operativo o aplicación.
- Modo de configuración avanzada (en EMR): Opción para personalizar detalladamente la configuración de un clúster EMR, incluyendo los componentes a instalar.
- Aprovisionamiento (de recursos en la nube): Proceso de configuración y puesta en marcha de los recursos computacionales y servicios en la nube.
- Tutorial: Guía paso a paso para aprender a utilizar una herramienta o servicio.
Mapa Conceptual
Preguntas Frecuentes sobre Big Data y Hadoop
- ¿Cuál es el principal problema que Telco Max Spain busca resolver implementando una plataforma Big Data? Telco Max Spain busca mejorar la toma de decisiones, especialmente para reducir la tasa de rotación de clientes, aprovechando toda la información disponible de sus diversos sistemas (CRM, facturación, contact center, aplicaciones web, etc.). Actualmente, solo utilizan un subconjunto de estos datos para sus análisis, y creen que una visión más completa del ciclo de vida del cliente les permitiría realizar análisis más profundos y construir modelos predictivos más precisos.
- ¿Cuáles son las principales limitaciones del modelo tradicional de Data Warehouse y por qué las tecnologías Big Data se consideran una alternativa o complemento? El modelo tradicional basado en Data Warehouses y procesos ETL tiene limitaciones como el alto coste que crece con el volumen de datos, la capacidad de gestionar principalmente datos estructurados y la necesidad de una intervención significativa de los equipos de tecnología para la construcción de procesos e informes. Las tecnologías Big Data, como Hadoop, ofrecen la capacidad de analizar datos no estructurados, gestionar grandes volúmenes de datos a un menor coste, permitir un análisis más flexible al no requerir un esquema predefinido y, potencialmente, reducir la dependencia de los equipos de tecnología para la explotación de los datos. Sin embargo, no se considera un reemplazo a corto plazo, sino un complemento que añade valor.
- ¿Cómo ha evolucionado la adopción de tecnologías Big Data en las empresas españolas desde su introducción? La adopción de Big Data en España ha pasado por tres etapas principales. Una primera etapa (2014-2017) donde las grandes empresas, principalmente del sector financiero, realizaron pruebas de concepto con plataformas Hadoop, enfocándose en entender la tecnología y sus beneficios, con el modelo Data Lake como arquitectura predominante. Una segunda etapa (desde 2017) donde el foco se desplazó hacia la creación de casos de uso y la generación de valor para el negocio, impulsada por los equipos de negocio, con la creación de roles como el CDO y el énfasis en el gobierno de datos y la ingeniería de datos. Finalmente, una tercera etapa (desde 2019) donde se busca adaptar las plataformas a las necesidades cambiantes, explorando e incorporando soluciones cloud y adoptando arquitecturas híbridas.
- ¿Qué pasos son necesarios para la adopción e implementación de Hadoop en una organización con infraestructura propia (on-premise)? La adopción de Hadoop on-premise implica una serie de pasos secuenciales que incluyen: la identificación de las necesidades de almacenamiento y procesamiento, la planificación de la capacidad y selección del hardware, la compra del hardware, la instalación física, la instalación del software base y de Hadoop, las pruebas de la plataforma, el tuning para optimizar el rendimiento, y la preparación del entorno de trabajo (creación de usuarios, permisos, colas de ejecución, etc.). Este proceso puede llevar varias semanas o incluso meses.
- ¿Qué se entiende por «multitenancy» en un entorno Hadoop y qué mecanismos se utilizan para gestionarlo? En un entorno Hadoop, «multitenancy» se refiere a la capacidad de que múltiples usuarios de diferentes perfiles (analistas de negocio, data scientists, ingenieros de datos, aplicaciones) utilicen la misma plataforma para diversos propósitos. Para gestionar este entorno de manera eficiente y evitar interferencias, se aplican políticas como la definición de espacios de nombres en HDFS para controlar el acceso a los datos, la implementación de sistemas de seguridad (autenticación y autorización, como la integración con Kerberos), la configuración de colas de ejecución en YARN para gestionar los recursos, el establecimiento de un gobierno de datos para organizar y facilitar el acceso a la información, y la creación de equipos horizontales de arquitectura y soporte.
- ¿En qué consiste el modelo de arquitectura Data Lake y cuáles son sus principales ventajas y fases de funcionamiento? Un Data Lake es un repositorio centralizado que permite almacenar todos los datos de una empresa a cualquier escala, en su formato original y sin necesidad de estructurarlos previamente, para luego realizar diferentes tipos de análisis. Sus ventajas incluyen la capacidad de escalado a un coste razonable, la flexibilidad para almacenar cualquier tipo de dato y la posibilidad de realizar análisis diversos (reporting, machine learning, tiempo real). Su funcionamiento se basa en capas: una primera fase de ingesta de datos raw desde múltiples fuentes sin transformación; una segunda fase de procesamiento donde los datos se validan, normalizan, limpian, enriquecen y transforman; y una tercera fase donde los datos procesados se ponen a disposición para su explotación por diferentes usuarios y herramientas.
- ¿Cuáles son los principios fundamentales del modelo de arquitectura Data Mesh y cómo difiere del modelo Data Lake centralizado? El modelo Data Mesh es un enfoque descentralizado donde cada dominio de negocio es responsable de preparar y ofrecer sus datos como un producto para el resto de la organización. Sus cuatro principios básicos son: propiedad y arquitectura descentralizada de datos orientada al dominio; datos como producto; infraestructura de datos de autoservicio como plataforma; y gobierno computacional federado. A diferencia del Data Lake, que tiende a centralizar la gestión de datos en un único equipo de ingeniería, el Data Mesh distribuye la responsabilidad a los equipos de dominio, buscando una mayor escalabilidad y agilidad en el aprovechamiento de los datos.
- ¿Qué son las soluciones de «Hadoop-as-a-Service» ofrecidas por proveedores cloud como Amazon Web Services (EMR) y Microsoft Azure (HDInsight), y cuáles son sus principales ventajas para las empresas como Telco Max Spain? Las soluciones de «Hadoop-as-a-Service» son servicios cloud que permiten crear y gestionar clústeres Hadoop bajo demanda, con un modelo de pago por uso. Amazon EMR y Azure HDInsight son ejemplos de estas soluciones. Sus principales ventajas incluyen la elasticidad y escalabilidad (posibilidad de ajustar el número de nodos según la necesidad), la rapidez en el aprovisionamiento de los clústeres (en minutos), la integración con otros servicios cloud, y la reducción de la necesidad de gestionar la infraestructura física. Para empresas como Telco Max Spain, que enfrenta problemas de capacidad en su infraestructura on-premise, estas soluciones ofrecen una alternativa para escalar rápidamente su plataforma de Big Data y adaptarse a las crecientes demandas de almacenamiento y procesamiento sin grandes inversiones iniciales en hardware.
Evaluación
1.¿Cuál es la principal motivación de Telco Max Spain para invertir en una plataforma Big Data?
a) Reemplazar sus sistemas CRM y de facturación existentes.
b) Utilizar toda la información disponible para mejorar la toma de decisiones, especialmente la tasa de rotación de clientes.
c) Implementar un sistema ERP completamente nuevo.
d) Migrar toda su infraestructura a la nube.
2.¿Qué limitación principal tenían los sistemas Datawarehouse tradicionales en relación con los datos?
a) Eran demasiado rápidos para procesar grandes volúmenes de datos.
b) Principalmente gestionaban datos estructurados.
c) No permitían la creación de informes de negocio.
d) Su coste era muy bajo para grandes volúmenes de datos.
3.¿Cuál fue la tecnología Big Data más utilizada en sus inicios, según el texto?
a) Spark.
b) Hadoop.
c) Data Lake.
d) Data Mesh.
4.¿Qué concepto surgió como un repositorio centralizado para almacenar todos los datos de una empresa sin necesidad de estructurarlos previamente?
a) Datawarehouse.
b) Datamart.
c) Data Lake
d) Data Mesh.
5.En un Data Lake, ¿cuándo se define el esquema o la estructura de los datos?
a) En el momento de la ingesta (escritura).
b) En el momento del análisis o consulta (lectura).
c) Durante los procesos ETL.
d) No se define ningún esquema.
6.¿Cuál de los siguientes NO es un principio básico del modelo Data Mesh?
a) Propiedad y arquitectura descentralizada de datos orientada al dominio.
b) Datos como producto.
c) Infraestructura de datos de autoservicio como plataforma.
d) Gobierno de datos centralizado.
7.¿Qué problema puede surgir cuando se implementa un Data Lake sin el control adecuado?
a) Un aumento incontrolado del rendimiento de las consultas.
b) Una reducción drástica de los costes de almacenamiento.
c) El Data Swamp (ciénaga de datos).
d) Una mejora automática en la calidad de los datos.
8.¿Quién suele liderar el equipo de Data Governance?
a) El Chief Technology Officer (CTO).
b) El Chief Information Officer (CIO).
c) El Chief Data Officer (CDO).
d) El Chief Executive Officer (CEO).
9.¿Qué ofrece Amazon EMR como servicio?
a) La posibilidad de crear Datawarehouses en la nube.
b) La capacidad de crear clústers Hadoop a demanda en AWS.
c) Un sistema ERP basado en Hadoop.
d) Una distribución propia de Hadoop para infraestructura on-premise.
10.¿Qué distribución de Hadoop utiliza Microsoft Azure HDInsight?
a) Una distribución propia de Microsoft.
b) La distribución de Cloudera.
c) La distribución HDP de Hortonworks.
d) La distribución de Amazon.
11.Según la «Guía Práctica BDA05.MP4», ¿cuál es la variable objetivo que se busca predecir con el dataset del Titanic?
a) La clase del billete (pclass).
b) El sexo del pasajero (sex).
c) Si el pasajero sobrevivió o no (survived).
d) La edad del pasajero (age).
12.En la «Guía Práctica BDA05.MP4», ¿qué herramienta se utiliza para leer el archivo CSV del dataset del Titanic en Spark?
a) pandas.read_csv().
b) spark.sql().
c) spark.read.csv().
d) hadoop fs -get.
13.¿Para qué se utiliza el método cache() en el contexto de Spark y el DataFrame del Titanic?
a) Para guardar el DataFrame en un archivo permanente.
b) Para almacenar el DataFrame en memoria y acelerar el procesamiento posterior. [ver conversación anterior]
c) Para eliminar filas con valores nulos.
d) Para cambiar el esquema del DataFrame.
14.Según la «Guía Práctica BDA05.MP4», ¿qué transformaciones de Spark MLlib se aplican a las variables categóricas antes de entrenar el modelo de regresión logística?
a) Escalado y normalización.
b) Imputación de valores nulos y discretización.
c) StringIndexer y OneHotEncoder. [ver conversación anterior]
d) Selección de características y reducción de dimensionalidad.
15.¿Cuál es la función del VectorAssembler en el pipeline de aprendizaje automático de Spark utilizado en la guía práctica?
a) Dividir el dataset en conjuntos de entrenamiento y prueba.
b) Evaluar el rendimiento del modelo.
c) Combinar las variables predictoras transformadas en una única columna de características. [ver conversación anterior]
d) Entrenar el modelo de regresión logística.
16.¿Qué algoritmo de aprendizaje automático se utiliza como ejemplo en la «Guía Práctica BDA05.MP4»?
a) Random Forest.
b) K-Means Clustering.
c) Regresión Logística.
d) Principal Component Analysis (PCA).
17.¿Cuál es el propósito de dividir el dataset del Titanic en conjuntos de entrenamiento y prueba?
a) Para aumentar el tamaño total del dataset.
b) Para visualizar los datos de manera más efectiva.
c) Para evaluar el rendimiento del modelo en datos no vistos y evitar el sobreajuste. [ver conversación anterior]
d) Para realizar una exploración inicial de los datos.
18.¿Qué métrica principal se utiliza en la «Guía Práctica BDA05.MP4» para evaluar el rendimiento del modelo de clasificación?
a) Precisión (Precision).
b) Recall.
c) F1-Score.
d) Exactitud (Accuracy). [ver conversación anterior]
19.Según la guía práctica, ¿qué información proporciona la matriz de confusión?
a) Un resumen estadístico de las variables predictoras.
b) La importancia relativa de cada característica en el modelo.
c) El número de verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos. [ver conversación anterior]
d) La probabilidad de supervivencia predicha para cada pasajero.
20.¿Qué concepto representa un Data Lake que ha degenerado debido a la falta de control y gobierno? a) Data Mart. b) Data Mesh. c) Data Swamp.9 d) Data Fabric.
Tabla de Respuestas y Explicaciones:
Pregunta | Respuesta Correcta | Explicación |
1 | b) Utilizar toda la información disponible para mejorar la toma de decisiones, especialmente la tasa de rotación de clientes. | Telco Max Spain quiere invertir en Big Data para almacenar toda la información de diferentes sistemas y mejorar la toma de decisiones, particularmente para reducir la tasa de rotación de clientes1…. |
2 | b) Principalmente gestionaban datos estructurados. | Los Datawarehouses tradicionales tenían la limitación de que solo permitían gestionar datos estructurados3…. |
3 | b) Hadoop. | Hadoop fue la plataforma más utilizada dentro del espectro de tecnologías Big Data5. |
4 | c) Data Lake. | Un Data Lake es un repositorio centralizado que permite almacenar todos los datos de una empresa a cualquier escala, sin modificarlos y sin tener que estructurarlos primero6. |
5 | b) En el momento del análisis o consulta (lectura). | En un Data Lake, el esquema de los datos se fija en la lectura, no en la escritura, lo que permite almacenar datos sin importar su estructura inicial7. |
6 | d) Gobierno de datos centralizado. | Data Mesh se basa en un enfoque descentralizado, donde el gobierno de datos es federado y compartido por todos los dominios, en lugar de centralizado8. |
7 | c) El Data Swamp (ciénaga de datos). | Si los principios de un Data Lake se siguen sin control, puede generarse un problema conocido como Data Swamp, donde no se sabe qué datos hay, cuáles son válidos, etc.9. |
8 | c) El Chief Data Officer (CDO). | Un equipo de Data Governance está liderado por la figura del CDO (Chief Data Officer)10. |
9 | b) La capacidad de crear clústers Hadoop a demanda en AWS. | Amazon EMR es un servicio de Amazon Web Services que permite crear clústers Hadoop a demanda11. |
10 | c) La distribución HDP de Hortonworks. | HDInsight, la solución de Microsoft Azure de Hadoop como servicio, utiliza la distribución HDP de Hortonworks12. |
11 | c) Si el pasajero sobrevivió o no (survived). | Según la «Guía Práctica BDA05.MP4» (mencionada en la descripción de la guía13… y en nuestra conversación anterior), la variable objetivo del dataset del Titanic es si el pasajero sobrevivió o no. |
12 | c) spark.read.csv(). | En nuestra conversación anterior sobre la «Guía Práctica BDA05.MP4», se mencionó que spark.read.csv() es el método utilizado en Spark para leer archivos CSV. |
13 | b) Para almacenar el DataFrame en memoria y acelerar el procesamiento posterior. | En nuestra conversación anterior sobre la «Guía Práctica BDA05.MP4», explicamos que el método cache() se utiliza en Spark para almacenar el DataFrame en memoria, lo que acelera las operaciones posteriores. |
14 | c) StringIndexer y OneHotEncoder. | Según nuestra conversación anterior sobre la «Guía Práctica BDA05.MP4», las transformaciones StringIndexer y OneHotEncoder de Spark MLlib se aplican a las variables categóricas antes de entrenar el modelo de regresión logística. |
15 | c) Combinar las variables predictoras transformadas en una única columna de características. | En nuestra conversación anterior sobre la «Guía Práctica BDA05.MP4», indicamos que el VectorAssembler tiene la función de combinar las variables predictoras transformadas en una única columna de características para alimentar el modelo de aprendizaje automático. |
16 | c) Regresión Logística. | La «Guía Práctica BDA05.MP4» (descrita en las fuentes13… y en nuestra conversación) utiliza la Regresión Logística como ejemplo de algoritmo de aprendizaje automático. |
17 | c) Para evaluar el rendimiento del modelo en datos no vistos y evitar el sobreajuste. | En nuestra conversación anterior sobre la «Guía Práctica BDA05.MP4», explicamos que la división del dataset en conjuntos de entrenamiento y prueba es crucial para evaluar el rendimiento del modelo en datos no vistos y prevenir el sobreajuste. |
18 | d) Exactitud (Accuracy). | Según nuestra conversación anterior sobre la «Guía Práctica BDA05.MP4», la exactitud (accuracy) es una de las métricas principales utilizadas para evaluar el rendimiento del modelo de clasificación. |
19 | c) El número de verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos. | En nuestra conversación anterior sobre la «Guía Práctica BDA05.MP4», definimos que la matriz de confusión proporciona información sobre el número de verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos, lo que ayuda a entender el rendimiento del clasificador. |
20 | c) Data Swamp. | Un Data Swamp representa un Data Lake que ha degenerado debido a la falta de control y gobierno9. |
Recursos
- Guía Práctica BDA05
Guía de Estudio de la «Guía Práctica BDA05.mp4»
Esta guía se centra en la aplicación práctica de aprendizaje automático utilizando Apache Spark, tal como se presenta en el vídeo «Guía Práctica BDA05.mp4». El objetivo principal es entrenar un modelo de regresión logística para predecir la supervivencia de los pasajeros del Titanic.
Fases Clave Cubiertas:
- Preparación del Entorno:
◦Creación de una base de datos personalizada en Databricks basada en el nombre de usuario1.
◦Descarga del dataset del Titanic en formato CSV al clúster utilizando wg1.
◦Copia del dataset descargado al sistema de ficheros distribuido de Databricks (DBFS) mediante el comando CP2.
- Carga y Exploración Inicial de Datos:
◦Lectura del archivo CSV desde DBFS utilizando spark.read.csv, especificando que contiene una cabecera (header=True) e infiriendo el esquema de datos (inferSchema=True)2.
◦Almacenamiento del DataFrame en memoria utilizando cache() para acelerar el procesamiento durante el entrenamiento2.
◦Visualización de las primeras filas del DataFrame con display() para entender la estructura y los datos2.
◦Descripción de las columnas importantes: survived (variable objetivo), pclass (clase del billete), sex, age, sibsp (hermanos/cónyuges a bordo), parch (padres/hijos a bordo), etc.2….
◦Escritura del DataFrame en una tabla Delta Lake para su posterior uso y exploración3.
◦Visualización del esquema inferido del DataFrame (printSchema()) para verificar los tipos de datos3.
◦Obtención de un resumen estadístico de las variables numéricas utilizando el método describe() (conteo, media, desviación estándar, mínimo, máximo)4. Se destaca que estas estadísticas tienen sentido principalmente para variables numéricas.
◦Identificación de valores nulos (faltantes) en las columnas, como en la columna age4. Se menciona la posibilidad de eliminar o imputar estos valores.
◦Análisis de la distribución de la variable objetivo (survived) para ver cuántos pasajeros sobrevivieron y cuántos no5.
◦Visualización gráfica de la supervivencia utilizando las capacidades de Databricks6. Se enfatiza la importancia de elegir el tipo de gráfico adecuado y personalizarlo (por ejemplo, colores consistentes para supervivencia y fallecimiento).
- Análisis de Variables Predictoras:
◦Comparación de la supervivencia con la variable sex, mostrando una clara diferencia en las tasas de supervivencia entre hombres y mujeres6….
◦Análisis de la relación entre la supervivencia y la pclass, revelando que la clase del billete influyó en la probabilidad de supervivencia7.
◦Análisis de la relación entre la supervivencia y la age mediante un box plot, sugiriendo que la edad por sí sola no parece ser un predictor fuerte7….
◦Creación de una nueva variable llamada relatives combinando sibsp y parch para analizar el impacto del número total de parientes a bordo en la supervivencia8…. Se observa una tendencia donde viajar solo se asocia con una menor probabilidad de supervivencia, al igual que viajar con muchos parientes.
- Entrenamiento del Modelo de Regresión Logística:
◦Selección de las variables predictoras a utilizar: sex, relatives, y pclass (renombrada a Pclass). La variable objetivo es survived9….
◦Manejo de variables categóricas (sex y Pclass) utilizando transformaciones de Spark MLlib:
▪StringIndexer: Convierte las etiquetas de cadena a índices numéricos10…. Se crea una columna sex_index.
▪OneHotEncoder: Codifica las variables indexadas en vectores binarios (one-hot encoding) para evitar que el modelo interprete una relación ordinal entre las categorías11. Se crean columnas sex_vector y Pclass_vector.
◦Utilización de VectorAssembler para combinar las variables predictoras transformadas (sex_vector, Pclass_vector, y relatives) en una única columna de vector llamada features, que es el formato requerido por los algoritmos de aprendizaje automático de Spark MLlib12.
◦Importación y creación de una instancia del algoritmo de LogisticRegression, especificando la columna features como las características de entrada y la columna survived como la etiqueta12….
◦Creación de un Pipeline para secuenciar las transformaciones (StringIndexer, OneHotEncoder, VectorAssembler) y el estimador (LogisticRegression). Esto simplifica el flujo de trabajo y garantiza que las mismas transformaciones se apliquen a los datos de entrenamiento y prueba13.
◦División del dataset en conjuntos de entrenamiento (70%) y prueba (30%) utilizando randomSplit para evaluar el rendimiento del modelo en datos no vistos13….
◦Entrenamiento del modelo utilizando el método fit() del pipeline y los datos de entrenamiento14….
◦Realización de predicciones en el conjunto de prueba utilizando el método transform() del modelo entrenado15.
- Evaluación del Modelo:
◦Inspección de las columnas añadidas por el modelo (rawPrediction, probability, prediction) en el DataFrame de predicciones15.
◦Visualización comparativa de la columna real (survived) y la columna de predicción (prediction) para algunos ejemplos15.
◦Cálculo de la exactitud del modelo utilizando MulticlassClassificationEvaluator. La exactitud representa el porcentaje de predicciones correctas16. Se compara la exactitud del modelo entrenado con la de un modelo trivial que predice que todos mueren (aproximadamente 62%) y con otro modelo trivial que predice la supervivencia basada únicamente en el sexo (aproximadamente 79%)16….
◦Introducción al concepto de matriz de confusión, que muestra el número de verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos, proporcionando una visión más detallada del rendimiento del clasificador18…. Se muestra cómo calcular la matriz de confusión utilizando tanto Spark como Pandas (con la advertencia sobre el posible desbordamiento de memoria al convertir a Pandas con grandes datasets)19….
- Publicación del Notebook (Opcional):
◦Mención de la posibilidad de publicar el notebook de Databricks para compartir los resultados públicamente a través de una URL18.
Preguntas Frecuentes (FAQ) basadas en la «Guía Práctica BDA05.MP4»
- ¿Para qué se utiliza el dataset del Titanic en esta guía práctica?
◦Se utiliza como un ejemplo clásico en ciencia de datos para entrenar un modelo de aprendizaje automático que pueda predecir si un pasajero sobrevivió o no al hundimiento del Titanic, basándose en diversas características como la clase del billete, el sexo y la edad1….
- ¿Cómo se cargan y almacenan los datos en Databricks según el vídeo?
◦El dataset se descarga primero al clúster utilizando el comando wg1. Luego, se copia al sistema de ficheros distribuido de Databricks (DBFS) con el comando cp2. Finalmente, se lee desde DBFS con spark.read.csv() y se almacena en memoria utilizando cache() para optimizar el acceso durante el entrenamiento2. También se guarda el DataFrame en una tabla Delta Lake3.
- ¿Cuáles son los pasos principales involucrados en la exploración inicial de los datos?
◦Leer el dataset, visualizar las primeras filas para entender su estructura2, imprimir el esquema para verificar los tipos de datos3, obtener un resumen estadístico de las variables numéricas4, identificar y considerar el manejo de valores nulos4, y analizar la distribución de la variable objetivo5 mediante tablas y visualizaciones gráficas6.
- ¿Por qué se utilizan StringIndexer y OneHotEncoder para las variables categóricas?
◦StringIndexer se utiliza para convertir las variables categóricas (como ‘male’ y ‘female’ en la columna ‘sex’) a índices numéricos que los algoritmos de aprendizaje automático puedan procesar10…. OneHotEncoder se aplica a continuación para crear variables binarias separadas para cada categoría (por ejemplo, una columna para ‘male’ y otra para ‘female’ con valores 0 o 1). Esto evita que el modelo interprete una relación de orden entre las categorías (por ejemplo, que ‘female’ sea mayor que ‘male’)11.
- ¿Cuál es la función del VectorAssembler?
◦El VectorAssembler toma todas las columnas de características predictoras que queremos usar en nuestro modelo (después de cualquier transformación, como la codificación one-hot) y las combina en una única columna de vector llamada típicamente features. Este es el formato de entrada requerido por muchos algoritmos de aprendizaje automático en Spark MLlib12.
- ¿Por qué es importante dividir el dataset en conjuntos de entrenamiento y prueba?
◦Dividir el dataset permite evaluar el rendimiento del modelo en datos que no se utilizaron durante el entrenamiento. Esto ayuda a prevenir el sobreajuste (overfitting), donde el modelo aprende demasiado bien los datos de entrenamiento y no generaliza bien a datos nuevos. La evaluación en el conjunto de prueba proporciona una estimación más realista de cómo se comportará el modelo en el mundo real13….
- ¿Cómo se entrena un modelo de regresión logística en Spark según el vídeo?
◦Primero, se crea una instancia de la clase LogisticRegression. Luego, se especifica qué columna contiene las características (features) y cuál contiene la etiqueta a predecir (survived)12…. Finalmente, se utiliza el método fit() del pipeline (que incluye todas las transformaciones y el algoritmo) con los datos de entrenamiento para aprender los patrones en los datos y construir el modelo14….
- ¿Cómo se evalúa el rendimiento del modelo de clasificación en esta guía?
◦El rendimiento del modelo se evalúa principalmente utilizando la métrica de exactitud, que es el porcentaje de predicciones correctas16. También se introduce el concepto de la matriz de confusión, que proporciona una visión más detallada de los tipos de errores que comete el modelo (falsos positivos y falsos negativos) además de los aciertos (verdaderos positivos y verdaderos negativos)18….
- ¿Qué información proporciona la matriz de confusión?
◦La matriz de confusión muestra una tabla donde las filas representan las clases reales (por ejemplo, sobrevivió o no sobrevivió) y las columnas representan las clases predichas por el modelo. Las celdas de la matriz indican el número de instancias que fueron clasificadas correctamente (verdaderos positivos y verdaderos negativos) y las que fueron clasificadas incorrectamente (falsos positivos y falsos negativos)18…. Esto permite entender mejor dónde está fallando el modelo.
- ¿Cómo se puede compartir el trabajo realizado en el notebook de Databricks?
◦El vídeo menciona la opción de publicar el notebook como accesible públicamente, generando una URL que se puede compartir con otros para que vean los resultados, aunque no puedan ejecutar el notebook directamente sin una cuenta de Databricks18.