本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | Scala和Spark大数据分析:函数式编程、数据流和机器学 |
作者: | 雷扎尔·卡里姆 |
定价: | 158.0 |
出版社: | 清华大学出版社 |
出版日期: | 2020-06-01 |
ISBN: | 9787302551966 |
印次: | 1 |
版次: | 1 |
装帧: | |
开本: | 24开 |
内容简介 | |
本书介绍Spark应用开发的面向对象和函数式编程概念,讨论RDD和DataFrame基本抽象,讲述如何使用SparkSQL、GraphX和Spark来开发可扩展的、容错的流式应用程序,很后介绍监控、配置、调试、测试和开发等不错主题。通过本书的学将能使用SparkR和PySparkAPI开发Spark应用程序,使用Zeppeli行交互式数据分析,使用Alluxi行内存数据处理,将透彻理解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 使用SB行构建 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 学ark为何要掌握函数式编程和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 Hadoo行分布式计算 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章 掌握机器学ark MLlib 和ML 292 11.1 机器学 292 11.2 Spark机器学I 298 11.3 特征提取与转换 299 11.4 创建一个简单的pipeline 308 11.5 无监督机器学09 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 无监督学55 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 M行文本分析 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 使用LD行主题建模 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 Zeppeli行交互式数据分析 583 |
编辑推荐 | |
年来,Scala得以迅速流行,在数据科学和分析领域势头更盛。基于Scala的Spark被广泛应用于生产环境,海量数据的分析可瞬间完成!本书全面系统地介绍Spark应用开发的面向对象和函数式编程概念,指导你用Scala编写强大的Spark程序。本书瞄准很前沿的技术,包含Spark SQL、结构流、graphX和Spark MLib等所有API。本书面向想利用Scala和Spark执行数据分析的人士。? 本书包含大量精妙的、紧贴实用的大数据分析问题,并说明如何使用Hadoop生态系统上的Scala解决这些问题。? 一本十分有用的大块头书籍,它呈现概念,并透彻地讲述如何实现概念。? 本书内容丰富,讨论了PySpark、SparkR、Alixuio和Zeppelin,包罗一切。? 学数式编程和面向对象概念融为一体的精妙Scala类型系统。? 处理大范围的应用,从简单的批处理、流处理乃至机器学分析很常见的用例和一些复杂用例,使用Spark执行大规模数据分析" |
媒体评论 | |
技术含量极高的书籍!——Amazon Customer 一本宝典!买了本书,到此刻已经品读过一些章节,并大致浏览了其他章节。本书包罗了学ark大数据分析所需的一切知识,详细介绍Scala编程、Spark基本作、多种机器学(分类、回归、聚类、系统 、NLP、图形分析、结构化流,当然还有Spark的其他一些主题,如调优、调试和集群部署。 有趣的是,它还讨论了PySpark、SparkR、Alluxio和Zeppelin。总之,它包含我数月来一直在寻找的一切知识要点,堪称我的良师益友。 重量级作品!——Md Ashiqur Rahman 这是一本书籍,可引导你使用Scala和Spark开发出实用的数据处理应用程序。本书介绍的技术都是更新的,涵盖所有API,如Spark SQL、结构化流、GraphX和Spark MLlib等。 Spark ML更佳读物!——Ariel Herrera 本书细腻地阐释每个概念,列举丰富的示例,启发性强,令我爱不释手。这是一本大部头书籍,内容精辟,足以满足你的学,你可根据自己的需要按任意顺序阅读。 如果你是Java领域的程序员,我强烈向你本书!——Amazon Customer 我是一名Scala爱好者,也是专业的Java程序员,目前正在开发一个大数据栈项目。我已经读完了整本书。如果你也在开发Java项目,想用函数方式编写Java代码来解决大数据问题,我向你强烈本书。Scala极大地简化了Spark处理,阅读本书,你将汲取大量Scala和Spark知识营养。本书的讲解细致入微,点明很多至关重要、紧贴实用的大数据分析问题,也指出如何在Hadoop生态系统中用Scala轻松地解决这些问题。本书不仅介绍概念,还具体阐述如何实现这些概念,可谓字字珠玑。两位作者匠心,感谢他们付出的辛勤劳动,感谢他们为广大读者奉献了这本精品书籍。 |