Java开发20用Hadoop MapReduce进行大数据分析

Java开发20用Hadoop MapReduce进行大数据分析

ID:40276638

大小:63.50 KB

页数:8页

时间:2019-07-30

Java开发20用Hadoop MapReduce进行大数据分析_第1页
Java开发20用Hadoop MapReduce进行大数据分析_第2页
Java开发20用Hadoop MapReduce进行大数据分析_第3页
Java开发20用Hadoop MapReduce进行大数据分析_第4页
Java开发20用Hadoop MapReduce进行大数据分析_第5页
资源描述:

《Java开发20用Hadoop MapReduce进行大数据分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Java开发2.0:用HadoopMapReduce进行大数据分析导读:ApacheHadoop是目前分析分布式数据的首选工具,和大多数Java™2.0技术一样,是可扩展的。从Hadoop的MapReduce编程建模开始,学习如何用它来分析数据,满足大大小小的商业信息需求。关键词:Hadoop 分布式数据 Java2.0 MapReduce 编程建模   Google在2001年发布图像搜索功能时,只有2.5亿索引图像,不到10年,这个巨大的搜索功能已经可以检索超过100亿个图像了,每分钟有35小时的内容上传到YouTube。据称,

2、Twitter每天平均处理5500万tweet。今年早些时候,搜索功能每天记录6亿条查询记录。这就是我们讨论大数据的意义所在。Advertisement  如此大规模的数据一度仅限于大企业、学校和政府机构—这些机构有能力购买昂贵的超级计算机、能够雇用员工保障其运行。今天,由于存储成本的降低和处理能力的商品化,一些小公司,甚至个人都可以存储和挖掘同样的数据,推动新一轮的应用程序创新。  大数据革命技术之一是MapReduce,一个编程模式,是Google针对大规模、分布式数据而开发的。在本文中,我将介绍Apache的开源MapRedu

3、ce实现、Hadoop,也有人将其称之为云计算的杀手应用程序。  关于Hadoop  Apache的Hadoop框架本质上是一个用于分析大数据集的机制,不一定位于数据存储中。Hadoop提取出了MapReduce的大规模数据分析引擎,更易于开发人员理解。Hadoop可以扩展到无数个节点,可以处理所有活动和相关数据存储的协调。  Hadoop的众多特性和配置使其成为一个十分有用且功能强大的框架,其用途和功能令人惊讶。Yahoo!以及其他许多组织已经找到了一个高效机制来分析成堆的字节数。在单个节点上运行Hadoop也很容易;您所需要的只

4、是一些需要分析的数据,以及熟悉一般的Java代码。Hadoop也可和uby、Python以及C++一起使用。  作为处理大数据集的概念框架,MapReduce对于使用许多计算机来解决分布式问题而言是高度优化的。顾名思义,这个框架由两个函数构成。map函数专用于获取大数据输入,并将其分成小片段,然后交由其他进程进行操作。reduce函数整理map收集的各个回应,然后显示最后的输出。  在Hadoop中,您可以通过扩展Hadoop自身的基类来定义map和reduce实现。实现和输入输出格式被一个指定它们的配置联系在一起。Hadoop非常

5、适合处理包含结构数据的大型文件。Hadoop可以对输入文件进行原始解析,这一点特别有用,这样您就可以每次处理一行。定义一个map函数实际上只是一个关于确定您从即将输入的文本行中捕获什么内容的问题。  数据,无处不在的数据!  美国政府产生大量数据,只有一部分是普通民众所感兴趣的。各种政府机构免费发布关于US经济健康状况和更改社会人口统计资料的数据。U.S.GeologicalSurvey(USGS)发布国内外地震数据。  世界各地每天都有很多个小型地震发生。其中大多数发生在地壳深处,没有人能感觉到,尽管如此,但是监听站仍然会进行记录

6、。USGS以CSV(或逗号分隔值)文件的格式发布每周地震数据。  每周文件平均不是很大—只有大约100KB左右。但是,它可以作为学习Hadoop的基础。记住,Hadoop有能力处理更大的数据集。  跟踪震动  我近期从USGS网站下载的CSV文件有大约920多行。如清单1所示:  清单1.一个USGS地震数据文件的行数统计    以下是引用片段:$> wc -l eqs7day-M1.txt    920 eqs7day-M1.txt  CVS文件内容如清单2所示(这是前两行):  清单2.CVS文件的前两行    以下是引用片段:

7、$> head -n 2 eqs7day-M1.txt  Src,Eqid,Version,Datetime,Lat,Lon,Magnitude,Depth,NST,Region ci,14896484,2,"Sunday, December 12, 2010 23:23:20 UTC",33.3040,-116.4130,1.0,11.70,22,   "Southern California"  这就是我称之为信息丰富的文件,尤其是当您想到它总共有920行记录时。然而我只想知道在该文件报告的这一周内每一天有多少次地震发生。我想知

8、道在这7天内哪个区域是地震频发区。  我第一个想到的就是使用简单的grep命令来搜索每天的地震数。看看这个文件,我发现数据记录是从12月12开始的。因此我对该字符串执行了一次grep-c,其结果如清单3所示:  清单3.12月12有多

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。