大数据框架Hadoop生态圈第二集

1.1.1 Hadoop:迎接大数据挑战

Apache的Hadoop通过简化数据密集型、高度并行的分布式应用的实现,以此迎接大数据的挑战。世界各地的企业、大学和其它组织都在使用Hadoop,Hadoop把任务分成任务片,分布在数千台计算机上,从而进行快速分析,并分布式存储大量的数据。Hadoop利用大量廉价的计算机,提供了一个可扩展强,可靠性高的机制;并利用廉价的方式来存储大量数据。Hadoop还提供了新的和改进的分析技术,从而使大量结构化数据的复杂分析变为可能。

Hadoop与以前的分布式方法的区别:

数据先进行分布式存储。

在集群上备份多份数据,从而来提高可靠性和实用性。数据在哪存储就在哪处理,从而消除了带宽瓶颈问题。

此外,Hadoop隐藏了复杂的分布式实现过程,提供了一种简单的编程方法。从而,Hadoop得以提供强大的数据分析机制,包括以下内容:

存储量大——Hadoop能够使应用程序运行在成千上万的计算机和PB级数据上。在过去的十年中,计算机专家认识到,那些曾经只能由超级计算机来处理的高性能应用,可以由大量廉价的计算机一起处理。在集群中,数百台“小”的电脑的聚合计算能力,可以超过一台超级计算机的计算能力,并且价格便宜。Hadoop利用超过数千台机器的集群,在企业可以承受的价格范围内,提供了巨大的存储空间和处理能力。

分布式处理与快速的数据访问——Hadoop集群在提供高效数据存储能力的同时,也提供了快速的数据访问能力。在Hadoop出现之前,应用程序很难并行运行在计算机集群之间。这是因为集群模型在创建共享存储数据时,对I/O性能要求很高。用Hadoop来处理数据,减轻了许多高性能的挑战。此外,Hadoop应用程序处理数据通常都是有序进行的,这就避免了随机的数据访问(磁盘寻道操作),进一步减轻了I/O负载。

可靠性,故障转移和可扩展性——在过去,并行应用程序很难解决集群上机器的可靠性问题。虽然单台机器的可靠性相当高,但是随着群集增加,出故障的概率也随之增加。在数千个节点的集群上,这种日常故障经常发生。由于Hadoop有独特的设计和实施方式,相同的故障将会产生相似的结果。从而,Hadoop可以监测到这些故障,并利用不同的节点重新执行任务。此外,Hadoop有很好的可扩展性,实现无缝地将多个服务器整合到一个集群,并利用它们来存储数据、执行程序。

对于大多数Hadoop用户而言,Hadoop最重要的特征是,将业务规划和基础设施维护进行了清晰的划分。为那些专注于商业业务的用户,隐藏了Hadoop的基础设施的复杂性,并提供了一个易于使用的平台,从而使复杂的分布式计算的问题简单化。

1.1.2 商业界的数据科学

Hadoop的存储和处理大数据的能力经常与“数据科学”挂钩。虽然该词是由彼得·诺尔在20世纪60年代提出的,但是直到最近才引起人们广泛关注。美国雪域大学杰弗里·斯坦顿德教授把“数据科学”定义为“一个专注于搜集、分析、可视化、管理和大量信息保存的新兴领域”。

通常将“数据科学”这一术语用在商业业务分析中,与实际中的“大数据”学科有很大的不同。在数据科学中,业务分析师通过研究现有商业运作模式,来提升业务。

数据科学的目标是从数据提取出数据的真正含义。数据科学家基于数学、统计分析、模式识别、机器学习、高性能计算和数据仓库等来工作,通过分析数据来发现事物发展趋势,并基于收集到的信息开发新业务。

在过去的几年中,许多数据库和编程方面的业务分析师成为了数据科学家。他们在Hadoop生态圈中,使用高级的SQL工具(比如:Hive或者实时Hadoop查询工具)进行数据分析,以做出明智的业务决策。

不只是“一个大数据库”

在本书后面会深入讲解Hadoop,但在此之前,让我们先消除这样的误区——Hadoop仅仅是数据分析师使用的工具。因为对于那些熟悉数据库查询的人,Hadoop工具(如Hive和实时Hadoop查询)提供了较低的门槛,所以一些人认为Hadoop仅仅是以数据库为中心的工具。

此外,如果你正在试图解决的问题超出了数据分析的范畴,并涉及到真正的“科学数据”的问题,这时,SQL数据挖掘技术将明显变得不再实用。例如,大多数问题的解决,需要用到线性代数和其它复杂的数学应用程序,然而,这些问题都不能用SQL很好地解决。

这意味着,使用Hadoop工具是解决这类问题的最好办法。利用Hadoop的MapReduce编程模型,不但解决了数据科学的问题,而且明显简化了企业级应用创建和部署的过程。可以通过多种方式做到这一点——可以使用一些工具,这些工具往往要求开发者具备软件开发技能。例如,通过使用基于Oozie的应用程序进行协调(在本书后面将详细介绍Oozie),可以简化多个应用程序的汇集过程,并非常灵活地链接来自多个工具的任务。在本书中,你会看到Hadoop在企业中的实际应用,以及什么时候使用这些工具。

目前Hadoop的开发,主要是为了更好地支持数据科学家。Hadoop提供了一个强大的计算平台,拥有高扩展性和并行执行能力,非常适合应用于新一代功能强大的数据科学和企业级应用。并且,Hadoop还提供了可伸缩的分布式存储和MapReduce编程模式。企业正在使用Hadoop解决相关业务问题,主要集中在以下几个方面:

为银行和信用卡公司增强欺诈性检测——公司正在利用Hadoop检测交易过程中的欺诈行为。银行通过使用Hadoop,建立大型集群,进行数据分析;并将分析模型应用于银行交易过程,从而提供实时的欺诈行为检测。

社交媒体市场分析——公司目前正在使用Hadoop进行品牌管理、市场推广活动和品牌保护。互联网充满了各种资源,例如博客、版面、新闻、推特和社会媒体数据等。公司利用Hadoop监测、收集、汇聚这些信息,并提取、汇总自身的产品和服务信息,以及竞争对手的相关信息,发掘内在商业模式,或者预测未来的可能趋势,从而更加了解自身的业务。

零售行业购物模式分析——在零售行业,通过使用Hadoop分析商店的位置和它周围人口的购物模式,来确定商店里哪些产品最畅销。

城市发展的交通模式识别——城市发展往往需要依赖交通模式,来确定道路网络扩展的需求。通过监控在一天内不同时间的交通状况,发掘交通模型,城市规划人员就可以确定交通瓶颈。从而决定是否需要增加街道或者车道,来避免在高峰时段的交通拥堵。

内容优化和内容参与——企业越来越专注于优化内容,将其呈现在不同的设备上,并支持不同格式。因此,许多媒体公司需要处理大量的不同的格式的内容。所以,必须规划内容参与模式,才能进行反馈和改进。

网络分析和调解——针对交易数据、网络性能数据、基站数据、设备数据以及其他形式的后台数据等,进行大数据实时分析,能够降低公司运营成本,增强用户体验。

大数据转换——纽约时报要将1100万篇文章(1851至1980年)转换成PDF文件,这些文章都是从报纸上扫描得到的图片。利用Hadoop技术,这家报社能够在24小时内,将4TB的扫描文章转换为1.5TB的PDF文档。

类似的例子数不胜数。企业正在逐步使用Hadoop进行数据分析,从而作出更好的战略决策。总而言之,数据科学已经进入了商界。

不仅仅是针对商业的大数据工具

虽然这里的大多数例子针对于商业,但是Hadoop也被广泛应用在科学界和公有企业。

最近一项由美国科技基金会进行的研究指出,医疗研究人员已经证明,大数据分析可以被用于分析癌症患者的信息,以提高治疗效果(比如,苹果创始人乔布斯的治疗过程)。警察部门正在使用大数据工具,来预测犯罪可能的发生时间和地点,从而降低了犯罪率。同样的调查也表明,能源方面的官员正在利用大数据工具,分析相关的能量损耗和潜在的电网故障问题。

通过分析大数据可以发现模型和趋势,提高效率,从而用新方法来作出更好的决策。

强力推荐阅读文章

年薪40+W的大数据开发【教程】,都在这儿!

大数据零基础快速入门教程

Java基础教程

web前端开发基础教程

大数据工程师必须了解的七大概念

云计算和大数据未来五大趋势

如何快速建立自己的大数据知识体系

猜你喜欢

转载自blog.csdn.net/chengxvsyu/article/details/92430852