Java 开发分析大数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java 开发2.0: 用Hadoop MapReduce 进行大数据分析
成堆的数据如何变成信息金矿
Apache Hadoop 是目前分析分布式数据的首选工具,和大多数Java™
2.0 技术一样,是可扩展的。从Hadoop 的MapReduce 编程建模开始,
学习如何用它来分析数据,满足大大小小的商业信息需求。
内容
Google 在2001 年发布图像搜索功能时,只有2.5 亿索引图像,不到10 年,这个巨大的搜索功能已经可以检索超过100 亿个图像了,每分钟有35 小时的内容上传到YouTube。据称,Twitter 每天平均处理5500 万tweet。今年早些时候,搜索功能每天记录6 亿条查询记录。这就是我们讨论大数据的意义所在。
关于本系列
从Java 技术首次亮相以来,Java 开发的格局已经发生了巨大的变化。得益于成熟的开源框架和可靠的租用式部署基础设施,现在已经可以迅速经济地汇编、测试、运行和维护Java 应用程序了。在本系列中,Andrew Glover 将探索使这种全新开发范例成为可能的各种技术和工具。
如此大规模的数据一度仅限于大企业、学校和政府机构—这些机构有能力购买昂贵的超级计算机、能够雇用员工保障其运行。今天,由于存储成本的降低和处理能力的商品化,一些小公司,甚至个人都可以存储和挖掘同样的数据,推动新一轮的应用程序创新。
大数据革命技术之一是MapReduce,一个编程模式,是Google 针对大规模、分布式数据而开发的。在本文中,我将介绍Apache 的开源MapReduce 实现,Hadoop,也有人将其称之为云计算的杀手应用程序。
关于Hadoop
Apache 的Hadoop 框架本质上是一个用于分析大数据集的机制,不一定位于数据存储中。Hadoop 提取出了MapReduce 的大规模数据分析引擎,更易于开发人员理解。
Hadoop 可以扩展到无数个节点,可以处理所有活动和相关数据存储的协调。
Hadoop 的众多特性和配置使其成为一个十分有用且功能强大的框架,其用途和功能令人惊讶。Yahoo! 以及其他许多组织已经找到了一个高效机制来分析成堆的字节数。在单个节点上运行Hadoop 也很容易;您所需要的只是一些需要分析的数据,以及熟悉一般的Java 代码。Hadoop 也可和Ruby、Python 以及C++ 一起使用。
富的社区活动。来自社区的许多工具证实了大数据分析作为一个全球业务活动的可行性。有了Hadoop,分布式数据挖掘和分析对所有软件创新者和企业家都是可用的,包括但不限于Google 和Yahoo! 这类大企业。
学习
∙Java 开发2.0:这个dW 系列讨论重定义Java 开发格局的技术;
近期话题包括MongoDB(2010 年9 月);CouchDB(2009 年11 月)和Objectify AppEngine(2010 年11 月)。
∙“用Hadoop 进行分布式数据处理,第1 部分:入门”(M. Tim Jones,developerWorks,2010 年5 月):这篇文章—系列的第一篇—介绍了Hadoop 框架,包括Hadoop 文件系统(HDFS)和常用的节点类型。介绍了如何按装和配置一个单节点Hadoop 集群并深入研究了MapReduce 应用程序。最后,发现了使用其核心Web 接口监控和管理Hadoop 的方法。另外请参阅第2 部分和第3 部分。
∙“在云中使用MapReduce 和负载平衡”(Kirpal A. Venkatesh,et.
al.,developerWorks,2010 年7 月):了解Hadoop MapReduce 和虚拟化如何改进节点性能。
∙“A profile of Apache Hadoop MapReduce computing efficiency, Part 1”(Paul Burkhardt,Cloudera Development Center,2010 年12
月):一个关于MapReduce 应用程序如何高效地使用计算资源的两部分系列文章,第一部分是对计算效率的一个概述,因为这涉及到评估
Hadoop MapReduce 应用程序。
∙“Hadoop companies everywhere”(Alex Handy,SD Times,2009 年7 月):公司每天都产生很多数据,但是很多都不能从其中获取业务智能。这创造了机会。
∙浏览Java 技术书店阅读关于这些和其他技术主题的图书。
∙developerWorks Java 技术专区:这里有数百篇关于Java 编程各个方面的文章。
获得产品和技术
讨论
∙加入developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他developerWorks 用户交流。