Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Universidad de Sonora Maestría en Ciencia de Datos Introducción a BIG DATA Instructor: Dr. Juan Pablo Soto Barrera juanpablo.soto@unison.mx Contenido 1. ¿Qué es Hadoop? 2. Definición 3. Características 4. Arquitectura 5. HDFS 6. MapReduce Antecedentes 2003 2004 2006 Definición: “Framework de código abierto utilizado para el almacenamiento y procesamiento de grandes volúmenes de datos en forma distribuida.” Link: https://hadoop.apache.org/ Dong Cutting https://hadoop.apache.org/ Características • Procesamiento distribuido • Eficiente • Económico • Fácilmente escalable • Tolerante a fallos • Open source Arquitectura Arquitectura La filosofía de Hadoop se basa en DISTRIBUIR • Se basa en dos componentes principales: • El Sistema de Archivos distribuido de Hadoop (HDFS), para la parte de almacenamiento. • El Servidor MapReduce, para la gestión distribuida de procesamiento. HDFS Divide los archivos en bloques, los distribuye entre distintos Data Nodes que conforman el clúster y los replica. MapReduce es el componente de procesamiento de Hadoop • Es un modelo de programación que trabaja sobre HDFS y se basa en el uso de dos tipos de funciones: • Map – “Divide y vencerás” • Reduce – “Combina y reduce la cardinalidad” Se basa en YARN para planificar y ejecutar el procesamiento en paralelo sobre los bloques de archivos distribuidos en el HDFS. Ecosistema de Hadoop MAP REDUCE • Hadoop se base en el paradigma MapReduce para paralelizar los procesos en dos fases. La primer fase es la de mapeo (map). En esta se realiza un escaneo de los datos de entrada y se genera una lista de pares clave-valor. Estos pares son agrupados por clave y pasados a la función reduce que se encarga de procesarlos y generar un resultado agrupado de los mismos. https://es.wikipedia.org/wiki/MapReduce Un ejemplo de aplicación: contar palabras ¿Cuándo usar Hadoop? • Cantidades de datos muy grandes. • Terabyte o petabyte. • Nuestros datos están en constante crecimiento. • Fácil escalado. ¿Cuándo no usar Hadoop? • Análisis de datos en tiempo real • Los procesos Map Reduce llevan su tiempo. • Horas, días, semanas. (Según la cantidad). Solución: Apache Spark • Para un sistema con Base de Datos relacional • Modelo de datos muy complejo. • Join, union, etc. Solución: Apache Hive ¿Cuándo no usar Hadoop? • Cuando queremos modificar nuestros datos • HDFS: Write-once-read-many • Una vez escrito, solo podemos borrar o añadir al final • Cuando no se puedan paralelizar los datos Casos de estudio • Google: flu trends permitía descubrir cómo ciertos terminos de búsqueda sirven como buenos indicadores de la actividad de la gripe. Cualquier usuario podía entrar y ver la evolución de la gripe a través de datos globales de las búsquedas en google. https://3dhealthdata.com/google-flu-trends-auge-y-caida-de-un-algoritmo/ https://3dhealthdata.com/google-flu-trends-auge-y-caida-de-un-algoritmo/
Compartir