分布式存储与计算
简介
作者简介
1
分布式计算:背景与挑战
1.1
分布式计算与并行计算
1.2
现代海量数据的存储方式
1.3
分布式计算挑战
2
Linux基础
2.1
Linux历史
2.2
为什么使用Linux
2.3
Linux基础操作
2.4
Linux管道
2.5
标准输入、输出、错误
2.5.1
结果输出
2.5.2
重定向
2.5.3
管道
3
分布式系统与分布式计算
3.1
为什么选择分布式系统
3.2
分布式系统的性能体现
3.3
代码向数据移动逻辑
3.4
分布式系统的构成
3.5
与超级计算机的区别
4
Hadoop 基础
4.1
Hadoop历史、生态系统
4.1.1
Hadoop 简介
4.1.2
Hadoop 的历史
4.1.3
Hadoop与传统集群的比较
4.1.4
Hadoop 的生态系统
4.1.5
Hadoop 的组成模块
4.2
分布式文件系统(HDFS)
4.2.1
HDFS 简介
4.2.2
HDFS 的体系结构
4.2.3
HDFS 基本文件系统操作
4.2.4
接口
4.2.5
Hadoop 存档
4.2.6
访问HDFS
4.2.7
其他命令
4.2.8
小型Hadoop项目实操
4.2.9
Hadoop过时了吗?
5
MapReduce
5.1
MapReduce 工作原理
5.1.1
Map原理
5.1.2
Reduce原理
5.1.3
Partitioner和Combiner
5.1.4
MapReduce 工作机制
5.1.5
Shuffle
5.1.6
MapReduce运行实例
6
Hadoop Streaming
6.1
Hadoop上运行MapReduce
6.1.1
通过Hadoop Streaming运行MapReduce
6.1.2
Hadoop Streaming的常用参数设置
6.1.3
Hadoop其他MapReduce API
7
基于MapReduce的统计建模
7.0.1
什么任务适合使用MapReduce?
7.0.2
MapReduce-容错
7.0.3
使用MapReduce进行线性回归
7.0.4
使用MapReduce进行logistic回归
8
分布式数据库
8.1
Hive简介
8.1.1
Hive具体介绍
8.1.2
Hive与传统数据库的区别
8.1.3
Hive操作方式
8.1.4
Hive工作机制
8.1.5
Hive数据类型
8.2
Hive的具体操作
8.2.1
数据库的定义
8.2.2
表的定义
8.2.3
HiveQL 数据操作(DML)
8.2.4
HiveQL 数据查询
8.3
Hive调优
8.3.1
Hive运行变慢的原因
8.3.2
问题场景及优化方案
8.4
Hive 内置函数与UDF函数
8.4.1
Hive内置运算符
8.4.2
Hive内置函数
8.4.3
Hive自定义函数
8.5
其他的分布式数据库
8.5.1
Pig
8.5.2
HBase
9
Spark 分布式计算平台
9.1
Spark简介
9.1.1
Spark的历史和发展
9.1.2
Spark的社区活动
9.1.3
Spark和Hadoop的比较
9.1.4
Spark的特点
9.1.5
Spark生态:BDAS
9.2
Spark工作原理介绍
9.2.1
Spark架构
9.2.2
Spark组件介绍
9.2.3
Spark工作流程
9.2.4
启动Spark应用程序
9.3
Spark的数据集和并行化
9.3.1
RDD
9.3.2
Spark算子的分类及作用
9.3.3
创建一个SparkContext对象
9.3.4
并行化集合
9.3.5
使用RDD的外部数据集
9.3.6
RDD数据集缓存
9.3.7
共享变量(shared variables)
9.4
Spark数据结构
9.4.1
Local vector局部向量
9.4.2
Local matrix局部矩阵
9.4.3
Labeled Points标记点
9.4.4
Sparse data稀疏数据
9.4.5
Distributed matrix分布式矩阵
10
利用Spark处理结构化数据
10.1
spark SQL简介
10.2
数据集(Datasets)和数据框(DataFrames)
10.3
相关操作命令
10.3.1
创建Spark Session
10.3.2
创建DataFrames
10.3.3
将DataFrame导出到本地磁盘
11
Spark DataFrame
11.1
读取文件并从表头推断架构
11.2
数据内容查看
11.2.1
查看数据架构
11.2.2
提取某几列数据
11.2.3
数据分类汇总
11.2.4
数据排序
11.2.5
数据筛选
11.3
数据清洗
11.4
数据统计处理
11.4.1
数据描述性统计
11.4.2
统计计算
11.5
用户自定义函数(UDF)
11.5.1
Scalar
11.5.2
Grouped Map
12
使用Spark进行机器学习
12.1
机器学习库
12.2
MLlib API
12.3
Spark基本统计操作
12.3.1
计算相关性Correlation
12.3.2
描述性统计(Summarizer)
12.4
机器学习管道
12.4.1
主要概念
12.4.2
Pipelines运作过程
12.5
分类与回归
12.5.1
逻辑回归
12.5.2
决策树
12.5.3
聚类
12.6
使用交叉验证进行模型选择
12.6.1
模型选择
12.6.2
交叉验证
13
使用Spark进行文本处理
13.1
文本处理中的概念
13.1.1
语料库(Corpora)
13.1.2
Tokens
13.1.3
停用词(Stopwords)
13.1.4
词干法(Stemming)
13.1.5
词频计数(Frequency Counts)
13.1.6
分词器(Word Segmenter)
13.1.7
词性标注(Part-Of-Speech Tagger)
13.1.8
命名实体识别(Named Entity Recognizer)
13.2
处理方法
13.2.1
特征提取
13.2.2
特征转换
13.3
使用LDA进行主题建模
14
使用Spark进行高级统计建模
14.1
分布式系统的统计模型
14.1.1
One-shot
14.1.2
Iterative algorithms
14.1.3
Lasso estimation
14.2
DLSA
14.2.1
DLSA的主要思想
14.2.2
DLSA实现公式
14.2.3
DLSA算法流程
14.2.4
DLSA算法的贡献
14.3
DLSA实际应用介绍
14.3.1
计算细节
14.4
传统统计计算与分布式统计计算模型
15
使用Spark进行流数据建模
15.1
Spark Streaming概述
15.1.1
流数据建模的工作流程
15.1.2
DStream-Spark的数据流表示
15.1.3
实例
15.1.4
创建sparkstreaming操作总结
15.2
Spark Streaming 的详细应用信息
15.2.1
DStream模型
15.2.2
窗口操作
15.2.3
外部数据来源
15.2.4
容错机制
16
基于Scala语言的Spark
16.1
Scala与Python对比
16.1.1
性能
16.1.2
学习曲线
16.1.3
适用性
16.1.4
可用性
16.1.5
代码恢复与安全
16.1.6
结论
16.2
Scala介绍
16.2.1
Scala的背景
16.2.2
Scala概述
16.2.3
Scala操作
16.3
使用Scala进行Spark操作
16.3.1
矩阵运算
16.3.2
使用Scala进行Spark Matrix操作
17
分布式计算环境部署
17.1
Hadoop 安装运行
17.1.1
单机伪分布式安装
17.1.2
全分布式集群
17.2
Hive 安装运行
17.2.1
准备
17.2.2
安装Hive
17.2.3
配置Hive
17.3
Spark 安装
参考文献
本书由 bookdown 强力驱动
分布式存储与计算
参考文献