R与Hadoop大数据分析实战
作者:(印)普贾帕提 著; 李明,王威扬,孙思栋,等 译
出版时间:2014
丛编项: 大数据技术丛书
内容简介
本书讲述R语言与Hadoop技术结合应用的权威书籍,由资深大数据分析师撰写,不仅系统且深入地阐释了R与Hadoop集成技术的工具、方法、原则和最佳实践,而且对各种常见问题进行深入分析,包含大量实践案例,可操作性强,能为用户高效利用R语言与Hadoop技术提供有效指导。全书共7章,分为四部分:第一部分(基础概念),包括第1~2章,主要讲解R语言以及Hadoop的安装过程、计算原理和基础概念;第二部分(初级应用),包括第3~4章,主要讲解RHIPE、RHadoop以及streaming三种实现方案;第三部分(高级实例),包括第5~6章,主要以RHadoop为技术背景,讲解多个实际应用案例;第四部分(数据库连接),包括第7章,主要讲解在RHadoop下如何同各类数据库进行连接。
目录
译者序
前言
审校者简介
致谢
第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