网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | Scala和Spark大数据分析(函数式编程数据流和机器学习)/大数据应用与技术丛书 |
分类 | |
作者 | (德)雷扎尔·卡里姆//(美)斯里达尔·阿拉 |
出版社 | 清华大学出版社 |
下载 | ![]() |
简介 | 内容推荐 本书介绍Spark应用开发的面向对象和函数式编程概念,讨论RDD和DataFrame基本抽象,讲述如何使用SparkSQL、GraphX和Spark来开发可扩展的、容错的流式应用程序,很后介绍监控、配置、调试、测试和开发等不错主题。通过本书的学习,你将能使用SparkR和PySparkAPI开发Spark应用程序,使用Zeppelin进行交互式数据分析,使用Alluxio进行内存数据处理,将透彻理解Spark,并能对海量数据执行全栈数据分析,很终成为数据科学家。 目录 章Scala简介1 1.1Scala的历史与设计目标2 1.2平台与编辑器2 1.3安装与创建Scala3 1.3.1安装Java3 1.3.2Windows4 1.3.3macOS6 1.4Scala:可扩展的编程语言9 1.4.1Scala是面向对象的9 1.4.2Scala是函数式的9 1.4.3Scala是静态类型的9 1.4.4在JVM上运行Scala10 1.4.5Scala可以执行Java代码10 1.4.6Scala可以完成并发与同步处理10 1.5面向Java编程人员的Scala10 1.5.1一切类型都是对象10 1.5.2类型推导11 1.5.3ScalaREPL11 1.5.4嵌套函数13 1.5.5导入语句13 1.5.6作为方法的操作符14 1.5.7方法与参数列表15 1.5.8方法内部的方法15 1.5.9Scala中的构造器16 1.5.10代替静态方法的对象16 1.5.11特质17 1.6面向初学者的Scala19 1.6.1你的行代码20 1.6.2交互式运行Scala!21 1.6.3编译21 1.7本章小结22 第2章面向对象的Scala23 2.1Scala中的变量24 2.1.1引用与值不可变性25 2.1.2Scala中的数据类型26 2.2Scala中的方法、类和对象28 2.2.1Scala中的方法28 2.2.2Scala中的类30 2.2.3Scala中的对象30 2.3包与包对象41 2.4Java的互操作性42 2.5模式匹配43 2.6Scala中的隐式45 2.7Scala中的泛型46 2.8SBT与其他构建系统49 2.8.1使用SBT进行构建49 2.8.2Maven与Eclipse50 2.8.3Gradle与Eclipse51 2.9本章小结55 第3章函数式编程概念56 3.1函数式编程简介57 3.2面向数据科学家的函数式Scala59 3.3学习Spark为何要掌握函数式编程和Scala59 3.3.1为何是Spark?59 3.3.2Scala与Spark编程模型60 3.3.3Scala与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.1Scala中的故障与异常73 3.6.2抛出异常73 3.6.3使用try和catch捕获异常73 3.6.4finally74 3.6.5创建Either75 3.6.6Future76 3.6.7执行任务,而非代码块76 3.7函数式编程与数据可变性76 3.8本章小结77 第4章集合API78 4.1Scala集合API78 4.2类型与层次79 4.2.1Traversable79 4.2.2Iterable80 4.2.3Seq、LinearSeq和IndexedSeq80 4.2.4可变型与不可变型80 4.2.5Array82 4.2.6List85 4.2.7Set86 4.2.8Tuple88 4.2.9Map89 4.2.10Option91 4.2.11exists94 4.2.12forall96 4.2.13filter96 4.2.14map97 4.2.15take97 4.2.16groupBy98 4.2.17init98 4.2.18drop98 4.2.19takeWhile98 4.2.20dropWhile99 4.2.21flatMap99 4.3性能特征100 4.3.1集合对象的性能特征100 4.3.2集合对象的内存使用102 4.4Java互操作性103 4.5Scala隐式的使用104 4.6本章小结108 第5章狙击大数据——Spark加入战团109 5.1数据分析简介109 5.2大数据简介114 5.3使用ApacheHadoop进行分布式计算116 5.3.1Hadoop分布式文件系统(HDFS)117 5.3.2MapReduce框架122 5.4ApacheSpark驾到125 5.4.1Sparkcore128 5.4.2SparkSQL128 5.4.3SparkStreaming128 5.4.4SparkGraphX129 5.4.5SparkML129 5.4.6PySpark130 5.4.7SparkR130 5.5本章小结131 第6章开始使用Spark——REPL和RDD132 6.1深入理解ApacheSpark132 6.2安装ApacheSpark136 6.2.1Spark独立服务器模式136 6.2.2基于YARN的Spark140 6.2.3基于Mesos的Spark142 6.3RDD简介142 6.4使用Sparkshell147 6.5action与transformation算子150 6.5.1transformation算子151 6.5.2action算子158 6.6缓存162 6.7加载和保存数据165 6.7.1加载数据165 6.7.2保存RDD166 6.8本章小结166 第7章特殊RDD操作167 7.1RDD的类型167 7.1.1pairRDD170 7.1.2DoubleRDD171 7.1.3SequenceFileRDD172 7.1.4CoGroupedRDD173 7.1.5ShuffledRDD174 7.1.6UnionRDD175 7.1.7HadoopRDD177 7.1.8NewHadoopRDD177 7.2聚合操作178 7.2.1groupByKey180 7.2.2reduceByKey181 7.2.3aggregateByKey182 7.2.4combineByKey182 7.2.5groupByKey、reduceByKey、combineByKey和aggregateByKey之间的对比184 7.3分区与shuffle187 7.3.1分区器188 7.3.2shuffle190 7.4广播变量193 7.4.1创建广播变量194 7.4.2移除广播变量195 7.4.3销毁广播变量195 7.5累加器196 7.6本章小结199 第8章介绍一个小结构——SparkSQL200 8.1SparkSQL与数据帧200 8.2数据帧API与SQLAPI203 8.2.1pivot208 8.2.2filter208 8.2.3用户自定义函数(UDF)209 8.2.4结构化数据210 8.2.5加载和保存数据集213 8.3聚合操作214 8.3.1聚合函数215 8.3.2groupBy222 8.3.3rollup223 8.3.4cube223 8.3.5窗口函数224 8.4连接226 8.4.1内连接工作机制228 8.4.2广播连接229 8.4.3连接类型229 8.4.4连接的性能启示236 8.5本章小结237 第9章让我流起来,Scotty——SparkStreaming238 9.1关于流的简要介绍238 9.1.1至少处理一次240 9.1.2至多处理一次241 9.1.3精确处理一次242 9.2SparkStreaming243 9.2.1StreamingContext245 9.2.2输入流246 9.2.3textFileStream样例247 9.2.4twitterStream样例248 9.3离散流249 9.3.1转换251 9.3.2窗口操作253 9.4有状态/无状态转换256 9.4.1无状态转换256 9.4.2有状态转换257 9.5检查点257 9.5.1元数据检查点258 9.5.2数据检查点259 9.5.3driver故障恢复259 9.6与流处理平台(ApacheKafka)的互操作261 9.6.1基于接收器的方法261 9.6.2direct流262 9.6.3结构化流示例264 9.7结构化流265 9.7.1处理事件时间(event-time)和延迟数据268 9.7.2容错语义269 9.8本章小结269 0章万物互联——GraphX270 10.1关于图论的简要介绍270 10.2GraphX275 10.3VertexRDD和EdgeRDD277 10.3.1VertexRDD277 10.3.2EdgeRDD278 10.4图操作280 10.4.1filter281 10.4.2mapValues281 10.4.3aggregateMessages282 10.4.4triangleCount282 10.5PregelAPI284 10.5.1connectedComponents284 10.5.2旅行商问题(TSP)285 10.5.3最短路径286 10.6PageRank290 10.7本章小结291 1章掌握机器学习SparkMLlib和ML292 11.1机器学习简介292 11.1.1典型的机器学习工作流293 11.1.2机器学习任务294 11.2Spark机器学习API298 11.3特征提取与转换299 11.3.1CountVectorizer301 11.3.2Tokenizer302 11.3.3StopWordsRemover304 11.3.4StringIndexer304 11.3.5OneHotEncoder305 11.3.6SparkMLpipeline306 11.4创建一个简单的pipeline308 11.5无监督机器学习309 11.5.1降维309 11.5.2PCA309 11.6分类314 11.6.1性能度量314 11.6.2使用逻辑回归的多元分类324 11.6.3使用随机森林提升分类精度327 11.7本章小结330 2章贝叶斯与朴素贝叶斯332 12.1多元分类332 12.1.1将多元分类转换为二元分类333 12.1.2层次分类338 12.1.3从二元分类进行扩展338 12.2贝叶斯推理338 12.3朴素贝叶斯339 12.3.1贝叶斯理论概述340 12.3.2贝叶斯与朴素贝叶斯341 12.3.3使用朴素贝叶斯建立一个可扩展的分类器341 12.4决策树349 12.5本章小结354 3章使用SparkMLlib对数据进行聚类分析355 13.1无监督学习355 13.2聚类技术357 13.3基于中心的聚类(CC)358 13.3.1CC算法面临的挑战358 13.3.2K-均值算法是如何工作的358 13.4分层聚类(HC)366 13.5基于分布的聚类(DC)367 13.6确定聚类的数量372 13.7聚类算法之间的比较分析373 13.8提交用于聚类分析的Spark作业374 13.9本章小结374 4章使用SparkML进行文本分析376 14.1理解文本分析376 14.2转换器与评估器378 14.2.1标准转换器378 14.2.2评估转换器379 14.3分词381 14.4StopWordsRemover383 14.5NGram385 14.6TF-IDF386 14.6.1HashingTF387 14.6.2逆文档频率(IDF)388 14.7Word2Vec390 14.8CountVectorizer392 14.9使用LDA进行主题建模393 14.10文本分类实现395 14.11本章小结400 5章Spark调优402 15.1监控Spark作业402 15.1.1SparkWeb接口402 15.1.2使用WebUI实现Spark应用的可视化412 15.2Spark配置417 15.2.1Spark属性418 15.2.2环境变量419 15.2.3日志420 15.3Spark应用开发中的常见错误420 15.4优化技术425 15.4.1数据序列化425 15.4.2内存优化428 15.5本章小结434 6章该聊聊集群了——在集群环境中部署Spark435 16.1集群中的Spark架构435 16.1.1Spark生态简述436 16.1.2集群设计437 16.1.3集群管理440 16.2在集群中部署Spark应用444 16.2.1提交Spark作业445 16.2.2HadoopYARN450 16.2.3ApacheMesos457 16.2.4在AWS上部署459 16.3本章小结464 7章Spark测试与调试465 17.1在分布式环境中进行测试465 17.2测试Spark应用468 17.2.1测试Scala方法468 17.2.2单元测试472 17.2.3测试Spark应用473 17.2.4在Windows环境配置Hadoop运行时481 17.3调试Spark应用483 17.3.1使用Sparkrecap的log4j进行日志记录483 17.3.2调试Spark应用488 17.4本章小结495 8章PySpark与SparkR496 18.1PySpark简介496 18.2安装及配置497 18.2.1设置SPARK_HOME497 18.2.2在PythonIDE中设置PySpark498 18.2.3开始使用PySpark501 18.2.4使用数据帧和RDD502 18.2.5在PySpark中编写UDF506 18.2.6使用K-均值聚类算法进行分析511 18.3SparkR简介517 18.3.1为何是SparkR517 18.3.2安装与配置518 18.3.3开始使用SparkR519 18.3.4使用外部数据源API520 18.3.5数据操作521 18.3.6查询SparkR数据帧523 18.3.7在RStudio中可视化数据525 18.4本章小结527 9章不错机器学习最佳实践529 19.1机器学习最佳实践529 19.1.1过拟合与欠拟合530 19.1.2SparkMLlib与SparkML调优531 19.1.3为应用选择合适的算法532 19.1.4选择算法时的考量533 19.1.5选择算法时先检查数据534 19.2ML模型的超参调整536 19.2.1超参调整536 19.2.2网格搜索参数调整537 19.2.3交叉检验538 19.2.4信用风险分析——一个超参调整的例子539 19.3一个Spark推荐系统548 19.4主题建模——文本聚类的最佳实践555 19.4.1LDA是如何工作的?555 19.4.2基于SparkMLlib的主题建模557 19.5本章小结568 附录A使用Alluxio加速Spark569 附录B利用ApacheZeppelin进行交互式数据分析583 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。