大数据技术原理与应用
出版信息
林子雨 / 人民邮电出版社 / 2015-8-1 / 45.00
内容简介
大数据作为继云计算、物联网之后IT行业又一颠覆性的技术,备受关注。大数据处不在,包括金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业,都融入了大数据的印迹,大数据对人类的社会生产和生活必将产生重大而深远的影响。
大数据时代的到来,迫切需要高校及时建立大数据技术课程体系,为社会培养和输送一大批具备大数据专业素养的高级人才,满足社会对大数据人才日益旺盛的需求。本书定位为大数据技术入门教材,为读者搭建起通向“大数据知识空间”的桥梁和纽带。本书将系统梳理总结大数据相关技术,介绍大数据技术的基本原理和大数据主要应用,帮助读者形成对大数据知识体系及其应用领域的轮廓性认识,为读者在大数据领域“深耕细作”奠定基础、指明方向。在本书的基础上,感兴趣的读者可以通过其他诸如《Hadoop权威指南》等工具书,继续深入学习和实践大数据相关技术。
作者简介
林子雨,博士,厦门大学计算机科学系老师,中国高校首个“数字教师”的提出者和建设者。在数据库、数据仓库、数据挖掘、大数据、云计算和物联网等领域有着十多年的知识积累,对各个领域知识都有比较深入的了解,有比较宽泛的视野,将相关大数据知识综合成一本适合本科和研究生教学的教材。
目录
第一篇大数据基础
第1章大数据概述
1.1大数据时代
1.1.1第三次信息化浪潮
1.1.2信息科技为大数据时代
提供技术支撑
1.1.3数据产生方式的变革促成
大数据时代的来临
1.1.4大数据的发展历程
1.2大数据的概念
1.2.1数据量大
1.2.2数据类型繁多
1.2.3处理速度快
1.2.4价值密度低
1.3大数据的影响
1.3.1大数据对科学研究的影响
1.3.2大数据对思维方式的影响
1.3.3大数据对社会发展的影响
1.3.4大数据对就业市场的影响
1.3.5大数据对人才培养的影响
1.4大数据的应用
1.5大数据关键技术
1.6大数据计算模式
1.6.1批处理计算
1.6.2流计算
1.6.3图计算
1.6.4查询分析计算
1.7大数据产业
1.8大数据与云计算、物联网
1.8.1云计算
1.8.2物联网
1.8.3大数据与云计算、物联网的关系
1.9本章小结
1.10习题
第2章大数据处理架构Hadoop
2.1概述
2.1.1Hadoop简介
2.1.2Hadoop的发展简史
2.1.3Hadoop的特性
2.1.4Hadoop的应用现状
2.2Hadoop的项目结构
2.2.1Common
2.2.2Avro
2.2.3HDFS
2.2.4HBase
2.2.5MapReduce
2.2.6Zookeeper
2.2.7Hive
2.2.8Pig
2.2.9Sqoop
2.2.10Chukwa
2.3Hadoop的安装与使用
2.3.1创建Hadoop用户
2.3.2Java的安装
2.3.3SSH登录权限设置
2.3.4安装单机Hadoop
2.3.5Hadoop伪分布式安装
2.4本章小结
2.5习题
第二篇大数据存储
第3章Hadoop分布式文件系统
3.1分布式文件系统
3.1.1计算机集群结构
3.1.2分布式文件系统的结构
3.1.3分布式文件系统的设计需求
3.2HDFS简介
3.3HDFS的相关概念
3.3.1块
3.3.2名称节点和数据节点
3.4HDFS体系结构
3.4.1概述
3.4.2HDFS命名空间管理
3.4.3通信协议
3.4.4客户端
3.4.5HDFS体系结构的局限性
3.5HDFS的存储原理
3.5.1冗余数据的保存
3.5.2数据存取策略
3.5.3数据错误与恢复
3.6HDFS的数据读写过程
3.6.1读数据的过程
3.6.2写数据的过程
3.7HDFS编程实践
3.7.1HDFS常用命令
3.7.2HDFS的Web界面
3.7.3HDFS常用JavaAPI及应用实例
3.8本章小结
3.9习题
第4章分布式数据库HBase
4.1概述
4.1.1从BigTable说起
4.1.2HBase简介
4.1.3HBase与传统关系数据库的
对比分析
4.2HBase访问接口
4.3HBase数据模型
4.3.1数据模型概述
4.3.2数据模型的相关概念
4.3.3数据坐标
4.3.4概念视图
4.3.5物理视图
4.3.6面向列的存储
4.4HBase的实现原理
4.4.1HBase的功能组件
4.4.2表和Region
4.4.3Region的定位
4.5HBase运行机制
4.5.1HBase系统架构
4.5.2Region服务器的工作原理
4.5.3Store的工作原理
4.5.4HLog的工作原理
4.6HBase编程实践
4.6.1HBase常用的Shell命令
4.6.2HBase常用的JavaAPI及
应用实例
4.7本章小结
4.8习题
第5章NoSQL数据库
5.1NoSQL简介
5.2NoSQL兴起的原因
5.2.1关系数据库法满足Web2.0的
需求
5.2.2关系数据库的关键特性在Web2.
时代成为"鸡肋"
5.3NoSQL与关系数据库的比较
5.4NoSQL的四大类型
5.4.1键值数据库
5.4.2列族数据库
5.4.3文档数据库
5.4.4图形数据库
5.5NoSQL的三大基石
5.5.1CAP
5.5.2BASE
5.5.3最终一致性
5.6从NoSQL到NewSQL数据库
5.7本章小结
5.8习题
第6章云数据库
6.1云数据库概述
6.1.1云计算是云数据库兴起的
基础
6.1.2云数据库的概念
6.1.3云数据库的特性
6.1.4云数据库是个性化数据存储
需求的理想选择
6.1.5云数据库与其他数据库的关系
6.2云数据库产品
6.2.1云数据库厂商概述
6.2.2Amazon的云数据库产品
6.2.3Google的云数据库产品
6.2.4微软的云数据库产品
6.2.5其他云数据库产品
6.3云数据库系统架构
6.3.1UMP系统概述
6.3.2UMP系统架构
6.3.3UMP系统功能
6.4云数据库实践
6.4.1阿里云RDS简介
6.4.2RDS中的概念
6.4.3购买和使用RDS数据库
6.4.4将本地数据库迁移到云端RDS数据库
6.5本章小结
6.6习题
第三篇大数据处理与分析
第7章MapReduce
7.1概述
7.1.1分布式并行编程
7.1.2MapReduce模型简介
7.1.3Map和Reduce函数
7.2MapReduce的工作流程
7.2.1工作流程概述
7.2.2MapReduce的各个执行阶段
7.2.3Shuffle过程详解
7.3实例分析:WordCount
7.3.1WordCount的程序任务
7.3.2WordCount的设计思路
7.3.3MapReduce的具体执行过程
7.3.4一个WordCount执行过程的
实例
7.4MapReduce的具体应用
7.4.1MapReduce在关系代数
运算中的应用
7.4.2分组与聚合运算
7.4.3矩阵-向量乘法
7.4.4矩阵乘法
7.5MapReduce编程实践
7.5.1任务要求
7.5.2编写Map处理逻辑
7.5.3编写Reduce处理逻辑
7.5.4编写main方法
7.5.5编译打包代码以及运行程序
7.6本章小结
7.7习题
第8章流计算
8.1流计算概述
8.1.1静态数据和流数据
8.1.2批量计算和实时计算
8.1.3流计算的概念
8.1.4流计算与Hadoop
8.1.5流计算框架
8.2流计算的处理流程
8.2.1概述
8.2.2数据实时采集
8.2.3数据实时计算
8.2.4实时查询服务
8.3流计算的应用
8.3.1应用场景1:实时分析
8.3.2应用场景2:实时交通
8.4开源流计算框架Storm
8.4.1Storm简介