深度学习
Spark大数据处理:技术、应用与性能优化 (大数据技术丛书)-高彦杰 著
书名:Spark大数据处理:技术、应用与性能优化 (大数据技术丛书)
作者:高彦杰 著
格式:EPUB, HTMLZ, PDF
路径:点击打开
出版:机械工业出版社
排序作者:著, 高彦杰
排序书名:Spark大数据处理:技术、应用与性能优化 (大数据技术丛书)
日期:08 12月 2018
uuid:123a7f13-df31-46b3-acd4-c5aa399cf144
id:496
出版日期:11月 2014
修改日期:08 12月 2018
大小:7.13MB
语言:中文
1.6 本章小结
本章首先介绍了Spark分布式计算平台和BDAS。BDAS的核心框架Spark为用户提供了系统底层细节透明、编程接口简洁的分布式计算平台。Spark具有计算速度快、实时性高、容错性好等突出特点。基于Spark的应用已经逐步落地,尤其是在互联网领域,如淘宝、腾讯、网易等公司的发展已经成熟。同时电信、银行等传统行也开始逐步试水Spark并取得了较好效果。本章也对Spark的基本情况、架构、运行逻辑等进行了介绍。最后介绍了Spark在工业界的应用,读者可以看到Spark的蓬勃发展以及在大数据分析平台中所处的位置及重要性。
读者通过本章可以初步认识和理解Spark,更为底层的细节将在后续章节详细阐述。
相信读者已经想搭建自己的Spark集群环境一探究竟了,接下来将介绍Spark的安装与配置。
2.3 本章小结
本章主要介绍了如何在Linux和Windows环境下安装部署Spark集群。
由于Spark主要使用HDFS充当持久化层,所以完整地使用Spark需要预先安装Hadoop。通过本章介绍,读者就可以开启Spark的实战之旅了。
下一章将介绍Spark的计算模型,Spark将分布式的内存数据抽象为弹性分布式数据集(RDD),并在其上实现了丰富的算子,从而对RDD进行计算,最后将算子序列转化为有向无环图进行执行和调度。
3.4 本章小结
本章主要介绍了Spark的计算模型,Spark将应用程序整体翻译为一个有向无环图进行调度和执行。相比MapReduce,Spark提供了更加优化和复杂的执行流。
读者还可以深入了解Spark的运行机制与Spark算子,这样能更加直观地了解API的使用。Spark提供了更加丰富的函数式算子,这样就为Spark上层组件的开发奠定了坚实的基础。
通过阅读本章,读者可以对Spark计算模型进行更为宏观的把握。相信读者还想对Spark内部执行机制进行更深入的了解,下面章节就对Spark的内核进行更深入的剖析。
4.7 本章小结
本章介绍了Spark的内部运行机制。主要介绍了Spark的执行机制和调度机制,包括调度与任务分配机制、I/O机制、通信机制、容错机制和Shuffle机制。Spark在执行过程中由Driver控制应用生命周期。调度中,Spark采用了经典的FIFO和FAIR等调度算法对内部的资源实现不同级别的调度。在Spark的I/O中,将数据抽象以块为单位进行管理,RDD中的一个分区就是需要处理的一个块。集群中的通信对于命令和状态的传递极为重要,Spark通过AKKA框架进行集群消息通信。Spark通过Lineage和Checkpoint机制进行容错性保证,Lineage进行重算操作,Checkpoint进行数据冗余备份。最后介绍了Spark中的Shuffle机制,Spark也借鉴了MapReduce模型,但是其Shuffle机制进行了创新与优化。通过阅读本章,读者可以深入了解Spark的内部原理,这对上层应用开发与性能调优是十分重要的。
介绍完Spark内部的执行执行机制,相信读者已经跃跃欲试,希望开发自己的Spark程序,下面章节将引导读者配置Spark开发环境,然后介绍Spark的编程实战。
5.5 本章小结
本章主要介绍了Spark应用程序的开发流程以及如何编译和调试Spark程序。用户可以选用能够很好支持Scala项目的Intellij IDE。如果之前经常使用Eclipse开发Java程序,也可以在Eclipse中安装Scala IDE插件,开发与调试Spark程序。由于Spark项目基于SBT构建,用户可以创建SBT项目,开发应用。在应用的开发过程中,需要进行调试诊断问题。在本章最后部分介绍的远程调试方法可以很好地帮助用户调试Spark程序。
通过本章的介绍,读者可以搭建Spark开发环境,下面将通过Spark编程实战进入Spark程序的开发之旅。
6.8 本章小结
通过本章的介绍,相信读者已经可以独立编写Spark用例了。Spark使用Scala书写,不熟悉的读者可以预先学习Scala语法,这样编写Spark程序才会游刃有余。
WordCount是大数据程序的入门程序,程序虽然简单,但其中的程序并行化思想很值得借鉴。连接示例,让读者可以进一步了解如何进行数据统计,Top K,倒排索引,查找中位数、倾斜连接。最后介绍的股票趋势预测应用较为复杂,但是通过整个架构可以体会Spark是如何处理实际问题的。
读者对Spark编程有了一定的基础之后,需要使用Benchmark对应用进行基准测试,进而调整算法。需要进行系统选型时,也需要使用Benchmark进行性能评测。下面将对大数据领域的Benchmark进行全景介绍,读者可以通过大数据Benchmark进行Spark系统或应用的基准测试。
7.4 本章小结
本章主要介绍了大数据Benchmark,包括Benchmark的原理和常用Benchmark的使用。
Benchmark标准尚未形成统一,但一些Benchmark已经崭露头角。用户可以根据系统需求有针对性地选用。Benchmark包含三大组件,读者通过了解三大组件可以理解Benchmark的原理和作用。
最后本章介绍了Hibench、BigDataBench、TPC-DS这三个广泛使用的Benchmark的使用方法,读者可以采用需要的Benchmark进行实践。
相信通过之前几章的介绍,读者已经对Spark有了一定程度的了解。Spark发展得如火如荼发展的一个重要原因就是生态系统的完善,下面通过介绍BDAS的主要组件,使读者全面了解Spark生态系统。
8.5 本章小结
本章主要介绍了BDAS中广泛应用的几个数据分析组件。SQL on Spark提供在Spark上的SQL查询功能,让用户可以基于内存计算和SQL进行大数据分析。通过Spark Streaming,用户可以构建实时流处理应用,高吞吐量,以及适合历史和实时数据混合分析的特性,使Spark Streaming在流数据处理框架中突出重围。GraphX充当Spark生态系统中图计算的角色,其简洁的API使图处理算法的书写更加便捷。最后介绍了MLlib,Spark上的机器学习库。它充分利用Spark内存计算和适合迭代的特性,使分布式系统与并行机器学习算法完美结合。相信随着Spark生态系统的日臻完善,这些组件还会长足发展。
最后一章将介绍Spark的性能调优,在实战中如何让Spark运行得更快,更节省资源,是系统开发者追求的目标9.3 本章小结
本章主要介绍了Spark程序的性能调优。在应用开发中首先应该是能够让程序运行,第二步才是在静态代码或者运行程序中诊断性能瓶颈,查找造成性能问题的代码或配置项,然后通过性能调优的原则指导Spark的调优,优化改进代码和配置项。过早的优化是万恶之源,在不恰当的时间进行优化会增加程序复杂性以及延缓开发周期。同时我们也看到大数据系统软件栈多,集群环境复杂,需要考虑更多的因素进行性能调优,这是挑战,同时也是机遇。
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=1137
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区