Hadoop框架是什么

Fanly 问答 2018-08-20 15:29:07 阅读(...)

Hadoop是一个开源软件框架,用于在商用硬件集群上存储数据和运行应用程序。它为任何类型的数据提供海量存储,巨大的处理能力以及处理几乎无限的并发任务或作业的能力。

Hadoop 是一个开源软件框架,用于在商用硬件集群上存储数据和运行应用程序。它为任何类型的数据提供海量存储,巨大的处理能力以及处理几乎无限的并发任务或作业的能力。

Hadoop

随着万维网在 20 世纪后期和 21 世纪初的发展,创建了搜索引擎和索引,以帮助在基于文本的内容中定位相关信息。在早期,搜索结果由人类返回。但随着网络从几十页增长到数百万页,需要自动化。创建了网络爬虫,其中许多是大学主导的研究项目,搜索引擎初创公司起飞(雅虎,AltaVista 等)。

其中一个项目是一个名为 Nutch 的开源网络搜索引擎 – Doug Cutting 和 Mike Cafarella 的创意。他们希望通过在不同计算机之间分配数据和计算来更快地返回 Web 搜索结果,从而可以同时完成多个任务。在此期间,另一个名为 Google 的搜索引擎项目正在进行中。它基于相同的概念 – 以分布式,自动化的方式存储和处理数据,以便更快地返回相关的 Web 搜索结果。

2006 年,Cutting 加入了雅虎并带来了 Nutch 项目以及基于谷歌早期工作的想法,自动化分布式数据存储和处理。Nutch 项目被划分 – 网络爬虫部分仍然是 Nutch,分布式计算和处理部分变成了 Hadoop(以 Cutting 的儿子的玩具大象命名)。2008 年,雅虎发布了 Hadoop 作为开源项目。今天,Hadoop 的框架和技术生态系统由非盈利的 Apache 软件基金会(ASF)管理和维护,ASF 是一个由软件开发人员和贡献者组成的全球社区。

为什么 Hadoop 很重要?

  • 能够快速存储和处理大量任何类型的数据。随着数据量和品种的不断增加,特别是来自社交媒体和物联网(IoT),这是一个关键考虑因素。
  • 计算能力。Hadoop 的分布式计算模型可以快速处理大数据。您使用的计算节点越多,您拥有的处理能力就越强。
  • 容错。数据和应用程序处理可防止硬件故障。如果节点发生故障,作业将自动重定向到其他节点,以确保分布式计算不会失败。自动存储所有数据的多个副本。
  • 灵活性。与传统的关系数据库不同,您不必在存储数据之前对其进行预处理。您可以根据需要存储尽可能多的数据,并决定以后如何使用它。这包括非结构化数据,如文本,图像和视频。
  • 低成本。开源框架是免费的,使用商用硬件来存储大量数据。
  • 可扩展性。只需添加节点,您就可以轻松扩展系统以处理更多数据。需要很少的管理。

Hadoop 有哪些挑战?

MapReduce 编程并不适合所有问题。这对于简单的信息请求和可以分成独立单元的问题是有益的,但对迭代和交互式分析任务来说效率不高。MapReduce 是文件密集型的。由于除了通过排序和混洗之外,节点不相互通信,因此迭代算法需要多个 map-shuffle / sort-reduce 阶段才能完成。这会在 MapReduce 阶段之间创建多个文件,对于高级分析计算来说效率很低。

有一个广为人知的人才缺口。很难找到具有足够 Java 技能的入门级程序员,以便通过 MapReduce 提高工作效率。这就是分销商正在竞相将关系(SQL)技术置于 Hadoop 之上的原因之一。找到具有 SQL 技能而不是 MapReduce 技能的程序员要容易得多。而且,Hadoop 管理似乎是部分艺术和部分科学,需要对操作系统,硬件和 Hadoop 内核设置的低级知识。

数据安全。另一个挑战是围绕分散的数据安全问题,尽管新的工具和技术正在浮出水面。Kerberos 身份验证协议是使 Hadoop 环境安全的重要一步。

完善的数据管理和治理。Hadoop 没有易于使用的全功能工具来进行数据管理,数据清理,治理和元数据。特别缺乏的是数据质量和标准化的工具。

一个有趣的事实:“Hadoop”是一个黄色玩具大象的名字,由其一位发明家的儿子拥有。

收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Netty

    Netty是什么框架

    Netty 是一个Java框架,它提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
  • 数据湖 data lake

    数据湖是什么

    数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析 – 从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。
  • 小型数据库是什么

    小型数据库是什么

    小型数据库管理系统是一个只需很小的内存来支持的数据库管理系统内核。针对便携式设备,微小型数据库占用的内存空间大约为2MB,而对于掌上设备和其他手持设备,它占用的内存空间只有50KB左右。
  • Apache Hadoop YARN

    Apache Hadoop YARN是什么

    Apache Hadoop YARN是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
  • YARN是什么

    YARN是什么

    Apache Hadoop YARN (另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
  • MapReduce是什么

    MapReduce是什么

    MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(归约),是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。