📜  Hadoop——优点和缺点

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

随着行业的发展,大数据变得必要,其目标是聚合信息并发现数据背后隐藏的事实。数据定义了行业如何改善其活动和事务。大量的行业都围绕着数据展开,有大量的数据通过各种流程和各种工具进行收集和分析。 Hadoop是处理海量数据的工具之一,因为它可以轻松地从数据中提取信息,Hadoop在我们处理大数据时有其优点和缺点。

优点

Hadoop-Pros

1. 成本

Hadoop 是开源的,并且使用具有成本效益的商品硬件,它提供了一个具有成本效益的模型,不像传统的关系数据库需要昂贵的硬件和高端处理器来处理大数据。传统关系型数据库的问题在于存储海量数据不划算,因此公司开始移除原始数据。这可能不会导致他们业务的正确场景。意味着 Hadoop 为我们提供了两个主要的成本优势,一个是它的开源意味着免费使用,另一个是它使用的商品硬件也很便宜。

2. 可扩展性

Hadoop 是一种高度可扩展的模型。大量数据被分成集群中的多台廉价机器并行处理。这些机器或节点的数量可以根据企业的要求增加或减少。在传统的 RDBMS(关系数据库管理系统)中,系统无法扩展以处理大量数据。

3. 灵活性

Hadoop 的设计方式使其可以非常有效地处理任何类型的数据集,如结构化(MySql 数据)、半结构化(XML、JSON)、非结构化(图像和视频)。这意味着它可以轻松地独立于其结构处理任何类型的数据,这使其非常灵活。这对企业非常有用,因为他们可以轻松处理大型数据集,因此企业可以使用 Hadoop 分析来自社交媒体、电子邮件等来源的数据的宝贵见解。具有这种灵活性 Hadoop 可用于日志处理、数据仓库、欺诈检测等。

4. 速度

Hadoop 使用分布式文件系统来管理其存储,即 HDFS(Hadoop 分布式文件系统)。在 DFS(分布式文件系统)中,大文件被分成小文件块,然后分布在 Hadoop 集群中可用的节点之间,因为并行处理大量文件块,这使 Hadoop 更快,因此它提供了与传统的数据库管理系统相比具有较高的性能。当您处理大量非结构化数据时,速度是一个重要因素,借助 Hadoop,您可以在几分钟内轻松访问 TB 级的数据。

5. 容错

Hadoop 使用随时可能崩溃的商品硬件(廉价系统)。在 Hadoop 中,数据被复制到 Hadoop 集群中的各个 DataNode 上,如果您的任何系统以某种方式崩溃,这可以确保数据的可用性。如果这台机器遇到技术问题,您可以从一台机器读取所有数据,也可以从 Hadoop 集群中的其他节点读取数据,因为默认情况下会复制或复制数据。 Hadoop 为每个文件块制作 3 个副本并将其存储到不同的节点中。

6. 高吞吐量

Hadoop 在分布式文件系统上工作,其中各种作业被分配到集群中的各个数据节点,这些数据在 Hadoop 集群中并行处理,从而产生高吞吐量。吞吐量不过是单位时间内完成的任务或工作。

7. 最小网络流量

在 Hadoop 中,每个任务被分成各种小的子任务,然后分配给 Hadoop 集群中可用的每个数据节点。每个数据节点处理少量数据,这导致 Hadoop 集群中的低流量。

缺点

Hadoop 的缺点

1.小文件问题

Hadoop 可以有效地处理少量大文件。 Hadoop 以文件块的形式存储文件,文件块大小从 128MB(默认)到 256MB。当需要大量访问小文件时,Hadoop 会失败。如此多的小文件使 Namenode 负担过重,使其难以工作。

2. 漏洞

Hadoop 是一个用Java编写的框架,而Java是最常用的编程语言之一,这使得它更加不安全,因为它很容易被任何网络犯罪分子利用。

3.小数据环境下性能低下

Hadoop 主要设计用于处理大型数据集,因此可以有效地用于生成大量数据的组织。在小数据环境中执行时,它的效率会降低。

4. 缺乏安全性

数据是组织的一切,默认情况下,Hadoop 中的安全功能不可用。因此,数据驱动程序需要小心处理这个安全问题,并对其采取适当的措施。 Hadoop 使用Kerberos来实现不易管理的安全特性。 Kerberos 中缺少存储和网络加密,这让我们更加关注它。

5. 高端处理

Hadoop 中的读/写操作是无节制的,因为我们正在处理以 TB 或 PB 为单位的大尺寸数据。在 Hadoop 中,数据从磁盘读取或写入,这使得执行内存计算变得困难并导致处理开销或 High up 处理。

6. 仅支持批处理

批处理只是在后台运行的进程,与用户没有任何交互。 Hadoop 核心中用于这些进程的引擎效率并不高。用它不可能产生低延迟的输出。