📜  Hadoop简介

📅  最后修改于: 2021-10-27 06:47:48             🧑  作者: Mango

什么是Hadoop?

Hadoop 是一种开源软件编程框架,用于存储大量数据并执行计算。它的框架基于Java编程,带有一些用 C 和 shell 脚本编写的本机代码。

Hadoop 的历史

Apache 软件基金会是 Hadoop 的开发者,它的联合创始人是Doug CuttingMike Cafarella
它的联合创始人 Doug Cut 以他儿子的玩具大象命名。 2003 年 10 月,第一个论文发布是 Google 文件系统。 2006 年 1 月,MapReduce 开始在 Apache Nutch 上开发,其中包含大约 6000 行代码和大约 5000 行 HDFS 代码。 2006 年 4 月,Hadoop 0.1.0 发布。

Hadoop分布式文件系统

它具有称为 HDFS 的分布式文件系统,该 HDFS 将文件拆分为块,并以大型集群的形式跨各个节点发送它们。同样,在节点发生故障的情况下,系统会运行,并且在 HDFS 促进的节点之间进行数据传输。

高密度文件系统

HDFS的优点:
它便宜、本质上不可变、可靠地存储数据、容错能力、可扩展、块结构、可以同时处理大量数据等等。

HDFS的缺点:
它最大的缺点是它不适合少量数据。此外,它还存在与潜在稳定性、限制性和粗糙性相关的问题。

Hadoop 还支持范围广泛的软件包,例如 Apache Flumes、Apache Oozie、Apache HBase、Apache Sqoop、Apache Spark、Apache Storm、Apache Pig、Apache Hive、Apache Phoenix、Cloudera Impala。

Hadoop的一些常用框架

  1. Hive- 它使用 HiveQl 进行数据结构化和在 HDFS 中编写复杂的 MapReduce。
  2. Drill – 它由用户定义的函数组成,用于数据探索。
  3. Storm – 它允许实时处理和数据流。
  4. Spark-它包含一个机器学习库(MLlib),用于提供增强的机器学习并广泛用于数据处理。它还支持Java、 Python和 Scala。
  5. Pig – 它具有 Pig Latin,一种类似 SQL 的语言,并执行非结构化数据的数据转换。
  6. Tez- 它降低了Hive和 Pig 的复杂性,并有助于更快地运行它们的代码。

Hadoop 框架由以下模块组成:

  1. Hadoop MapReduce – 一种用于处理和处理大数据的 MapReduce 编程模型。
  2. Hadoop 分布式文件系统 – 节点间集群中的分布式文件。
  3. Hadoop YARN – 一个管理计算资源的平台。
  4. Hadoop Common – 它包含用于其他模块的包和库。

Hadoop的优缺点

好处:

  • 能够存储大量数据。
  • 高灵活性。
  • 成本效益。
  • 高计算能力。
  • 任务是独立的。
  • 线性缩放。

缺点:

  • 对于小数据不是很有效。
  • 硬集群管理。
  • 有稳定性问题。
  • 安全问题。