背景 长话短说,我们部门一个同事找到我,说他的spark 2.3 structured streaming程序频繁报OOM,从来没有坚持过超过三四天的,叫帮看一下. 这种事情一般我是不愿意看的,因为大部分情况下spark oom就那么几种可能: 数据量拉太大,executor内存爆了: shuffle过程中数据量太大,shuffle数太少,内存又爆了: 闲着蛋疼调用collect之类的方法,把数据往dirver上一聚合,driver内存爆了 闲着蛋疼又调用了一下persist还把结果存内存,还是…
ITpub上的一个lucene源码分析的博客,写的比较全面:http://blog.itpub.net/28624388/cid-93356-list-1/…
我们又都知道,Spark中任务的处理也要考虑数据的本地性(locality),Spark目前支持PROCESS_LOCAL(本地进程).NODE_LOCAL(本地节点).NODE_PREF.RACK_LOCAL(本地机架).ANY(任何)几种.其他都很好理解,NODE_LOCAL会在spark日志中执行拉取数据所执行的task时,打印出来,因为Spark是移动计算,而不是移动数据的嘛. 那么什么是NODE_PREF? 当Driver应用程序刚刚启动,Driver分配获得的Executor很可能还…
shuffle...相当重要,为什么咩,因为shuffle的性能优劣直接决定了整个计算引擎的性能和吞吐量.相比于Hadoop的MapReduce,可以看到Spark提供多种计算结果处理方式,对shuffle过程进行了优化. 那么我们从RDD的iterator方法开始: 我们可以看到,它调用了cacheManager的getOrCompute方法,如果分区任务第一次执行还没有缓存,那么会调用computeOrReadCheckpoint.如果某个partition任务执行失败,可以利用DAG重新调…
原创文章,转载请注明:转载自 周岳飞博客(http://www.cnblogs.com/zhouyf/)   Spark streaming 程序的运行过程是将DStream的操作转化成RDD的操作,Spark Streaming 和 Spark Core 的关系如下图(图片来自spark官网) Spark Streaming 会按照程序设定的时间间隔不断动态生成Job来处理输入数据,这里的Job生成是指将Spark Streaming 的程序翻译成Spark内核的RDD操作,翻译的过程并不会触…
.net源码共享群 324087998. 本群创建于2013/6/21: 群里都是.net(C#)程序开发人员,群共享有大量网友分享的.net(C#)商业源码.比如:DTCMS旗舰版,hishop微分销,shopnum微分销,多用户微信公众平台开发,力软信息化快速开发框架.源码研究,源码共享,.net反编译破解,.net破解反编译,技术研究交流! 之前在CSDN上发了一下,现在群里有六七百人了.马上就满员了,第二个群又要开始了.群友都是很活跃的,现在群等级满级了. 这是之前文章内容: 由于工作需…
Spark中任务的处理也要考虑数据的本地性(locality),Spark目前支持PROCESS_LOCAL(本地进程).NODE_LOCAL(本地节点).NODE_PREF.RACK_LOCAL(本地机架).ANY(任何)几种.其他都很好理解,NODE_LOCAL会在spark日志中执行拉取数据所执行的task时,打印出来,因为Spark是移动计算,而不是移动数据的嘛. 那么什么是NODE_PREF? 当Driver应用程序刚刚启动,Driver分配获得的Executor很可能还没有初始化,所…
Spark的应用程序是通过spark-submit提交到Spark集群上运行的,那么spark-submit到底提交了什么,集群是怎样调度运行的,下面一一详解. 0. spark-submit提交任务 0.1 启动脚本解析 分析spark-submit脚本源码可知最终该命令执行./bin/spark-class的Java类脚本,./bin/spark-class脚本启动的类是org.apache.spark.launcher.Main,在spark-submit模式下该类会启动SparkSubm…
一直想用一下PopupWindow,就是苦于没有demo,自己去研究有太懒,刚好最近研究推送,下载了一个腾讯信鸽的demo,里面用到了一个PopupWindow,效果还不错,弄下来记录一下: 1.核心java代码如下: View v = LayoutInflater.from(this).inflate(R.layout.menu_item, null); //加载popupwindow的自定义view final PopupWindow pw = new PopupWindow(v, Layo…
请查看下面的链接:http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/file/bcba89ce0a8c/src/share/classes/,进入页面后,点击列表中的项,就能进入各个包中查看源码,里面包含了下载的jdk的src.zip中没有包含的源码.…