¿Qué es hadoop y cómo aprenderlo?

Hadoop implementa el sistema de archivos distribuido Hadoop (HDFS para abreviar), que es altamente tolerante a fallas, está diseñado para implementarse en hardware de bajo costo y proporciona un alto rendimiento para acceder a los datos de las aplicaciones, lo que lo hace adecuado para aplicaciones con grandes conjuntos de datos. HDFS relaja los requisitos de POSIX para permitir el acceso en streaming a los datos del sistema de archivos.

El diseño central del marco Hadoop es HDFS y MapReduce proporciona almacenamiento para grandes cantidades de datos y MapReduce proporciona cálculo para grandes cantidades de datos. En resumen, Hadoop es almacenamiento más computación.

El nombre Hadoop no es una abreviatura, sino un nombre ficticio. El creador del proyecto, Doug Cutting, explica el origen del nombre de Hadoop: "Mis hijos le pusieron el nombre de un elefante de juguete color canela.

Hadoop es una plataforma informática distribuida que permite a los usuarios crear y utilizar fácilmente esta plataforma. Puede desarrollar y ejecutar fácilmente aplicaciones que procesan cantidades masivas de datos en Hadoop. Tiene las siguientes ventajas principales:

1. Vale la pena confiar en la capacidad de Hadoop para almacenar y procesar datos. p>

2. Hadoop altamente escalable distribuye datos y tareas informáticas entre los grupos de computadoras disponibles y se puede expandir fácilmente a miles de nodos.

3. Hadoop altamente eficiente puede mover datos dinámicamente entre nodos y. Garantiza el equilibrio dinámico de cada nodo, por lo que la velocidad de procesamiento es muy rápida.

4. Alta tolerancia a fallos. Hadoop puede guardar automáticamente varias copias de datos y asignarlas automáticamente. p>5 Bajo costo En comparación con las máquinas todo en uno, los almacenes de datos comerciales y los mercados de datos (como QlikView, Yonghong Z-Suite), hadoop es de código abierto y el costo del software del proyecto también lo será. se reduce considerablemente.

El propio marco de Hadoop está escrito en Java, por lo que es muy adecuado para ejecutarse en plataformas de producción Linux. Las aplicaciones en Hadoop también se pueden escribir en otros lenguajes como C. /p >

El impacto de Hadoop en el procesamiento de big data

Hadoop tiene ventajas naturales en la extracción, transformación y carga (ETL), por lo que se utiliza ampliamente en la arquitectura distribuida de Hadoop como motor de procesamiento de big data. lo más cerca posible del almacenamiento lo hace relativamente adecuado para operaciones de procesamiento por lotes (como la función MapReduce de Hadoop puede dividir una sola tarea y enviar las tareas distribuidas (Mapa) a múltiples nodos y luego distribuirlas (. Reduce) se cargan en el almacén de datos como un único conjunto de datos

Hadoop consta de los siguientes proyectos

1. es cada subunidad de Hadoop. El proyecto proporciona varias herramientas, como: archivos de configuración y operaciones de registro.

2.HDFS: sistema de archivos distribuido, que proporciona acceso a datos de aplicaciones de alto rendimiento para clientes externos. Es como una partición tradicional del sistema de archivos. Puede crear, eliminar, mover o cambiar el nombre de archivos, etc. Pero la arquitectura de HDFS se basa en un conjunto específico de nodos (consulte la Figura 1), que está determinado por sus propias características. Solo hay un NameNode que proporciona servicios de metadatos y un DataNode que proporciona bloques de almacenamiento para HDFS. Dado que solo hay un NameNode, esta es una desventaja (punto único de falla) de HDFS. Los archivos almacenados en HDFS se dividen en fragmentos y luego se replican en varias máquinas (DataNodes). Esto es completamente 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.

El NameNode controla todas las operaciones de archivos.

3. MapReduce: un marco de software de procesamiento masivo de datos distribuido que integra clústeres informáticos.

4. Avro: corte de Doug alojado en el proyecto RPC, principal responsable de la serialización de datos. Algo similar al protobuf de Google y al ahorro de Facebook. Avro se utilizó más tarde para hacer que el módulo RPC de Hadoop se comunicara más rápido y tuviera una estructura de datos más compacta.

5. Hive: similar a CloudBase, también es un conjunto de software que proporciona funciones SQL de almacenamiento de datos basadas en la plataforma informática distribuida hadoop. Hive proporciona un conjunto de lenguaje de consulta QL basado en SQL que es muy 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. Se basa en el modelo de almacenamiento en columnas y admite tablas grandes para almacenar datos estructurados.

7. Pig: es un lenguaje de flujo de datos avanzado y un marco de ejecución para computación paralela. Es similar al lenguaje SQL. Es un lenguaje de consulta avanzado basado en MapReduce. Map y Reduce, y los usuarios pueden definir sus propias funciones.

8. ZooKeeper: la implementación de código abierto de Chubby. Es un sistema de coordinación confiable para sistemas distribuidos a gran escala. Proporciona funciones que incluyen: mantenimiento de configuración, servicio de nombres, sincronización distribuida, servicios de grupo, etc. El objetivo de ZooKeeper es encapsular servicios clave complejos y propensos a errores y proporcionar a los usuarios una interfaz simple y fácil de usar, un rendimiento eficiente, una funcionalidad y un sistema estable.

9. Chukwa: Un sistema de recopilación de datos para gestionar grandes sistemas distribuidos, aportado por Yahoo.

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.

Los objetivos de diseño de Hadoop son alta confiabilidad, alta escalabilidad, tolerancia a fallas y eficiencia. Son estas ventajas de diseño inherentes las que hicieron que Hadoop fuera el favorito de muchas grandes empresas tan pronto como apareció, y también atrajeron la atención de las empresas. toda la comunidad investigadora. Hasta ahora, la tecnología Hadoop se ha utilizado ampliamente en el campo de Internet, como Yahoo, Facebook, Adobe, IBM, Baidu, Alibaba, Tencent, Huawei, China Mobile, etc.

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, Al menos es necesario dominar un idioma básico para poder obtener el doble de resultados con la mitad del esfuerzo de aprendizaje, porque en la actualidad Hadoop no se ha desarrollado en China desde hace mucho tiempo. Los amigos que estén interesados ​​primero pueden encontrar algunos libros. para aprender y establecer las habilidades básicas. Este sitio continuará actualizándose sobre los métodos de aprendizaje y los recursos de información de Hadoop. **** Lo agradezco. Espero que todos puedan trabajar juntos. Si tienen buenos métodos y sugerencias, bienvenidos a intercambiarlos.

> All Rights Reserved.