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. 加载中..

相关推荐

  • Apache Hadoop

    Apache Hadoop,成熟开源的大数据处理框架

    Apache Hadoop是一个开源大数据处理框架,以其强大的存储能力、高效的批量数据处理和出色的可扩展性而闻名。它包括HDFS、YARN和MapReduce等核心组件,专注于处理PB级数据。尽管新兴技术如Spark在特定场景中更为高效,Hadoop在大规模数据集处理、高容错性和数据冗余方面仍然是首选。
  • Apache Mesos

    Apache Mesos,功能强大的开源集群管理系统

    Apache Mesos是一款高度灵活的开源集群管理工具,专为大规模复杂的数据中心和云环境设计。它通过资源抽象和隔离提高资源利用率,支持多租户和配额管理,并提供强大的容错能力。Mesos尤其适用于需要精细资源控制的大数据和科学计算场景,但其复杂性意味着有一定的学习门槛。
  • 阿里云 Alibaba Cloud Linux

    Alibaba Cloud Linux是什么

    Alibaba Cloud Linux是一款专为云计算环境设计的高性能、安全性强大的操作系统,具备高度可定制性、稳定性、容器支持和云集成等特点。它适用于各种应用场景,包括云服务器、容器化应用、大数据和微服务架构。
  • 大数据分析 Big Data Analysis

    大数据分析工具有哪些

    开源大数据分析工具有:Superset、Redash、Metabase、CBoard、Davinci、SpagoBI、Pentaho等;商业大数据分析工具有:FineBI、QlikView、Tableau、Power BI、SmartBI、QuickBI等。
  • Netty

    Netty是什么框架

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

    数据湖是什么

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