关于我们
书单推荐
新书推荐
|
深入理解大数据:大数据处理与编程实践
《深入理解大数据:大数据处理与编程实践》从HadoopMapReduce并行计算技术与系统的基本原理剖析着手,在系统介绍基本工作原理、编程模型、编程框架和接口的基础上,着重系统化地介绍MapReduce并行算法设计与编程技术,较为全面地介绍了基本MapReduce算法设计、高级MapReduce编程技术、以及一系列较为复杂的机器学习和数据挖掘并行化算法,并引入来自IntelHadoop系统产品的一系列增强功能以及深度技术剖析;最后,为了提高读者的算法设计与编程实战能力,本书较为详细地介绍了一系列综合性和实战性大数据处理和算法设计问题,这些问题来自课程同学参加的全国性大数据大赛中的获奖算法、课程中的优秀课程设计、以及来自本团队的科研课题及业界实际的大数据应用实战案例。
第一部分 Hadoop系统
第1章 大数据处理技术简介
1.1 并行计算技术简介
1.1.1 并行计算的基本概念
1.1.2 并行计算技术的分类
1.1.3 并行计算的主要技术问题
1.2 大数据处理技术简介
1.2.1 大数据的发展背景和研究意义
1.2.2 大数据的技术特点
1.2.3 大数据研究的主要目标、基本原则和基本途径
1.2.4 大数据计算模式和系统
1.2.5 大数据计算模式的发展趋势
1.2.6 大数据的主要技术层面和技术内容
1.3 MapReduce并行计算技术简介
1.3.1 MapReduce的基本概念和由来
1.3.2 MapReduce的基本设计思想
1.3.3 MapReduce的主要功能和技术特征
1.4 Hadoop系统简介
1.4.1 Hadoop的概述与发展历史
1.4.2 Hadoop系统分布式存储与并行计算构架
1.4.3 Hadoop平台的基本组成与生态系统
1.4.4 Hadoop的应用现状和发展趋势
第2章 Hadoop系统的安装与操作管理
2.1 Hadoop系统安装方法简介
2.2 单机和单机伪分布式Hadoop系统安装基本步骤
2.2.1 安装和配置JDK
2.2.2 创建Hadoop用户
2.2.3 下载安装Hadoop
2.2.4 配置SSH
2.2.5 配置Hadoop环境
2.2.6 Hadoop的运行
2.2.7 运行测试程序
2.2.8 查看集群状态
2.3 集群分布式Hadoop系统安装基本步骤
2.3.1 安装和配置JDK
2.3.2 创建Hadoop用户
2.3.3 下载安装Hadoop
2.3.4 配置SSH
2.3.5 配置Hadoop环境
2.3.6 Hadoop的运行
2.3.7 运行测试程序
2.3.8 查看集群状态
2.4 Hadoop& ;MapReduce程序开发过程
2.5 集群远程作业提交与执行
2.5.1 集群远程作业提交和执行过程
2.5.2 查看作业执行结果和集群状态
第3章 大数据存储--分布式文件系统HDFS
3.1 HDFS的基本特征与构架
3.1.1 HDFS的基本特征
3.1.2 HDFS的基本框架与工作过程
3.2 HDFS可靠性设计
3.2.1 HDFS数据块多副本存储设计
3.2.2 HDFS可靠性的设计实现
3.3 HDFS文件存储组织与读写
3.3.1 文件数据的存储组织
3.3.2 数据的读写过程
3.4 HDFS文件系统操作命令
3.4.1 HDFS启动与关闭
3.4.2 HDFS文件操作命令格式与注意事项
3.4.3 HDFS文件操作命令
3.4.4 高级操作命令和工具
3.5 HDFS基本编程接口与示例
3.5.1 HDFS编程基础知识
3.5.2 HDFS基本文件操作API
3.5.3 HDFS基本编程实例
第4章 Hadoop& ;MapReduce并行编程框架
4.1 MapReduce基本编程模型和框架
4.1.1 MapReduce并行编程抽象模型
4.1.2 MapReduce的完整编程模型和框架
4.2 Hadoop& ;MapReduce基本构架与工作过程
4.2.1 Hadoop系统构架和MapReduce程序执行过程
4.2.2 Hadoop& ;MapReduce执行框架和作业执行流程
4.2.3 Hadoop& ;MapReduce作业调度过程和调度方法
4.2.4 MapReduce执行框架的组件和执行流程
4.3 Hadoop& ;MapReduce主要组件与编程接口
4.3.1 数据输入格式InputFormat
4.3.2 输入数据分块InputSplit
4.3.3 数据记录读入RecordReader
4.3.4 Mapper类
4.3.5 Combiner
4.3.6 Partitioner
4.3.7 Sort
4.3.8 Reducer类
4.3.9 数据输出格式OutputFormat
4.3.10 数据记录输出RecordWriter
第5章 分布式数据库HBase
5.1 HBase简介
5.1.1 为什么需要NoSQL数据库
5.1.2 HBase的作用和功能特点
5.2 HBase的数据模型
5.2.1 HBase的基本数据模型
5.2.2 HBase的查询模式
5.2.3 HBase表设计
5.3 HBase的基本构架与数据存储管理方法
5.3.1 HBase在Hadoop生态中的位置和关系
5.3.2 HBase的基本组成结构
5.3.3 HBase& ;Region
5.3.4 Region& ;Server
5.3.5 HBase的总体组成结构
5.3.6 HBase的寻址和定位
5.3.7 HBase节点的上下线管理
5.4 HBase安装与操作
5.4.1 安装一个单机版的HBase
5.4.2 HBase& ;Shell操作命令
5.4.3 基于集群的HBase安装和配置
5.5 HBase的编程接口和编程示例
5.5.1 表创建编程接口与示例
5.5.2 表数据更新编程接口与示例
5.5.3 数据读取编程接口与示例
5.5.4 HBase& ;MapReduce支持和编程示例
5.6 HBase的读写操作和特性
5.6.1 HBase的数据写入
5.6.2 HBase的数据读取
5.7 其他HBase功能
5.7.1 Coprocessor
5.7.2 批量数据导入Bulk& ;Load
第6章 分布式数据仓库Hive
6.1 Hive的作用与结构组成
6.2 Hive的数据模型
6.2.1 Hive的数据存储模型
6.2.2 Hive的元数据存储管理
6.2.3 Hive的数据类型
6.3 Hive的安装
6.3.1 下载Hive安装包
6.3.2 配置环境变量
6.3.3 创建Hive数据文件目录
6.3.4 修改Hive配置文件
6.4 Hive查询语言--HiveQL
6.4.1 DDL语句
6.4.2 DML语句
6.4.3 SELECT查询语句
6.4.4 数据表操作语句示例
6.4.5 分区的使用
6.4.6 桶的使用
6.4.7 子查询
6.4.8 Hive的优化和高级功能
6.5 Hive& ;JDBC编程接口与程序设计
第7章 Intel& ;Hadoop系统优化与功能增强
7.1 Intel& ;Hadoop系统简介
7.1.1 Intel& ;Hadoop系统的主要优化和增强功能
7.1.2 Intel& ;Hadoop的系统构成与组件
7.2 Intel& ;Hadoop系统的安装和管理
7.3 Intel& ;Hadoop& ;HDFS的优化和功能扩展
7.3.1 HDFS的高可用性
7.3.2 Intel& ;Hadoop系统高可用性配置服务
7.3.3 Intel& ;Hadoop系统高可用性配置服务操作
7.3.4 自适应数据块副本调整策略
7.4 Intel& ;Hadoop& ;HBase的功能扩展和编程示例
7.4.1 HBase大对象存储(LOB)
7.4.2 加盐表
7.4.3 HBase跨数据中心大表
7.5 Intel& ;Hadoop& ;Hive的功能扩展和编程示例
7.5.1 开源Hive的不足
7.5.2 Intel& ;Hadoop“Hive& ;over& ;HBase”优化设计
7.5.3 Hive& ;over& ;HBase的架构
第二部分 MapReduce的编程和算法设计
第8章 MapReduce基础算法程序设计
8.1 WordCount
8.1.1 WordCount算法编程实现
8.2 矩阵乘法
8.2.1 矩阵乘法原理和实现思路
8.2.2 矩阵乘法的MapReduce程序实现
8.3 关系代数运算
8.3.1 选择操作
8.3.2 投影操作
8.3.3 交运算
8.3.4 差运算
8.3.5 自然连接
8.4 单词共现算法
8.4.1 单词共现算法的基本设计
8.4.2 单词共现算法的实现
8.4.3 单词共现算法实现中的细节问题
8.5 文档倒排索引
8.5.1 简单的文档倒排索引
8.5.2 带词频等属性的文档倒排索引
8.6 PageRank网页排名算法
8.6.1 PageRank的简化模型
8.6.2 PageRank的随机浏览模型
8.6.3 PageRank的MapReduce实现
8.7 专利文献分析算法
8.7.1 构建专利被引用列表
8.7.2 专利被引用次数统计
8.7.3 专利被引用次数直方图统计
8.7.4 按照年份或国家统计专利数
第9章 MapReduce高级程序设计技术
9.1 简介
9.2 复合键值对的使用
9.2.1 把小的键值对合并成大的键值对
9.2.2 巧用复合键让系统完成排序
9.3 用户定制数据类型
9.3.1 Hadoop内置的数据类型
9.3.2 用户自定义数据类型的实现
9.4 用户定制数据输入输出格式
9.4.1 Hadoop内置的数据输入格式与RecordReader
9.4.2 用户定制数据输入格式与RecordReader
9.4.3 Hadoop内置的数据输出格式与RecordWriter
9.4.4 用户定制数据输出格式与RecordWriter
9.4.5 通过定制数据输出格式实现多集合文件输出
9.5 用户定制Partitioner和Combiner
9.5.1 用户定制Partitioner
9.5.2 用户定制Combiner
9.6 组合式MapReduce计算作业
9.6.1 迭代MapReduce计算任务
9.6.2 顺序组合式MapReduce作业的执行
9.6.3 具有复杂依赖关系的组合式MapReduce作业的执行
9.6.4 MapReduce前处理和后处理步骤的链式执行
9.7 多数据源的连接
9.7.1 基本问题数据示例
9.7.2 用DataJoin类实现Reduce端连接
9.7.3 用全局文件复制方法实现Map端连接
9.7.4 带Map端过滤的Reduce端连接
9.7.5 多数据源连接解决方法的限制
9.8 全局参数/数据文件的传递与使用
9.8.1 全局作业参数的传递
9.8.2 查询全局的MapReduce作业属性
9.8.3 全局数据文件的传递
9.9 关系数据库的连接与访问
9.9.1 从数据库中输入数据
9.9.2 向数据库中输出计算结果
第10章 MapReduce数据挖掘基础算法
10.1 K-Means聚类算法
10.1.1 K-Means聚类算法简介
10.1.2 基于MapReduce的K-Means算法的设计实现
10.2 KNN最近邻分类算法
10.2.1 KNN最近邻分类算法简介
10.2.2 基于MapReduce的KNN算法的设计实现
10.3 朴素贝叶斯分类算法
10.3.1 朴素贝叶斯分类算法简介
10.3.2 朴素贝叶斯分类并行化算法的设计
10.3.3 朴素贝叶斯分类并行化算法的实现
10.4 决策树分类算法
10.4.1 决策树分类算法简介
10.4.2 决策树并行化算法的设计
10.4.3 决策树并行化算法的实现
10.5 频繁项集挖掘算法
10.5.1 频繁项集挖掘问题描述
10.5.2& ; Apriori频繁项集挖掘算法简介
10.5.3 Apriori频繁项集挖掘并行化算法的设计
10.5.4 Apriori频繁项集挖掘并行化算法的实现
10.5.5 基于子集求取的频繁项集挖掘算法的设计
10.5.6 基于子集求取的频繁项集挖掘并行化算法的实现
10.6 隐马尔科夫模型和最大期望算法
10.6.1 隐马尔科夫模型的基本描述
10.6.2 隐马尔科夫模型问题的解决方法
10.6.3 最大期望算法概述
10.6.4 并行化隐马尔科夫算法设计
10.6.5 隐马尔科夫算法的并行化实现
第11章 大数据处理算法设计与应用编程案例
11.1 基于MapReduce的搜索引擎算法
11.1.1 搜索引擎工作原理简介
11.1.2 基于MapReduce的文档预处理
11.1.3 基于MapReduce的文档倒排索引构建
11.1.4 建立Web信息查询服务
11.2 基于MapReduce的大规模短文本多分类算法
11.2.1 短文本多分类算法工作原理简介
11.2.2 并行化分类训练算法设计实现
11.2.3 并行化分类预测算法设计实现
11.3 基于MapReduce的大规模基因序列比对算法
11.3.1 基因序列比对算法简介
11.3.2 并行化BLAST算法的设计与实现
11.4 基于MapReduce的大规模城市路径规划算法
11.4.1 问题背景和要求
11.4.2 数据输入
11.4.3 程序设计要求
11.4.4 算法设计总体框架和处理过程
11.4.5 并行化算法的设计与实现
11.5 基于MapReduce的大规模重复文档检测算法
11.5.1 重复文档检测问题描述
11.5.2 重复文档检测方法和算法设计
11.5.3 重复文档检测并行化算法设计实现
11.6 基于内容的并行化图像检索算法与引擎
11.6.1 基于内容的图像检索问题概述
11.6.2 图像检索方法和算法设计思路
11.6.3 并行化图像检索算法实现
11.7 基于MapReduce的大规模微博传播分析
11.7.1 微博分析问题背景与并行化处理过程
11.7.2 并行化微博数据获取算法的设计实现
11.7.3 并行化微博数据分析算法的设计实现
11.8 基于关联规则挖掘的图书推荐算法
11.8.1 图书推荐和关联规则挖掘简介
11.8.2 图书频繁项集挖掘算法设计与数据获取
11.8.3 图书关联规则挖掘并行化算法实现
11.9 基于Hadoop的城市智能交通综合应用案例
11.9.1 应用案例概述
11.9.2 案例一:交通事件检测
11.9.3 案例二:交通流统计分析功能
11.9.4 案例三:道路旅行时间分析
11.9.5 案例四:HBase实时查询
11.9.6 案例五:HBase& ;Endpoint快速统计
11.9.7 案例六:利用Hive高速统计
附录
附录A OpenMP并行程序设计简介
附录B MPI并行程序设计简介
附录C 英特尔Apache& ;Hadoop*系统安装手册
参考文献
4)从大数据处理响应性能看,大数据处理可分为实时/准实时与非实时计算,或者是联机计算与线下计算。前述的流式计算通常属于实时计算,此外查询分析类计算通常也要求具有高响应性能,因而也可以归为实时或准实时计算。而批处理计算和复杂数据挖掘计算通常属于非实时或线下计算。
5)从数据关系角度看,大数据可分为简单关系数据(如Web日志)和复杂关系数据(如社会网络等具有复杂数据关系的网计算)。
6)从迭代计算角度看,现实世界的数据处理中有很多计算问题需要大量的迭代计算,诸如一些机器学习等复杂的计算任务会需要大量的迭代计算,为此需要提供具有高效的迭代计算能力的大数据处理和计算方法。
7)从并行计算体系结构特征角度看,由于需要支持大规模数据的存储和计算,因此目前绝大多数大数据处理都使用基于集群的分布式存储与并行计算体系结构和硬件平台。MapReduce是最为成功的分布式存储和并行计算模式。然而,基于磁盘的数据存储和计算模式使MapReduce难以实现高响应性能。为此人们从分布计算体系结构层面上又提出了内存计算的概念和技术方法。
1.2.3大数据研究的主要目标、基本原则和基本途径
1.大数据研究的主要目标
大数据研究的主要目标是,以有效的信息技术手段和计算方法,获取、处理和分析各种应用行业的大数据,发现和提取数据的深度价值,为行业提供高附加值的应用和服务。因此,大数据研究的核心目标是价值发现,而其技术手段是信息技术和计算方法,其效益目标是为行业提供高附加值的应用和服务。
2.大数据研究的基本特点。
大数据研究具有以下几方面的主要特点:
1)大数据处理具有很强的行业应用需求特性,因此大数据技术研究必须紧扣行业应用需求。
2)大数据规模极大,超过任何传统数据库系统的处理能力。
3)大数据处理技术综合性强,任何单一层面的计算技术都难以提供理想的解决方案,需要采用综合性的软硬件技术才能有效处理。
4)大数据处理时,大多数传统算法都面临失效,需要重写。
3.大数据研究的基本原则
大数据研究的基本原则是:
1)应用需求为导向:由于大数据问题来自行业应用,因此大数据的研究需要以行业应用问题和需求为导向,从行业实际的应用需求和存在的技术难题入手,研究解决有效的处理技术和解决方案。
2)领域交叉为桥梁:由于大数据技术有典型的行业应用特征,因此大数据技术研究和应用开发需要由计算技术人员、数据分析师、具备专业知识的领域专家相互配合和协同,促进应用行业、IT产业与计算技术研究机构的交叉融合,来提供良好的大数据解决方法。
3)技术综合为支撑:与传统的单一层面的计算技术研究和应用不同,大数据处理是几乎整个计算技术和信息技术的融合,只有采用技术交叉融合的方法才能提供较为完善的大数据处理方法。
……
你还可能感兴趣
我要评论
|