记一次参加QCon全球软件开发大会

佳境Shmily 2019-10-21 19:59:50
技术

QCon全球软件开发大会

alt QCon-2
全球软件开发大会是为团队领导者、架构师、项目经理和高级软件开发人员量身打造的企业软件开发大会,其所覆盖的主题内容与InfoQ网站相同,关注架构与设计、真实案例分析等等。秉承”促进软件开发领域知识与创新的传播”原则,QCon各项议题专为中高端技术人员设计,内容源于实践并面向社区。演讲嘉宾依据各重点和热点话题,分享技术趋势和最佳实践。
*了解更多请戳👉 QCon官网 *

犹豫去不去

QCon是为团队领导者、架构师、项目经理和高级软件开发人员量身打造的企业软件开发大会,如果你们公司买了票给机会参加,那就要珍惜呀!看看还是很有好处的,选自己感兴趣的方向场次参加,可以扩宽思路,你会发现我们要解决的问题其实还有更多解决方案!哪怕有听不懂的地方,记下来回去查都很受益!

分享我所听

因为我只参加了18号下午场的QCon,所以也只听了不到四个分享会,但我会把我觉得很有用的技术或者思路分享出来!

Splash Shuffle Manager

alt QCon-6

关于Spark的Shuffle

Shuffle简而言之:下一个Stage向上一个Stage要数据这个过程,就称之为 Shuffle.
学过Spark的童鞋都知道大多数Spark作业的运行时间主要浪费在Shuflle过程中,因为该过程包含了大量的本地磁盘IO,网络IO和序列化过程.而看过Spark源码的童鞋应该都知道Spark的ShuffleManager,虽然Spark2.x已经摒弃了HashShuffleManager,但是如果过大的表遇到”去重”,”聚合”,”排序”,”重分区”或”集合”操作等shuffle算子时还是会有大量文件落盘,而本地磁盘的性能会严重拖慢Spark计算的整体速度. 而且Shuffle发生的机器如果发生故障还会导致Stage重算,性能和稳定性都大大降低
有些大规模的计算是Shuffle调优不能解决的

Splash介绍

关于以上问题,我们可以通过更改Shuffle Manager的源码来实现自定义Shuffle的溢写文件存储位置,但是,改源码辣么难……咋办……
alt QCon-5
Splash-支持指定Shuffle过程溢写文件的存储位置

Splash Shuffle Manager优点

Splash结构和原理

alt QCon-3
如图蓝色框为Splash实现类,橙色框是Spark定义的接口,绿色框是基本数据结构
使用Splash后的Shuffle过程:
ShuffleManager是入口,ShuffleWriter在map stage写shuffle数据,用SplashSorter或SplashUnsafeSorter将数据保存在内存中,内存不足时则会将数据溢写到TmpShuffleFile,等所有数据计算完成,SplashSorter或SplashUnsafeSorter,合并内存文件和溢写文件,SplashAggregator负责数据聚合,使用SplashAppendOnlyMap数据结构,内存不够时持久化到shuffle数据存储系统;ShuffleReader从shuffle数据存储系统收集reduce stage需要的数据,SplashShuffleBlockResolver用来查找随即数据,是无状态的.

我认为

我认为Splash的设计比较符合Spark计算与存储分离的理念,所以Splash的思路是好的,但展望Spark3.0的新特性,也发现了其实Spark3.0也有一个新特性叫”Remote Shuffle Service”,Remote Shuffle Service的基本想法是,如果Map Task能将Shuffle数据写到独立的Shuffle服务,然后Reduce Task从这个Shuffle服务读Shuffle数据,这样计算节点就不再需要为Shuffle任务保留本地磁盘空间了。这个理念与Splash这个项目的理念很相近,所以我们可以尝试和部署Splash也可以期待Spark3.0的新特性!

最后附上:
Splash项目的Git地址

英特尔持久内存

alt QCon-4
Intel Optane DC Persistent Memory,专为数据中心使用而设计的新的内存和存储技术
特性就是有媲美DRAM的性能(较DRAM略差)和有SSD一般的容量大小(目前单条512GB),一定程度消除吞吐量瓶颈
对大数据计算还是有一定加成的,这里我就不做广告啦,毕竟没有广告费哈哈!

其他

写在最后

QCon让我学到了很多东西,扩展了思路,鼓励我在学习新技术的道路上奋勇向前!感觉对新技术更加感兴趣了,如果下次还有机会参加那该多好呀!话说是不是我下次再去就能听懂那些大佬说的东西了吧…
做个简单的总结吧

我顺便在会场周边玩了一圈,贴几张自认为不是直男拍的照片:

大宁郁金香公园 大宁郁金香公园
大宁郁金香公园 大宁郁金香公园
大宁郁金香公园 大宁郁金香公园
大宁郁金香公园 大宁郁金香公园