正版二手书,欢迎选购
¥ 14.81 3.0折 ¥ 49 九品
库存2件
作者(印) Vignesh Prajapati
出版社机械工业出版社
ISBN9787111483526
出版时间2014-11
装帧平装
开本16开
定价49元
货号972073208809897991
上书时间2024-12-03
前 言
组织获得的数据量每一天都在成倍增加。现在组织可以存储大量信息在低成本平台上,例如Hadoop。
如今这些组织面临的难题是如何处理这些数据以及如何从这些数据中获取关键的见解。于是R应运而生。R是一个令人惊讶的工具,它是一个在数据中能够运行先进统计模型的单元,它将原始模型翻译成丰富多彩的图形和可视化视图,而且它有很多和数据科学相关的功能。
然而,R的一个主要缺点是它的可扩展性较差。R的核心技术引擎可以加工和处理非常有限的数据量。正因为在大数据处理中Hadoop十分流行,所以为了可扩展性,下一步符合逻辑的方法将是把R和Hadoop结合起来。
本书介绍了R和Hadoop,以及如何通过使用一个平台(如Hadoop)进行R的数据分析操作以实现其可扩展性。
出于这样一个目标,本书将适合广大范围的读者,包括数据统计者、数据科学家、数据架构师和任何正在寻找使用R和Hadoop来处理和分析大量信息的解决方案工程师。
在Hadoop上使用R将提供一个弹性的数据分析平台,其规模取决于所需分析的数据集大小。富有经验的程序员可以用R语言编写Map/Reduce模块,并用Hadoop的Map/Reduce并行处理机制运行它以识别数据集的模式。
R简介
R是一个可以对数据进行统计分析的开源软件包。R是一种编程语言,它受到数据科学统计师以及其他需要进行数据统计分析和从数据使用机制中寻找关键因素的人所青睐,这些机制包括回归、聚类、分类和文本分析。R采用GNU(General Public License,通用公共许可证)。它是由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发,他们目前领导一个R语言开发核心团队。它可以看做是S语言的另一种实现,S语言由贝尔实验室的Johan Chambers开发。它们有一些重要的差异,但是大部分用S语言编写的代码可以直接在R编译器下使用。
R提供广泛的统计分析、机器学习(线性和非线性建模、经典的统计检验、时间序列分析、分类、聚类)和图形技术,并且高度可扩展。针对统计、机器学习和可视化R有多种内置的可扩展的功能,例如:
数据提取
数据清洗
数据加载
数据转换
统计分析
预测建模
数据可视化
它是一种当今市场上所提供的最流行的开放源代码统计分析软件包。它是跨平台的并具有广泛的社区支持,这意味着每天都会有数量庞大并不断增长的用户群体添加新的程序包。随着程序包数量的增加,R现在可以与其他数据存储,如MySQL、SQLite、MongoDB和Hadoop,相连接以进行数据存储。
R的特点
R不同的实用特点如下:
高效的编程语言
支持关系型数据库
数据分析
数据可视化
通过庞大的R程序包库文件进行扩展
R的受欢迎程度
本图来源于KD,图中表明R是用于数据分析和数据挖掘最流行的语言。
下图提供从2005年到2013年由R用户发布的R程序包总数的详细信息。这是我们如何探究R用户的依据。2012年该数据呈指数增长,并且2013年似乎要超过前一年。
R允许通过各种统计和机器学习进行数据分析,具体如下:
回归
分类
聚类
推荐
文本挖掘
大数据简介
大数据意味着必须要处理结构化的、半结构化的和无结构的大型复杂数据集,并且通常会造成内存外溢。它们必须被适当执行,这是指计算必须发生在存在数据驻留等待被处理的过程中。当提到开发者,也就是那些实际建立大数据系统和应用的人时,我们能够更加清楚地理解他们所说的3V的含义。他们通常会提到大数据的3V模型,也就是速度、容量和种类。
速度是指在应用分析功能时的低延时和实时速度。这方面的一个典型例子是对一系列从一个社交网站上获得的连续数据流进行分析或者对不同来源的数据进行整合。
容量是指数据集的大小,其大小可能是KB、MB、GB、TB或PB,这取决于那些生成或接受数据的应用程序的类型。
种类是指可以存储各种数据的类型,例如,文本、音频、视频和照片。
大数据通常将数据集的大小考虑在内。对于这样的系统,在企业规定的时限内处理此数据量不太可能。大数据的容量是一个持续性变化的指标,例如,2012年一个数据集可以从几十TB变化到很多PB。面对这个看似不可逾越的困难,全新的处理平台被称为大数据平台。
采用大数据的组织
采用大数据的民间组织如下:
Facebook:它有40PB的数据并且日获取数据量为100TB。
Yahoo!:它有60PB的数据。
Twitter:日获取数据量为8TB。
eBay:它有40PB的数据并且日获取数据量为50TB。
有多大的数据量才能被视为大数据?这个问题对于所有公司各不相同。尽管现实往往是:一个公司的大数据对于另一个公司来说只是小数据,但是大数据也有一些共同点:内存溢出、磁盘溢出、有大量数据的快速涌入需要加以处理和将受益于分布式软件栈。对一些公司来说,10TB的数据可能就被视为大数据,但对于其他公司来说,1PB的数据可能才算大数据。所以只有你可以判断数据是否是真正的大数据,这足以说明,它将从TB级范围内开始。
此外,一个问题也值得一问,当你不能获取并存储足够的数据时,你是否认为你没有一个大数据的问题呢?在某些情况下,公司随便丢弃数据,因为没有一个符合成本效益的方式来存储和处理它。如果有Hadoop这样的平台,就可以开始获取和存储所有这样的数据。
Hadoop简介
Apache Hadoop是一个开源的Java框架,用于处理和查询存放在大型商用硬件集群上的大量数据。由雅虎和Doug Cutting发起和领导的Hadoop是一个最高级别的Apache项目。它的成功依赖于来自世界各地的社区志愿者的贡献。
基于Yahoo!提供的重要技术支持,Apache的Hadoop已经成为一个准企业级的云计算技术。它正在成为行业对于大数据处理的事实框架。
Hadoop改变了经济学和大规模计算的动态变化,其影响可以归结为四个显著的特点。Hadoop是可扩展性、高性价比、灵活性和容错的解决方案。
Hadoop特征探讨
Apache Hadoop有两个显著特征:
HDFS(Hadoop分布式文件系统)
MapReduce
学习Hadoop组件
Hadoop包含一个构建在核心HDFS和MapReduce平台上的其他产品的生态系统,以启动各种类型的操作。一些流行的Hadoop组件如下:
Mahout:这是一个广泛的机器学习算法库。
Pig:Pig是一种用来分析大型数据集的高级语言(如Perl)。它的语法用于描述数据分析程序以及用于评估这些程序的组件。
Hive:Hive是一个服务于Hadoop的数据仓库系统,有利于数据统计、特殊查询和分析存储在HDFS上的大型数据集。它自己有类似SQL的查询语言—Hive Query Language(HQL),用于向Hadoop发出查询命令。
HBase:HBase(Hadoop数据库)是一个分布式、面向数据列的数据库。HBase 使用HDFS作为底层存储。它同时支持使用MapReduce和原子查询(随机读取)的批量式计算。
Sqoop: Apache Sqoop是一个专为Hadoop和结构化关系数据库间有效传输大量数据而设计的工具。Sqoop是一个(SQ)L到Had(oop)的缩写。
ZooKeeper:ZooKeeper是一种留存配置信息、命名、提供分布式同步和集团服务的集中服务,这对各种分布式系统来说非常有用。
Ambari:Ambari是一个基于网络的工具,用于配置、管理、监控Apache Hadoop集群,其中包括为Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop提供支持。
同时使用R和Hadoop的原因
我还要指出,有时数据驻留在HDFS上(以多种格式)。由于用R所做的大量数据分析都是极有成效的,因此自然而然使用R来计算这些通过Hadoop相关工具存储的数据。
正如前面所提到的,R的优势在于它具有丰富的封装库分析数据的能力,但当处理非常大的数据集时会功亏一篑。另外,Hadoop的优势在于其能在TB甚至PB范围上存储和处理非常庞大的数据。如此庞大的数据集不能在内存中进行处理,因为每台机器的RAM都无法容纳这么庞大的数据集。可以采用的方法是在有限的块上进行分析,也称为采样或将R的分析能力与Hadoop的存储和处理能力对应起来,然后你就得到了一个理想的解决方案。这种方案也可以利用像Amazon EMR一样的平台在云端实现。
本书涵盖的内容
第1章介绍R和Hadoop的安装过程。
第2章包括Hadoop MapReduce的基础知识,用Hadoop执行MapReduce的方式。
第3章通过各种数据处理过程,展示RHadoop与RHIPE的开发和简单MapReduce程序的运行。
第4章展示如何用R运行Hadoop流。
第5章通过展示真实世界的数据分析问题来介绍数据分析项目的生命周期。
第6章包括通过RHadoop机器学习技术来执行大数据分析。
第7章包括如何与流行的关系数据库衔接,从而通过R导入和导出数据。
附录介绍了涉及所有章节内容的资源链接。
阅读本书的准备工作
当打算用R和Hadoop 进行大数据分析时,你就应该有关于R和Hadoop以及如何上机实践的基本知识,并且需要把R和Hadoop安装、配置好。如果你已经有了一个大数据集和可以用数据驱动技术解决的问题,比如R和Hadoop的功能,那真是太好了。
本书读者对象
本书对于正在寻求用Hadoop这种方法执行大数据分析的R开发者是很有用的。他们希望了解整合R和Hadoop的所有技术、如何编写Hadoop MapReduce、教程开发和在R上运行Hadoop MapReduce。本书针对那些知道Hadoop并且想要用R程序包针对大数据建立一些智能应用的人。这本书对于那些拥有关于R基础知识的读者很有帮助。
下载示例代码
你可以从在http://www.packtpub.com上的账户下载你购买的所有Packt书籍的示例代码文件。如果你在其他地方购买这本书,你可以访问 http://www.packtpub.com/support,注册后,文件会直接通过电子邮件发送给你。
Vignesh Prajapati
资深大数据分析师,现为Pingax公司顾问、Enjay公司软件工程师,精通R、Hadoop、Mahout、Pig、Hive等技术,在机器学习和大数据技术方面拥有丰富经验。目前他专注于利用大数据和云技术为客户提供有价值产品。
译者简介
李明
毕业于沈阳理工大学信息工程学院电子科技与技术系,曾就职于凡客诚品、居然之家等大型电子商务公司,目前就职于优酷土豆网。他的研究兴趣是用R语言进行互联网数据分析/挖掘,撰写过大量有关R语言基础和高级应用的文章,对互联网数据统计系统的R语言实践有较深研究,撰写了《R语言与网站分析》一书。他的个人博客为www.bassary.com。
王威扬
2008年毕业于清华大学航天航空学院,同年获得清华大学经济学双学位,2010年获得芝加哥大学统计学硕士学位。毕业后曾先后任职于芝加哥大学计算机系、文思海辉技术有限公司、京东世纪贸易集团有限公司及互联网初创企业,在科研、证券、银行、电商、O2O行业负责数据仓库建设及数据分析、挖掘工作,同时对高性能计算与开源分布式技术架构有浓厚兴趣。
孙思栋
中南财经政法大学经济学、信息与计算科学双学士,现为清华大学中国应急管理研究基地助理研究员,参与了国家清史编撰委员会文献等3个省部级科研项目,对非结构化大数据处理有深入理解。
译者序
前言
审校者简介
致谢
第1章 R和Hadoop入门 1
1.1 安装R 2
1.2 安装RStudio 3
1.3 R语言的功能特征 3
1.3.1 使用R程序包 3
1.3.2 执行数据操作 3
1.3.3 日渐增多的社区支持 4
1.3.4 R语言数据建模 4
1.4 Hadoop的安装 5
1.4.1 不同的Hadoop模式 6
1.4.2 Hadoop的安装步骤 6
1.5 Hadoop的特点 12
1.5.1 HDFS简介 13
1.5.2 MapReduce简介 13
1.6 HDFS和MapReduce架构 14
1.6.1 HDFS架构 14
1.6.2 MapReduce架构 15
1.6.3 通过图示了解HDFS和MapReduce架构 15
1.7 Hadoop的子项目 16
1.8 小结 19
第2章 编写Hadoop MapReduce程序 20
2.1 MapReduce基础概念 20
2.2 Hadoop MapReduce技术简介 22
2.2.1 MapReduce中包含的实体 22
2.2.2 MapReduce中的主要执行进程 23
2.2.3 MapReduce的局限 25
2.2.4 MapReduce 可以解决的问题 26
2.2.5 使用Hadoop编程时用到不同的Java概念 26
2.3 Hadoop MapReduce原理 27
2.3.1 MapReduce对象 27
2.3.2 MapReduce中实现Map阶段的执行单元数目 28
2.3.3 MapReduce中实现Reduce阶段的执行单元数目 28
2.3.4 MapReduce的数据流 28
2.3.5 深入理解HadoopMapReduce 30
2.4 编写Hadoop MapReduce示例程序 32
2.4.1 MapReduce job运行的步骤 33
2.4.2 MapReduce可解决的商业问题 38
2.5 在R环境中编写Hadoop MapReduce程序的方式 39
2.5.1 RHadoop 39
2.5.2 RHIPE 40
2.5.3 Hadoop streaming 40
2.6 小结 40
第3章 集成R和Hadoop 41
3.1 RHIPE 42
3.1.1 安装RHIPE 42
3.1.2 RHIPE架构 44
3.1.3 RHIPE实例 45
3.1.4 RHIPE参考函数 48
3.2 RHadoop 51
3.2.1 RHadoop架构 51
3.2.2 安装RHadoop 52
3.2.3 RHadoop案例 53
3.2.4 RHadoop参考函数 56
3.3 小结 58
第4章 Hadoop Streaming中使用R 59
4.1 Hadoop Streaming基础概念 59
4.2 使用R运行Hadoop streaming 62
4.2.1 MapReduce应用程序基础 63
4.2.2 如何编写MapReduce应用程序 65
4.2.3 如何运行MapReduce应用程序 67
4.2.4 如何浏览MapRecuce应用程序的输出 69
4.2.5 Hadoop MapReduce脚本的基础R函数 70
4.2.6 管理Hadoop MapReduce任务 71
4.3 R语言扩展包HadoopStreaming介绍 72
4.3.1 hsTableReader函数 73
4.3.2 hsKeyValReader函数 75
4.3.3 hasLineReader函数 75
4.3.4 运行Hadoop streaming任务 78
4.3.5 执行Hadoop Streaming任务 79
4.4 小结 79
第5章 利用R和Hadoop学习数据分析 80
5.1 数据分析项目生命周期 80
5.1.1 问题定义 81
5.1.2 设计数据需求 81
5.1.3 数据预处理 81
5.1.4 数据分析 82
5.1.5 数据可视化 82
5.2 数据分析问题 83
5.2.1 展示网页分类 83
5.2.2 计算股市变动频率 92
5.2.3 案例研究:预测推土机售价 98
5.3 小结 107
第6章 应用机器学习做大数据分析 108
6.1 机器学习介绍 108
6.2 有监督机器学习算法 109
6.2.1 线性回归 109
6.2.2 logistic回归 115
6.3 无监督机器学习算法 118
6.4 推荐算法 123
6.4.1 在R中产生推荐商品的步骤 125
6.4.2 使用R和Hadoop产生推荐商品 128
6.5 小结 131
第7章 从各种数据库中导入与导出数据 132
7.1 文件型数据库 134
7.1.1 不同类型的文件 134
7.1.2 安装R包 134
7.1.3 将数据导入R 134
7.1.4 从R导出数据 135
7.2 MySQL 135
7.2.1 安装MySQL 135
7.2.2 安装RMySQL 136
7.2.3 列出数据表及其结构 136
7.2.4 导入数据进R 136
7.2.5 数据操纵 137
7.3 Excel 137
7.3.1 安装Excel 138
7.3.2 导入数据进R 138
7.3.3 R和Excel的数据操纵 138
7.3.4 导出数据到Excel 138
7.4 MongoDB 138
7.4.1 安装MongoDB 139
7.4.2 安装rmongodb 141
7.4.3 导入数据进R 141
7.4.4 数据操纵 142
7.5 SQLite 143
7.5.1 SQLite的特性 143
7.5.2 安装SQLite 144
7.5.3 安装RSQLite 144
7.5.4 将数据导师入R 144
7.5.5 数据操纵 145
7.6 PostgreSQL 145
7.6.1 PostgreSQL的特性 145
7.6.2 安装PostgreSQL 145
7.6.3 安装RPostgreSQL 146
7.6.4 从R导出数据 146
7.7 Hive 147
7.7.1 Hive的特性 147
7.7.2 安装Hive 147
7.7.3 安装RHive 149
7.7.4 RHive操作 149
7.8 HBase 150
7.8.1 HBase的特性 150
7.8.2 安装HBase 151
7.8.3 安装Thrift 152
7.8.4 安装RHBase 153
7.8.5 导入数据进R 153
7.8.6 数据操纵 153
7.9 小结 154
附录 参考资源 155
本书全面而系统地讲解了如何将R语言与Hadoop技术结合并应用于大数据分析,不仅系统且深入地阐释了R与Hadoop集成技术的工具、方法、原则和很好实践,而且通过大量实践案例深入剖析各种常见问题,能为用户高效利用R语言与Hadoop技术进行大数据处理提供翔实指导。
全书分为四部分,共7章:第1部分(第1~2章)是基础知识,主要讲解R语言以及Hadoop的安装过程、计算原理和基本概念;第二部分(第3~4章)是初级应用,主要讲解RHIPE、RHadoop和streaming三种实现方案;第三部分(第5~6章)是高级实例,主要以RHadoop为技术背景,讲解多个实际应用案例;第四部分(第7章)介绍数据库连接,主要讲解在RHadoop下如何与各类数据库进行连接。
首部全面讲解R语言与Hadoop技术结合应用于大数据分析的优秀著作;
系统阐释R与Hadoop集成的各种实用方法、工具和很好实践,深入剖析各种常见问题,包含大量实例,能为用户高效利用R语言与Hadoop技术进行大数据分析提供翔实指导。
— 没有更多了 —
以下为对购买帮助不大的评价