[MÚSICA] [MÚSICA] Buenos días en este vídeo nos vamos a centrar en explicar el sistema de ficheros de Hadoop que es el HDFS. Como you hemos visto el ecosistema Hadoop tiene tres componentes fundamentales que serían el sistema de ficheros HDFS, el gestor de recursos YARN y el modelo de programación MapReduce. Pues en este vídeo, nos vamos a centrar en la explicación de el sistema de ficheros HDFS. Este sistema de ficheros HDFS ha sido diseñado con dos características fundamentales. Por un lado, está pensado para trabajar con sistemas de bajo coste. Es decir, con hardware normal, computadores personales, sin pensar en computadores de alto rendimiento, de altas prestaciones, supercomputadores. Es decir, estaríamos utilizando lo que se domina el commodity hardware. Además, está pensado para ser altamente intolerante a fallos you que estamos utilizando muchos nodos de cómputo y es posible que es, cuantos más nodos estemos utilizando, más probabilidades tenemos de que algún nodo falle, entonces el sistema de ficheros está pensado para que pueda tolerar esos fallos y detectarlos y recuperarse de una forma dinámica y automática de forma satisfactoria. Entonces, originalmente fue diseñado como una infraestructura para el motor de búsqueda de la Apache Nutch, pero you se convertió en todo un proyecto dentro del, todo un sub-proyecto dentro del proyecto Hadoob para desarrollar todo lo que es el sistema de ficheros de este sistema, de este sistema Hadoob. Las características fundamentales de este sistema HDFS es que es adecuado para aplicaciones que utilizan grandes volúmenes de datos y tenemos que, una instancia de HDFS puede consistir en cientos o incluso miles de nodos que van a compartir todos este sistema de ficheros y van a estar distribuidos los datos por todos esto, este gran número de, de nodos del sistema que, que estamos utilizando. Además, HDFS nos va a proporcionar un acceso de alto rendimiento a todo este sistema de datos de centenares o incluso miles de nodos. Como que vamos a trabajar con grandes volúmenes de datos, podemos tener un sistema de ficheros que nos incluya pues, ficheros de gigas o incluso terabytes de información. Estos son grandes cantidades de información con lo cual HDFS tiene que soportar todos estos estos grandes volúmenes de datos. Y lo que vamos a conseguir con HDFS va a ser un alto ancho de banda y que pueda escalar a miles de nodos de nuestro sistema en un cluster. De modo que podemos acceder de forma eficiente a todos, a todos estos nodos. Entonces, tenemos que, como hemos comentado, el sistema está utilizando centenares o miles de nodos y cuando estamos utilizando tantos nodos, es posible que alguno de los nodos falle. Por tanto debemos ofrecer las capacidades para que el sistema sea capaz de detectar los fallos que se nos produzcan en algunos de los nodos y recuperarlos el sistema de una forma automática y sin tener que detener el funcionamiento del sistema y continuando la ejecución normal sin que importe la aparición de este fallo que se ha producido durante la ejecución. Por tanto, el sistema ha sido diseñado con estas características y vamos a tener que ofrecer la posibilidad de trabajar también en lo que se denomina datos en streaming. Es decir, datos que se nos van, nos van llegando de forma continua. Por ejemplo, si estamos procesando tweets que se están generando en las redes sociales, pues se están generando continuamente y continuamente nos van a ir llegando nuevos datos que vamos a tener que ir procesando. Por tanto, tenemos que tener la capacidad para poder incorporar estos datos y procesarlos de una forma continua. Además, tenemos que ofrecer un modelo de coherencia que sea muy simple. Es decir, you que tendremos un sistema de ficheros distribuido hemos de asegurar que la coherencia entre las, los distinto ficheros se mantiene en todo momento de ahí que se haya optado por utilizar un sistema de write-once- read-many. Es decir que únicamente se puede escribir una vez en los ficheros y después se puede leer muchas veces en los archivos o ficheros del sistema. Nosotros podemos crear un fichero, escribir en el fichero, escribir en el fichero, y cuando lo cerramos you no podremos agregar nueva información en ese fichero. Sino que, a partir de ese momento podremos realizar distintas lecturas sobre el fichero pero sin la posibilidad de realizar nuevas escrituras sobre el mismo you que esto nos podría dar lugar a incoherencias en el sistema y al mal funcionamiento del sistema en el análisis de, de los datos. De este modo, se nos simplifica mucho todas las relación, todo lo, la problemática relacionada la coherencia de los ficheros. Además, se observó que cuando nosotros tenemos una gran cantidad de datos distribuida en un sistema de ficheros distribuidos, y vamos a tener que procesarlos era mejor mover las aplicaciones al sitio donde estaban los datos que mover los datos a las aplicaciones. De este modo, lo que vamos a hacer va a ser, tenemos los datos distribuidos y vamos a mover las aplicaciones para que se ejecuten lo más próximas posible, es decir en los nodos, en aquellos nodos en que estén colocados los datos, de modo que no tengamos que mover los datos. Mover los datos por el sistema el final introducía una, una latencia mucho mayor y perdíamos mucho más tiempo. Moviendo los datos que mover la, el cómputo cerca de los datos y entonces ejecutar esa aplicación con los datos próximos. De este modo, se minimiza la congestión en la red y conseguimos incrementar el, el rendimiento del sistema. Entonces HDFS you proporciona interfaces para que las aplicaciones se muevan cerca de los datos de una forma eficiente y podamos mejorar el rendimiento del sistema. Por último, otra de las características que nos ofrece el sistema HDFS es que debe ser portable entre distintas plataformas. De este modo, cuando nosotros tenemos distintos ficheros en distintos sistemas, vamos a poder mover la plataforma de todos los datos y mover todo el sistema de ficheros a distintas plataformas, tanto software como hardware, y eso facilita que HDFS pueda ser utilizado como sistema de ficheros por muchos usuarios que utilicen distintas plataformas tanto hardware como software con lo cual el sistema se hace mucho más popular y es mantenido por muchos más usuarios y muchos más desarrolladores. [MÚSICA] [MÚSICA]