大数据作为继云计算、物联网之后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简介