欢迎访问学兔兔,学习、交流 分享 !

返回首页 |
当前位置: 首页 > 书籍手册>计算机与网络 >大数据应用与技术丛书 Scala和Spark大数据分析 函数式编程、数据流和机器学习 (德)雷扎尔 卡里姆(Md.Rezaul Karim) 著 史跃东 译 2020年版

大数据应用与技术丛书 Scala和Spark大数据分析 函数式编程、数据流和机器学习 (德)雷扎尔 卡里姆(Md.Rezaul Karim) 著 史跃东 译 2020年版

收藏
  • 大小:95.78 MB
  • 语言:中文版
  • 格式: PDF文档
  • 类别:计算机与网络
  • 更新日期:2024-04-23
推荐:升级会员 无限下载,节约时间成本!
关键词:编程   函数   机器   数据   Scala
资源简介
大数据应用与技术丛书 Scala和Spark大数据分析 函数式编程、数据流和机器学习
作者:(德)雷扎尔 卡里姆(Md.Rezaul Karim) 著 史跃东 译
出版时间: 2020年版
内容简介
  主要内容 ◆ 理解Scala的面向对象和函数式编程概念 ◆ 深入理解Scala的集合API ◆ 学习RDD和数据帧等Spark核心概念 ◆ 使用Spark SQL和GraphX分析结构化与非结构化数据 ◆ 使用Spark结构化流来开发具备可扩展性和容错能力的流式应用 ◆ 学习分类、回归、降维和推荐系统等机器学习最佳实践,以便使用Spark ML和Spark MLlib中的流行算法来建立预测模型 ◆ 建立聚类模型,以便聚类大量数据 ◆ 理解Spark应用的调优、调试和监控技术 ◆使用独立服务器模式、Mesos和YARN模式在集群上部署Spark应用
目录
第1章 Scala简介 1
1.1 Scala的历史与设计目标 2
1.2 平台与编辑器 2
1.3 安装与创建Scala 3
1.3.1 安装Java 3
1.3.2 Windows 4
1.3.3 macOS 6
1.4 Scala:可扩展的编程语言 9
1.4.1 Scala是面向对象的 9
1.4.2 Scala是函数式的 9
1.4.3 Scala是静态类型的 9
1.4.4 在JVM上运行Scala 10
1.4.5 Scala可以执行Java代码 10
1.4.6 Scala可以完成并发与同步处理 10
1.5 面向Java编程人员的Scala 10
1.5.1 一切类型都是对象 10
1.5.2 类型推导 11
1.5.3 Scala REPL 11
1.5.4 嵌套函数 13
1.5.5 导入语句 13
1.5.6 作为方法的操作符 14
1.5.7 方法与参数列表 15
1.5.8 方法内部的方法 15
1.5.9 Scala中的构造器 16
1.5.10 代替静态方法的对象 16
1.5.11 特质 17
1.6 面向初学者的Scala 19
1.6.1 你的第一行代码 20
1.6.2 交互式运行Scala! 21
1.6.3 编译 21
1.7 本章小结 22
第2章 面向对象的Scala 23
2.1 Scala中的变量 24
2.1.1 引用与值不可变性 25
2.1.2 Scala中的数据类型 26
2.2 Scala中的方法、类和对象 28
2.2.1 Scala中的方法 28
2.2.2 Scala中的类 30
2.2.3 Scala中的对象 30
2.3 包与包对象 41
2.4 Java的互操作性 42
2.5 模式匹配 43
2.6 Scala中的隐式 45
2.7 Scala中的泛型 46
2.8 SBT与其他构建系统 49
2.8.1 使用SBT进行构建 49
2.8.2 Maven与Eclipse 50
2.8.3 Gradle与Eclipse 51
2.9 本章小结 55
第3章 函数式编程概念 56
3.1 函数式编程简介 57
3.2 面向数据科学家的函数式Scala 59
3.3 学习Spark为何要掌握函数式编程和Scala 59
3.3.1 为何是Spark? 59
3.3.2 Scala与Spark编程模型 60
3.3.3 Scala与Spark生态 61
3.4 纯函数与高阶函数 62
3.4.1 纯函数 62
3.4.2 匿名函数 64
3.4.3 高阶函数 66
3.4.4 以函数作为返回值 70
3.5 使用高阶函数 71
3.6 函数式Scala中的错误处理 72
3.6.1 Scala中的故障与异常 73
3.6.2 抛出异常 73
3.6.3 使用try和catch捕获异常 73
3.6.4 finally 74
3.6.5 创建Either 75
3.6.6 Future 76
3.6.7 执行任务,而非代码块 76
3.7 函数式编程与数据可变性 76
3.8 本章小结 77
第4章 集合API 78
4.1 Scala集合API 78
4.2 类型与层次 79
4.2.1 Traversable 79
4.2.2 Iterable 80
4.2.3 Seq、LinearSeq和IndexedSeq 80
4.2.4 可变型与不可变型 80
4.2.5 Array 82
4.2.6 List 85
4.2.7 Set 86
4.2.8 Tuple 88
4.2.9 Map 89
4.2.10 Option 91
4.2.11 exists 94
4.2.12 forall 96
4.2.13 filter 96
4.2.14 map 97
4.2.15 take 97
4.2.16 groupBy 98
4.2.17 init 98
4.2.18 drop 98
4.2.19 takeWhile 98
4.2.20 dropWhile 99
4.2.21 flatMap 99
4.3 性能特征 100
4.3.1 集合对象的性能特征 100
4.3.2 集合对象的内存使用 102
4.4 Java互操作性 103
4.5 Scala隐式的使用 104
4.6 本章小结 108
第5章 狙击大数据——Spark加入战团 109
5.1 数据分析简介 109
5.2 大数据简介 114
5.3 使用Apache Hadoop进行分布式计算 116
5.3.1 Hadoop分布式文件系统(HDFS) 117
5.3.2 MapReduce框架 122
5.4 Apache Spark驾到 125
5.5 本章小结 131
第6章 开始使用Spark——REPL和RDD 132
6.1 深入理解Apache Spark 132
6.2 安装Apache Spark 136
6.3 RDD简介 142
6.4 使用Spark shell 147
6.5 action与transformation算子 150
6.6 缓存 162
6.7 加载和保存数据 165
6.7.1 加载数据 165
6.7.2 保存RDD 166
6.8 本章小结 166
第7章 特殊RDD操作 167
7.1 RDD的类型 167
7.2 聚合操作 178
7.3 分区与shuffle 187
7.3.1 分区器 188
7.3.2 shuffle 190
7.4 广播变量 193
7.5 累加器 196
7.6 本章小结 199
第8章 介绍一个小结构——Spark SQL 200
8.1 Spark SQL与数据帧 200
8.2 数据帧API与SQL API 203
8.3 聚合操作 214
8.4 连接 226
8.5 本章小结 237
第9章 让我流起来,Scotty——Spark Streaming 238
9.1 关于流的简要介绍 238
9.2 Spark Streaming 243
9.3 离散流 249
9.4 有状态/无状态转换 256
9.5 检查点 257
9.6 与流处理平台(Apache Kafka)的互操作 261
9.7 结构化流 265
9.8 本章小结 269
第10章 万物互联——GraphX 270
10.1 关于图论的简要介绍 270
10.2 GraphX 275
10.3 VertexRDD和EdgeRDD 277
10.4 图操作 280
10.5 Pregel API 284
10.6 PageRank 290
10.7 本章小结 291
第11章 掌握机器学习Spark MLlib
和ML 292
11.1 机器学习简介 292
11.2 Spark机器学习API 298
11.3 特征提取与转换 299
11.4 创建一个简单的pipeline 308
11.5 无监督机器学习 309
11.6 分类 314
11.7 本章小结 330
第12章 贝叶斯与朴素贝叶斯 332
12.1 多元分类 332

12.2 贝叶斯推理 338
12.3 朴素贝叶斯 339
12.4 决策树 349
12.5 本章小结 354
第13章 使用Spark MLlib对数据进行聚类分析 355
13.1 无监督学习 355
13.2 聚类技术 357
13.3 基于中心的聚类(CC) 358
13.4 分层聚类(HC) 366
13.5 基于分布的聚类(DC) 367
13.6 确定聚类的数量 372
13.7 聚类算法之间的比较分析 373
13.8 提交用于聚类分析的Spark作业 374
13.9 本章小结 374
第14章 使用Spark ML进行文本分析 376
14.1 理解文本分析 376
14.2 转换器与评估器 378
14.3 分词 381
14.4 StopWordsRemover 383
14.5 NGram 385
14.6 TF-IDF 386
14.7 Word2Vec 390
14.8 CountVectorizer 392
14.9 使用LDA进行主题建模 393
14.10 文本分类实现 395
14.11 本章小结 400
第15章 Spark调优 402
15.1 监控Spark作业 402
15.2 Spark配置 417
15.3 Spark应用开发中的常见错误 420
15.4 优化技术 425
15.5 本章小结 434
第16章 该聊聊集群了——在集群环境中部署Spark 435
16.1 集群中的Spark架构 435
16.2 在集群中部署Spark应用 444
16.3 本章小结 464
第17章 Spark测试与调试 465
17.1 在分布式环境中进行测试 465
17.2 测试Spark应用 468
17.3 调试Spark应用 483
17.4 本章小结 495
第18章 PySpark与SparkR 496
18.1 PySpark简介 496
18.2 安装及配置 497
18.3 SparkR简介 517
18.4 本章小结 527
第19章 高级机器学习最佳实践 529
19.1 机器学习最佳实践 529
19.2 ML模型的超参调整 536
19.3 一个Spark推荐系统 548
19.4 主题建模——文本聚类的最佳实践 555
19.5 本章小结 568
附录A 使用Alluxio加速Spark 569
附录B 利用Apache Zeppelin进行交互式数据分析 583
下载地址