¿Qué es hadoop y cómo aprenderlo?
El diseño central del marco Hadoop es: HDFS y MapReduce. HDFS proporciona almacenamiento para datos masivos y MapReduce proporciona cálculo para datos masivos. En una palabra, Hadoop es almacenamiento más cálculo.
El nombre Hadoop no es una abreviatura, sino un nombre ficticio. El fundador del proyecto, Doug Cutting, explicó el nombre de Hadoop: "Recibió su nombre de un elefante de juguete marrón que mis hijos nombraron.
Hadoop es una plataforma informática distribuida que los usuarios pueden construir y utilizar fácilmente. Los usuarios pueden desarrollar fácilmente y ejecutar aplicaciones que procesan datos masivos en Hadoop. Tiene las siguientes ventajas principales:
1. Alta confiabilidad Hadoop almacena y procesa datos poco a poco. Su capacidad es digna de confianza. >2. Hadoop, altamente escalable, distribuye datos y completa tareas informáticas entre los grupos de computadoras disponibles y puede escalar fácilmente a miles de nodos.
3. Hadoop eficiente puede mover datos dinámicamente entre nodos para garantizar el equilibrio dinámico de cada uno. nodo, por lo que la velocidad de procesamiento es muy rápida
4. Hadoop, altamente tolerante a fallas, puede guardar automáticamente múltiples copias de datos y reasignar automáticamente las tareas fallidas.
5. Computadoras todo en uno, almacenes de datos comerciales y mercados de datos como QlikView y Yonghong Z-Suite, Hadoop es de código abierto, por lo que el costo del software del proyecto se reducirá considerablemente. tiene un marco escrito en Java, por lo que es ideal para ejecutarse en plataformas de producción Linux. Las aplicaciones en Hadoop también se pueden escribir en otros lenguajes, como C++.
La importancia del procesamiento de big data de Hadoop.
Hadoop se puede utilizar ampliamente en aplicaciones de procesamiento de big data debido a sus ventajas naturales en la extracción, transformación y carga de datos (ETL). La arquitectura distribuida de Hadoop facilita el procesamiento de big data. posible, lo cual es relativamente adecuado para operaciones por lotes como ETL, porque los resultados por lotes de dichas operaciones se pueden almacenar directamente. La función MapReduce de Hadoop divide una sola tarea y envía tareas fragmentadas (Mapa) a múltiples. almacén de datos en forma de un único conjunto de datos.
Hadoop consta de los siguientes proyectos:
1. El módulo más bajo del sistema Hadoop, que es un subsistema de Hadoop. proyecto Proporciona varias herramientas, como archivos de configuración, operaciones de registro, etc.
2. HDFS: sistema de archivos distribuido que proporciona acceso a datos de aplicaciones de alto rendimiento. HDFS es como un sistema de archivos jerárquico tradicional. puede crear, eliminar, mover o cambiar el nombre de archivos, etc. Sin embargo, la arquitectura de HDFS se basa en un conjunto específico de nodos (ver Figura 1), que está determinado por sus propias características, incluido NameNode (solo hay uno), que. proporciona servicios de metadatos dentro de HDFS, que proporciona bloques de almacenamiento para HDFS. Debido a que solo hay un NameNode, esto es una desventaja de HDFS (los archivos almacenados en HDFS se dividen en bloques). copiado a múltiples computadoras (DataNode). Esto es muy diferente de la arquitectura RAID tradicional. El tamaño del bloque (generalmente 64 MB) y la cantidad de bloques copiados los determina el cliente cuando se crea el archivo. NameNode puede controlar todas las operaciones de archivos. Todas las comunicaciones dentro de HDFS se basan en el protocolo TCP/IP estándar.
3.MapReduce: un conjunto de marcos de software de clústeres informáticos para el procesamiento masivo distribuido de datos.
4.AVRO: el proyecto RPC está alojado por Doug Kadin y es el principal responsable de la serialización de datos. Un poco como el protobuf de Google y el ahorro de Facebook.
Avro, como RPC de hadoop en el futuro, hace que la velocidad de comunicación del módulo RPC de hadoop sea más rápida y la estructura de datos más compacta.
5.Hive: similar a CloudBase, también es un conjunto de software basado en la plataforma informática distribuida hadoop, que proporciona la función SQL del almacén de datos. Simplifica la agregación y las consultas ad hoc de datos masivos almacenados en Hadoop. Hive proporciona un conjunto de lenguaje de consulta QL, basado en SQL, que es simple y fácil de usar.
6. HBase: Basado en el sistema de archivos distribuido Hadoop, es una base de datos distribuida escalable y de código abierto basada en el modelo de almacenamiento en columnas, que admite el almacenamiento de datos estructurados en tablas grandes.
7.Pig es un lenguaje de flujo de datos de alto nivel y un marco de ejecución para computación paralela. El lenguaje similar a SQL es un lenguaje de consulta avanzado basado en MapReduce. Compila algunas operaciones en Map y Reduce del modelo MapReduce, y los usuarios pueden personalizar las funciones.
8.ZooKeeper: Chubby de Google es una implementación de código abierto. Es un sistema de coordinación confiable para sistemas distribuidos a gran escala. Sus funciones incluyen mantenimiento de configuración, servicio de nombres, sincronización distribuida, servicios grupales, etc. El objetivo de ZooKeeper es encapsular servicios clave complejos y propensos a errores y proporcionar a los usuarios interfaces y sistemas fáciles de usar, de alto rendimiento y funcionalmente estables.
9.Chukwa: Un sistema de recopilación de datos para gestionar grandes sistemas distribuidos, aportado por Google.
10. Cassandra: una base de datos multimaestra escalable sin un único punto de falla.
11. Mahout: una biblioteca escalable de aprendizaje automático y minería de datos.
Hadoop fue diseñado con los objetivos de alta confiabilidad, alta escalabilidad, alta tolerancia a fallas y alta eficiencia desde el principio. Son estas ventajas inherentes al diseño las que han hecho que Hadoop sea el favorito de muchas grandes empresas tan pronto como apareció, y también atrajo una amplia atención en el campo de la investigación. Hasta ahora, la tecnología Hadoop se ha utilizado ampliamente en el campo de Internet, como Yahoo, Facebook, Adobe, IBM, Baidu, Alibaba, Tencent, Huawei y China Mobile.
En cuanto a cómo aprender hadoop, primero debes comprender y comprender profundamente qué es hadoop, cuáles son sus principios y funciones, incluidos sus componentes básicos y cuáles son sus funciones. Por supuesto, antes de aprender, debes dominar al menos un idioma básico, para que puedas obtener el doble de resultado con la mitad del esfuerzo, porque Hadoop no se ha desarrollado en China durante mucho tiempo. Los amigos interesados pueden encontrar algunos libros para aprender. sentar una base sólida. El sitio web también continuará actualizando métodos de aprendizaje y recursos de información sobre Hadoop.