目录:
每个人都在谈论Hadoop,这是一种在开发人员中备受推崇的热门新技术,可能会再次改变整个世界。 但是到底是什么呢? 它是一种编程语言吗? 数据库? 处理系统? 印度茶舒适吗?
广泛的答案:Hadoop就是所有这些东西(茶客除外)等等。 它是一个软件库,提供了一个编程框架,可以廉价,有用地处理另一个现代流行语:大数据。
Hadoop来自何处?
Apache Hadoop是Apache Software Foundation基金会项目的一部分,该基金会是一个非营利性组织,其宗旨是“为公共利益提供软件”。 因此,Hadoop库是所有开发人员都可以使用的免费开源软件。
支持Hadoop的基础技术实际上是Google发明的。 早在早期,不那么庞大的搜索引擎需要一种方法来索引他们从Internet收集的大量数据,并将其转化为对用户有意义的相关结果。 由于市场上没有满足他们需求的产品,因此Google建立了自己的平台。
这些创新是在名为Nutch的开源项目中发布的,该项目后来被Hadoop用作基础。 本质上,Hadoop以各种规模的公司都负担得起的方式将Google的功能应用于大数据。
Hadoop如何工作?
如前所述,Hadoop不是一回事,而是很多事。 Hadoop的软件库由四个主要部分(模块)和许多附加解决方案(例如数据库和编程语言)组成,可增强其在现实世界中的使用。 四个模块是:- Hadoop Common:这是支持Hadoop模块的通用实用程序(通用库)的集合。
- Hadoop分布式文件系统(HDFS):一种健壮的分布式文件系统,对存储的数据没有任何限制(意味着数据可以是结构化的也可以是非结构化的,并且无模式,其中许多DFS仅存储结构化数据),可提供高吞吐量的访问并具有冗余性( HDFS允许将数据存储在多台计算机上-因此,如果一台计算机发生故障,则可以通过另一台计算机维护可用性。
- Hadoop YARN:此框架负责作业调度和群集资源管理; 这样可以确保数据在多台计算机上充分分散以保持冗余。 YARN是使Hadoop成为负担得起且经济高效的处理大数据方式的模块。
- Hadoop MapReduce:这个基于YARN的系统基于Google技术构建,可以对大型数据集(结构化和非结构化)进行并行处理。 MapReduce也可以在当今的大多数大数据处理框架中找到,包括MPP和NoSQL数据库。
温和地说,可以处理大数据所需处理能力的硬件价格昂贵。 这是Hadoop的真正创新:能够在多台较小的机器上分解大量处理能力,每台机器都具有自己的本地化计算和存储,以及在应用程序级别上内置的冗余功能,以防止故障。
Hadoop是做什么的?
简而言之,Hadoop使大数据可被所有人使用。
在Hadoop之前,使用大数据的公司主要使用关系数据库和企业数据仓库(它们使用大量昂贵的硬件)。 尽管这些工具非常适合处理结构化数据-这些数据已经以可管理的方式进行了排序和组织-但处理非结构化数据的能力极其有限,以至于几乎不存在。 要使用数据,必须首先对数据进行结构化,以便将其整齐地放入表中。
Hadoop框架更改了该要求,并且更改成本很低。 借助Hadoop,可以使用普通(商品)服务器处理10到100 GB及以上的海量数据(结构化和非结构化)。
Hadoop为每个行业的各种规模的企业带来了潜在的大数据应用程序。 开源框架允许金融公司创建用于投资组合评估和风险分析的复杂模型,或者使在线零售商微调其搜索答案并将客户指向他们更有可能购买的产品。
使用Hadoop,可能性实际上是无限的。