《大数据技术丛书 Spark大数据分析 核心概念、技术及实践》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)穆罕默德·古勒著;赵斌,马景,陈冠诚译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111565611
  • 页数:249 页
图书介绍:本书是关于大数据和Spark的一个简明手册。它将助你学习如何用Spark来完成很多大数据分析任务,其中覆盖了高效利用Spark所需要知道的重要主题:如何使用Spark Shell进行交互式数据分析、如何编写Spark应用、如何在Spark中对大规模数据进行交互分析、如何使用Spark Streaming处理高速数据流、如何使用Spark进行机器学习、 如何使用Spark进行图处理、如何使用集群管理员部署Spark、如何监控Spark应用等。本书还对其他配合Spark一起使用的大数据技术进行了介绍,包括HDFS、Avro、Parquet、Kafka、Cassandra、HBase、Mesos等。本书也对机器学习和图的概念进行了介绍。

第1章 大数据技术一览 1

1.1 Hadoop 2

1.1.1 HDFS 3

1.1.2 MapReduce 5

1.1.3 Hive 5

1.2数据序列化 6

1.2.1 Avro 6

1.2.2 Thrift 6

1.2.3 Protocol Buffers 7

1.2.4 SequenceFile 7

1.3列存储 7

1.3.1 RCFile 8

1.3.2 ORC 8

1.3.3 Parquet 9

1.4消息系统 9

1.4.1 Kafka 10

1.4.2 ZeroMQ 11

1.5 NoSQL 12

1.5.1 Cassandra 13

1.5.2 HBase 13

1.6分布式SQL查询引擎 14

1.6.1 Impala 14

1.6.2 Presto 14

1.6.3 Apache Drill 15

1.7总结 15

第2章 Scala编程 16

2.1函数式编程 16

2.1.1函数 17

2.1.2不可变数据结构 18

2.1.3一切皆表达式 19

2.2 Scala基础 19

2.2.1起步 20

2.2.2基础类型 20

2.2.3变量 21

2.2.4函数 21

2.2.5类 24

2.2.6单例 24

2.2.7样本类 25

2.2.8模式匹配 25

2.2.9操作符 26

2.2.10特质 26

2.2.11元组 27

2.2.12 Option类型 27

2.2.13集合 28

2.3一个单独的Scala应用程序 32

2.4总结 32

第3章 Spark Core 33

3.1概述 33

3.1.1主要特点 33

3.1.2理想的应用程序 36

3.2总体架构 37

3.2.1 worker 37

3.2.2集群管理员 38

3.2.3驱动程序 38

3.2.4执行者 38

3.2.5任务 38

3.3应用运行 38

3.3.1术语 38

3.3.2应用运行过程 39

3.4数据源 39

3.5 API 40

3.5.1 SparkContext 40

3.5.2 RDD 41

3.5.3创建RDD 42

3.5.4 RDD操作 43

3.5.5保存RDD 52

3.6惰性操作 53

3.7缓存 54

3.7.1 RDD的缓存方法 55

3.7.2 RDD缓存是可容错的 56

3.7.3缓存内存管理 56

3.8 Spark作业 56

3.9共享变量 57

3.9.1广播变量 57

3.9.2累加器 58

3.10总结 59

第4章 使用Spark shell进行交互式数据分析 60

4.1起步 60

4.1.1下载 60

4.1.2解压 61

4.1.3运行 61

4.2 REPL命令 62

4.3把Spark shell当成Scala shell使用 62

4.4数值分析 63

4.5日志分析 64

4.6总结 68

第5章 编写Spark应用 69

5.1 Spark中的Hello World 69

5.2编译并运行应用 72

5.2.1 sbt 72

5.2.2编译代码 73

5.2.3运行应用 73

5.3监控应用 75

5.4调试应用 75

5.5总结 76

第6章 Spark Streaming 77

6.1 Spark Streaming简介 78

6.1.1 Spark Streaming是一个Spark类库 78

6.1.2总体架构 78

6.1.3数据流来源 78

6.1.4接收器 79

6.1.5目的地 79

6.2 API 79

6.2.1 StreamingContext 80

6.2.2 Spark Streaming应用基本结构 82

6.2.3 DStream 82

6.2.4创建DStream 83

6.2.5处理数据流 84

6.2.6输出操作 88

6.2.7窗口操作 91

6.3一个完整的Spark Streaming应用 93

6.4总结 98

第7章 Spark SQL 99

7.1 Spark SQL简介 99

7.1.1和其他Spark库集成 100

7.1.2可用性 100

7.1.3数据源 100

7.1.4数据处理接口 100

7.1.5与Hive的互操作性 101

7.2性能 101

7.2.1磁盘I/O 101

7.2.2分区 102

7.2.3列存储 102

7.2.4内存中的列式缓存 102

7.2.5行跳过 102

7.2.6谓词下推 102

7.2.7查询优化 103

7.3应用 104

7.3.1 ETL 104

7.3.2数据可视化 104

7.3.3分布式JDBC/ODBC SQL查询引擎 105

7.3.4数据仓库 105

7.4 API 106

7.4.1关键抽象 106

7.4.2创建DataFrame 109

7.4.3在程序中使用SQL/HiveQL处理数据 114

7.4.4使用DataFrame API处理数据 115

7.4.5保存DataFrame 131

7.5内置函数 133

7.5.1聚合操作 134

7.5.2集合操作 134

7.5.3日期/时间 134

7.5.4数学 135

7.5.5字符串 135

7.5.6窗口 135

7.6 UDF和UDAF 135

7.7一个交互式分析的例子 135

7.8使用Spark SQL JDBC服务器进行交互式分析 142

7.9总结 145

第8章 使用Spark进行机器学习 146

8.1机器学习简介 146

8.1.1特征 147

8.1.2标签 147

8.1.3模型 148

8.1.4训练数据 148

8.1.5测试数据 149

8.1.6机器学习应用 149

8.1.7机器学习算法 151

8.1.8超参数 160

8.1.9模型评价 160

8.1.10机器学习的主要步骤 162

8.2 Spark机器学习库 162

8.3 MLlib概览 163

8.3.1与其他Spark库集成 163

8.3.2统计工具 163

8.3.3机器学习算法 163

8.4 MLIib API 164

8.4.1数据类型 164

8.4.2算法和模型 166

8.4.3模型评价 181

8.5 MLlib示例应用 184

8.5.1数据集 184

8.5.2目标 184

8.5.3代码 184

8.6 Spark ML 186

8.6.1 ML数据集 187

8.6.2 Transformer 187

8.6.3 Estimator 187

8.6.4 Pipeline 188

8.6.5 PipelineModel 188

8.6.6 Evaluator 188

8.6.7网格搜索 189

8.6.8 CrossValidator 189

8.7 Spark ML示例应用 189

8.7.1数据集 190

8.7.2目标 190

8.7.3代码 190

8.8总结 195

第9章 使用Spark进行图处理 196

9.1图简介 196

9.1.1无向图 197

9.1.2有向图 197

9.1.3有向多边图 197

9.1.4属性图 197

9.2 GraphX简介 198

9.3 GraphX API 199

9.3.1数据抽象 199

9.3.2创建图 200

9.3.3图属性 202

9.3.4图操作符 204

9.4总结 217

第10章 集群管理员 218

10.1独立集群管理员 218

10.1.1架构 219

10.1.2建立一个独立集群 219

10.1.3在独立集群中运行Spark应用 221

10.2 Apache Mesos 223

10.2.1架构 223

10.2.2建立一个Mesos集群 224

10.2.3在Mesos集群上运行Spark应用 224

10.3 YARN 226

10.3.1架构 226

10.3.2在YARN集群上运行Spark应用 228

10.4总结 228

第11章 监控 229

11.1监控独立集群 229

11.1.1监控Spark master 229

11.1.2监控Spark worker 232

11.2监控Spark应用 233

11.2.1监控一个应用所运行的作业 234

11.2.2监控一个作业的不同阶段 235

11.2.3监控一个阶段中的任务 236

11.2.4监控RDD存储 238

11.2.5监控环境 243

11.2.6监控执行者 244

11.2.7监控Spark流应用 244

11.2.8监控Spark SQL查询 246

11.2.9监控Spark SQL JDBC/ODBC服务器 246

11.3总结 247

参考文献 248