- 4
- 0
- 约1.22千字
- 约 7页
- 2021-11-25 发布于北京
- 举报
Spark从入门到精通Spark 2.0-高性能:让Spark作为编译器来运行讲师:中华石杉 (北风网版权所有)上海育创网络科技有限公司让Spark作为编译器来运行在一个2015年的spark调查中显示,91%的spark用户是因为spark的高性能才选择使用它的。所以spark的性能优化也就是社区的一个重要的努力方向了。spark 1.x相较于hadoop mapreduce来说,速度已经快了数倍了,但是spark 2.x中,还能不能相较于spark 1.x来说,速度再提升10倍呢?带着这个疑问,我们可以重新思考一下spark的物理执行机制。对于一个现代的大数据处理引擎来说,CPU的大部分时间都浪费在了一些无用的工作上,比如说virtual function call,或者从CPU缓冲区中读写数据。现代的编译器为了减少cpu浪费在上述工作的时间,付出了大量的努力。让Spark作为编译器来运行Spark 2.0的一个重大的特点就是搭载了最新的第二代tungsten引擎。第二代tungsten引擎吸取了现代编译器以及并行数据库的一些重要的思想,并且应用在了spark的运行机制中。其中一个核心的思想,就是在运行时动态地生成代码,在这些自动动态生成的代码中,可以将所有的操作都打包到一个函数中,这样就可以避免多次virtual function call,而且还可以通过cpu regis
原创力文档

文档评论(0)