×
大数据应用与技术丛书Scala和Spark大数据分析.函数式编程.数据流和机器学习

大数据应用与技术丛书Scala和Spark大数据分析.函数式编程.数据流和机器学习

1星价 ¥113.8 (7.2折)
2星价¥113.8 定价¥158.0
暂无评论
图文详情
  • ISBN:9787302551966
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:624
  • 出版时间:2020-06-01
  • 条形码:9787302551966 ; 978-7-302-55196-6

本书特色

近年来,Scala得以迅速流行,在数据科学和分析领域势头更盛。基于Scala的Spark被广泛应用于生产环境,海量数据的分析可瞬间完成!本书全面系统地介绍Spark应用开发的面向对象和函数式编程概念,指导你用Scala编写强大的Spark程序。本书瞄准*前沿的技术,包含Spark SQL、结构流、graphX和Spark MLib等所有API。本书面向想利用Scala和Spark执行数据分析的人士。 ? 本书包含大量精妙的、紧贴实用的大数据分析问题,并说明如何使用Hadoop生态系统上的Scala解决这些问题。 ? 一本十分有用的大块头书籍,它呈现概念,并透彻地讲述如何实现概念。 ? 本书内容丰富,讨论了PySpark、SparkR、Alixuio和Zeppelin,包罗一切。 ? 学习将函数式编程和面向对象概念融为一体的精妙Scala类型系统。 ? 处理大范围的应用,从简单的批处理、流处理乃至机器学习 ? 分析*常见的用例和一些复杂用例,使用Spark执行大规模数据分析

内容简介

本书介绍Spark应用开发的面向对象和函数式编程概念,讨论RDD和DataFrame基本抽象,讲述如何使用SparkSQL、GraphX和Spark来开发可扩展的、容错的流式应用程序,很后介绍监控、配置、调试、测试和开发等不错主题。通过本书的学习,你将能使用SparkR和PySpark API开发Spark应用程序,使用Zeppelin进行交互式数据分析,使用Alluxio进行内存数据处理,将透彻理解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



展开全部

作者简介

Md. Rezaul Karim 是德国Fraunhofer FIT的研究学者,也是德国亚琛工业大学的博士学位研究生预科生。他拥有计算机科学的学士与硕士学位。在加盟Fraunhofer FIT之前,他曾作为研究员任职于爱尔兰的数据分析深入研究中心。更早之前,他还担任过三星电子公司全球研究中心的首席工程师;该研究中心分布于韩国、印度、越南、土耳其以及孟加拉。再早之前,他还在韩国庆熙大学的数据库实验室担任过助理研究员,在韩国的BMTech21公司担任过研发工程师,在孟加拉国的i2软件技术公司担任过软件工程师。 Karim拥有超过8年的研发领域工作经验,并在如下算法和数据结构领域具有深厚的技术背景:C/C++、Java、Scala、R、Python、Docker、Mesos、Zeppelin、Hadoop以及MapReduce,并深入学习了如下技术:Spark、Kafka、DC/OS、DeepLearning4j以及H2O-Sparking Water。他的研究兴趣包括机器学习、深度学习、语义网络、关联数据(Linked Data)、大数据以及生物信息学。同时,他还是Packt出版社出版的以下两本书籍的作者: ● Large-Scale Machine Learning with Spark ● Deep Learning with TensorFlow Sridhar Alla是一位大数据专家,他曾帮助大大小小的诸多公司解决各种复杂的问题,例如数据仓库、数据治理、安全、实时数据处理、高频率的交易系统以及建立大规模的数据科学实践项目等。他也是敏捷技术的实践者,是一位获得认证的敏捷DevOps实践者和实施者。他在美国网域存储公司,以存储软件工程师的身份开始了自己的职业生涯。然后成为位于波士顿的eIQNetworks公司的CTO,该公司是一家网络安全公司。在他的履历表中,还包括曾担任位于费城的Comcast公司的数据科学与工程总监。他是很多会议或者活动(如Hadoop World、Spark峰会等)的热心参与者,在多项技术上提供面授/在线培训。他在美国商标专利局(US PTO)也有多项专利技术,内容涉及大规模计算与分布式系统等。他还持有印度尼赫鲁科技大学计算机科学方向的学士学位。目前,他和妻子居住在新泽西州。 Alla在Scala、Java、C、C++、Python、R以及Go语言上有超过18年的编程经验,他的技术研究范围也扩展到Spark、Hadoop、Cassandra、HBase、MongoDB、Riak、Redis、Zeppelin、Mesos、Docker、Kafka、ElasticSearch、Solr、H2O、机器学习、文本分析、分布式计算以及高性能计算等领域。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航