SPARK大数据分析:源码解析与实例详解pdf下载pdf下载

SPARK大数据分析:源码解析与实例详解百度网盘pdf下载

作者:刘景泽
简介:本篇主要提供SPARK大数据分析:源码解析与实例详解pdf下载
出版社:电子工业出版社
出版时间:2019-07-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:刘景泽 著

定  价:89

出 版 社:电子工业出版社

出版日期:2019年07月01日

页  数:436

装  帧:简装

ISBN:9787121370519

主编推荐

"我看程序员都是在实践中学习,是先有一个什么需求,现用现学。 ——万维纲 人们学习一个编程就是应该在“在解决问题中来学习”。 这本书正是践行这样的规律。 我们认为:具体的,总比抽象的更好理解 我们认为:动手做出的,总是听说的要真实 我们认为:人的认知就应该是从具体到抽象,再从抽象到具体。从抽象到抽象都是不负责的。 我们认为:读者是有感悟力的,只是缺少行动的抓手。 我们认为:买一本书终就是应该带你做出真实有用的,否则就是耍流氓。 希望您可以认真阅读本书的目录,给你一个不一等

目录

=篇  准备 - 章  认识大数据和Spark2 1.1  大数据的介绍2 1.2  Apache Spark能做什么3 1.3  其他分布式数据处理框架4 1.4  如何使用本书4 ?1.4.1  需要提前具备的基础4 ?1.4.2  准备相关开发环境4 ?1.4.3  如何学习本书5 - 第2章  安装与配置Spark集群6 2.1  下载Spark安装包6 2.2  检查与准备集群环境7 2.3  了解目前集群中已经部署的框架服务11 2.4  部署Spark集群12 ?2.4.1  实例1:基于Standalone模式部署Spark集群12 ?2.4.2  实例2:部署Spark的历史服务――Spark History Server16 ?2.4.3  实例3:基于Standalone模式部署高可用的Master服务18 ?2.4.4  实例4:基于YARN模式部署Spark集群20 ?2.4.5  Standalone模式与YARN模式的特点22 2.5  本章小结23 - 第3章  个Spark程序24 3.1  运行个Spark程序24 ?3.1.1  实例5:基于Standalone模式运行个Spark程序24 ?3.1.2  实例6:基于YARN模式运行个Spark程序27 ?3.1.3  提交Spark程序时的参数规范30 3.2  使用spark-shell编写并运行WordCount程序30 ?3.2.1  实例7:启动spark-shell31 ?3.2.2  实例8:在spark-shell中编写WordCount程序32 3.3  使用IDEA编写并运行WordCount程序34 ?3.3.1  实例9:准备开发环境,并构建代码工程34 ?3.3.2  实例10:使用IDEA编写WordCount程序41 ?3.3.3  实例11:在IDEA中本地运行WordCount程序44 ?3.3.4  实例12:在IDEA中远程运行WordCount程序46 ?3.3.5  实例13:打包程序,并提交至集群运行48 3.4  本章小结49 = 第2篇  入门 - 第4章  读写分布式数据――基于Spark Core52 4.1  RDD的诞生52 4.2  进一步理解RDD53 ?4.2.1  数据存储53 ?4.2.2  数据分析55 ?4.2.3  程序调度5.3  读取数据并生成RDD57 ?4.3.1  实例14:读取普通文本数据58 ?4.3.2  实例15:读取JSON格式的数据59 ?4.3.3  实例16:读取CSV、TSV格式的数据61 ?4.3.4  实例17:读取SequenceFile格式的数据62 ?4.3.5  实例18:读取Object格式的数据 ?4.3.6  实例19:读取HDFS中的数据――显式调用Hadoop API66 ?4.3.7  实例20:读取MySQL数据库中的数据68 4.4  保存RDD中的数据到外部存储70 ?4.4.1  实例21:保存成普通文本文件70 ?4.4.2  实例22:保存成JSON文件71 ?4.4.3  实例23:保存成CSV、TSV文件73 ?4.4.4  实例24:保存成SequenceFile文件74 ?4.4.5  实例25:保存成Object文件75 ?4.4.6  实例26:保存成HDFS文件――显式调用Hadoop API的方式76 ?4.4.7  实例27:写入MySQL数据库78 4.5  本章小结80 - 第5章  处理分布式数据――基于Spark Core81 5.1  RDD的转换(transformations)操作――转换数据形态81 ?5.1.1  实例28:基础转换操作81 ?5.1.2  实例29:键值对转换操作103 5.2  RDD的行动(actions)操作――触发执行任务计划115 ?5.2.1  实例30:基础行动操作116 ?5.2.2  实例31:键值对行动操作125 ?5.2.3  实例32:数值行动操作127 5.3  本章小结128 = 第3篇  进阶 - 第6章  RDD的不错操作130 6.1  缓存RDD130 ?6.1.1  缓存RDD的基础知识130 ?6.1.2  实例33:缓存与释放RDD133 6.2  RDD的检查点(Checkpoint)机制139 ?6.2.1  了解Checkpoint机制139 ?6.2.2  实例34:使用Checkpoint机制141 ?6.2.3  Checkpoint机制的工作流程144 6.3  RDD的依赖关系145 ?6.3.1  窄依赖(narrow dependencies)145 ?6.3.2  宽依赖(wide/shuffle dependencies)148 ?6.3.3  实例35:让子RDD混合依赖依赖多个父RDD151 ?6.3.4  实例36:词频统计――总结运算过程涉及的概念153  累加器(Acculator)155 ?.1  认识累加器155 ?.2  实例37:使用系统累加器1――长整数、双精度浮点数累加器156 ?.3  实例38:使用系统累加器2――集合累加器159 ?.4  实例39:自定义累加器160 6.5  广播(Broadcast)――将数据块缓存到所有节点1 ?6.5.1  认识广播165 ?6.5.2  实例40:使用广播补全数据165 6.6  本章小结168 - 第7章  用SQL语法分析结构化数据――基于Spark SQL169 7.1  为什么会产生Spark SQL169 7.2  认识DataFrame与Dataset数据类型170 ?7.2.1  认识DataFrame170 ?7.2.2  认识Dataset171 7.3  实例41:通过Dataset、DataFrame分析用户数据172 ?7.3.1  用spark-shell编写程序172 ?7.3.2  用IDEA编写程序175 7.4  不同Spark版本的操作差异177 ?7.4.1  认识SQLContext与HiveContext178 ?7.4.2  认识SparkSession178 7.5  DataFrame、Dataset的基本操作179 ?7.5.1  DSL与SQL的语法风格179 ?7.5.2  使用临时视图的注意事项181 ?7.5.3  实例42:读取JSON、CSV格式的数据183 ?7.5.4  实例43:读取Parquet格式的数据185 ?7.5.5  实例44:读取代码中动态生成的数据185 ?7.5.6  实例45:读取关系型数据库中的数据188 ?7.5.7  实例46:输出Dataset、DataFrame中的数据189 ?7.5.8  实例47:RDD、DataFrame、Dataset之间的相互转换192 7.6  用户自定义函数195 ?7.6.1  实例48:实现“一进一出”的UDF195 ?7.6.2  实例49:实现“多进一出”的UDAF198 ?7.6.3  实例50:实现“一进多出”的UDTF208 7.7  集成Spark SQL与Hive211 ?7.7.1  已经部署Hive框架211 ?7.7.2  尚未部署Hive框架215 7.8  本章小结215 - 第8章  实时处理流式数据――基于Spark Streaming216 8.1  为什么会产生Spark Streaming216 8.2  个Spark Streaming程序216 ?8.2.1  实例51:用spark-shell编写程序216 ?8.2.2  实例52:用IDEA编写程序221 8.3  什么是DStream222 ?8.3.1  认识DStream222 ?8.3.2  认识DStreamGraph223 8.4  读取数据到DStream中227 ?8.4.1  实例53:读取HDFS文件夹中的数据227 ?8.4.2  实例54:读取RDD组成的数据队列229 ?8.4.3  实例55:实时读取Flume中的数据230 ?8.4.4  实例56:用高阶API实时读取Kafka中的数据235 ?8.4.5  实例57:用低阶API实时读取Kafka中的数据242 8.5  Spark Streaming中的几个时间概念251 ?8.5.1  批处理间隔251 ?8.5.2  窗口时间宽度与滑动时间宽度252 ?8.5.3  实例58:使用窗口操作,每两秒钟统计10秒内的平均温度254 8.6  DStream的操作总结259 ?8.6.1  DStream的操作说明259 ?8.6.2  实例59:直接面向DStream中的RDD进行数据分析261 ?8.6.3  实例60:将DStream中的数据实时输出至外部存储系统263 ?8.  实例61:对Dstream进行join操作267 8.7  DStream中的转换分类269 ?8.7.1  无状态转换269 ?8.7.2  有状态转换270 ?8.7.3  实例:用有状态转换做全局词频统计270 8.8  在Spark Streaming中的缓存与Checkpoint272 ?8.8.1  认识Spark Streaming中的Checkpoint273 ?8.8.2  实例62:使用Spark Streaming中的Checkpoint273 8.9  Spark Streaming中的累加器与广播变量276 ?8.9.1  认识累加器与广播变量276 ?8.9.2  实例63:自定义累加器,并结合无状态转换,实现实时的全局词频统计276 8.10  关闭Spark Streaming程序280 ?8.10.1  关闭程序的方案281 ?8.10.2  实例:合理关闭一个运行中的Spark Streaming程序281 8.11  本章小结284 = 第4篇  高阶 - 第9章  实时处理流式数据――基于Structured Streaming286 9.1  为什么会产生Structured Streaming286 9.2  个Structured Streaming程序287 ?9.2.1  实例65:用spark-shell编写程序287 ?9.2.2  实例66:用IDEA编写程序289 9.3  Structured Streaming的编程模型291 9.4  输入数据――生成Streaming Dataset、 Streaming DataFrame292 ?9.4.1  实例67:根据文件生成工作流292 ?9.4.2  实例68:根据文件、文件夹生成自动分区的工作流295 ?9.4.3  实例69:根据Kafka以Streaming模式生成工作流297 ?9.4.4  实例70:以Kafka为数据源,通过Batch方式生成工作流300 ?9.4.5  实例71:根据指定速率生成工作流304 9.5  基于事件时间的窗口操作305 ?9.5.1  事件时间窗口的工作方式305 ?9.5.2  实例72:事件时间窗口的生成规则307 ?9.5.3  实例73:基于事件时间窗口实现词频统计311 9.6  基于Watermark处理延迟数据314 ?9.6.1  Watermark的作用314 ?9.6.2  实例74:基于Update模式实现词频统计,并结合Watermark处理延迟数据314 ?9.6.3  实例75:基于Append模式实现词频统计,并结合Watermark处理延迟数据320 ?9.  Watermark的底层工作原理322 ?9.6.5  总结:Watermark机制与输出模式329 9.7  实例76:在处理流式数据时去除重复数据330 9.8  Structured Streaming中的join操作332 ?9.8.1  实例77:在Stream-Static模式下的inner join操作333 ?9.8.2  实例78:在Stream-Stream模式下的inner join操作335 ?9.8.3  总结:已经支持的join操作340 9.9  在Structured Streaming中实现数据分组, 并手动维护分组状态341 ?9.9.1  实例79:通过mapGroupsWithState实现数据分组,并手动维护分组状态341 ?9.9.2  实例80:通过flatMapGroupsWithState实现数据分组,并手动维护分组状态347 ?9.9.3  总结:手动维护状态与Watermark的使用技巧352 9.10  输出分析结果353 ?9.10.1  输出模式(Output Mode)的使用场景353 ?9.10.2  实例81:基于File Sink输出数据354 ?9.10.3  实例82:基于Kafka Sink,以Streaming方式输出数据356 ?9.10.4  实例83:基于Kafka Sink,以Batch方式输出数据358 ?9.10.5  实例84:基于Console Sink输出数据360 ?9.10.6  实例85:基于Memory Sink输出数据360 ?9.10.7  实例86:基于Foreach Sink输出数据362 ?9.10.8  实例87:基于ForeachBatch Sink输出数据367 ?9.10.9  总结:不同Sink所适用的输出模式369 9.11  Trigger触发器的分类370 9.12  管理与监控工作流370 ?9.12.1  管理工作流370 ?9.12.2  监控工作流372 9.13  Structured Streaming中的Checkpoint机制372 9.14  连续处理模式――Continuous Processing373 9.15  本章小结374 - 0章  Spark的相关优化375 10.1  优化Spark程序375 ?10.1.1  实例88:尽可能减少或避免出现Shuffle过程375 ?10.1.2  实例89:使用Kryo作为序列化方案377 ?10.1.3  尽可能批量操作数据381 ?10.1.4  合理设置分区数381 ?10.1.5  合理设置批处理间隔381 10.2  优化数据382 ?10.2.1  关于数据倾斜382 ?10.2.2  实例90:使用自定义Partitioner缓解数据倾斜383 ?10.2.3  关于数据补全387 10.3  调优资源388 10.4  本章小结390 = 第5篇  商业项目实战 - 1章  实战:学生学习情况分析系统392 11.1  项目概述392 ?11.1.1  业务背景392 ?11.1.2  划分业务模块392 11.2  开发环境说明393 11.3  项目实现394 ?11.3.1  构建工程394 ?11.3.2  模拟数据395 ?11.3.3  实时发送数据到Kafka399 ?11.3.4  实时分析平台答题数据402 ?11.3.5  构建推荐模型405 ?11.3.6  实时推荐题目411 ?11.3.7  离线学情分析415 11.4  本章小结422

内容简介

讲解了网络大数据时代应运而生的、能高效迅捷地分析处理数据的工具――Spark,它带领读者快速掌握用 Spark 收集、计算、简化和保存海量数据的方法,学会交互、迭代和增量式分析,解决分区、数据本地化和自定义序列化等问题。

作者简介

刘景泽 著

"刘景泽 全栈工程师,长期从事大数据的研发工作,拥有丰富的大数据开发经验。 曾担任多家企的主力研发,并负责大数据云服务组件开发。 精通Java、Scala、Python等多种编程语言,擅长大数据生态圈的研发、算法、逆向工程等技术。 为多家企业提供技术支持,并长期面向企业一线开发人员分享实战经验。 "