Results 19 comments of jyp

问个Spark-Core的问题,只是我自己一直没搞明白。看源码的时候生成FinalStage的时候,那个ActiveJob是啥? 话说一个Stage应该就是对应一个job吧,然后一个Stage可以含有多个RDD,但是对于FinalStage而言,应该就只有一个job吧。 而非FinalStage可以对应多个RDD,那么非FinalStage是不是可以对应多个job呢? 求解... 看源码看晕了T_T~~~~

@luckuan @lw-lin 1.5.0 version spark-1.5.0\spark-1.5.0\core\src\main\scala\org\apache\spark\scheduler\DAGScheduler.scala ``` scala private[scheduler] val jobIdToStageIds = new HashMap[Int, HashSet[Int]] private[scheduler] val stageIdToStage = new HashMap[Int, Stage] private[scheduler] val shuffleToMapStage = new HashMap[Int, ShuffleMapStage] private[scheduler] val...

在 driver 端构造一个 RDD 实例,这个 RDD 分为 x 个 partition 没看懂这里的RDD分为x个partition? 求解答 谢谢

@proflin 请教一个问题,Spark Stream面向的流计算应用,似乎根据应用的不同,各个batch内的数据之间的依赖完全取决于业务需求,这种依赖性完全不同与图计算这种应用。 感觉从传统体系结构上相对Spark Stream进行优化似乎比较难。不知道你怎么看。 还在学习中..

@proflin 简单的说就是,我觉得针对spark stream,如果从cache局部性的角度区优化,似乎比较难

“会朝着 data locality 最好的计算方式去调度。” 哦?话说这部分代码是? 我之前留言中考虑了各个batch之间的依赖关系,那个问题是这样的。 我之前看到图计算方面的论文,因为不同顶点之间存在数据依赖,巨量的顶点不可能只分布到单个节点的内存中,具体到numa架构中,这些顶点不可能只分布于单个socket的所拥有的内存中,即要对顶点分区存储。 然后现在考虑spark stream,不同业务场景使用的方法必然不同,可能有的业务对于时间属性比较看重,比如基于时间序列分析的流计算(瞎扯的),根本不强调时间序列的流计算,和线下历史数据交互分析的,等等。那么这些场景中,使用spark stream时。这里有的数据之间有依赖,有的其实是没有什么依赖关系的。 (其实我描述的这种依赖粒度比较大的) 那么问题来了,两者有没有什么类似的地方呢? 话说spark stream这里dstream之间的依赖和我上面描述的依赖其实不是一个东西,二者存在一些交集就是了。 然后您说的“会朝着 data locality 最好的计算方式去调度。”这个应该指的是根据DAG来进行的。当然我挺懵的现在...T_T

@proflin 谢谢! 还有一个问题想问,spark 中scala写的代码中,一堆的ClassTag之类,看得实在难受,有什么办法解决吗

``` scala def runJob[T, U: ClassTag]( rdd: RDD[T], func: (TaskContext, Iterator[T]) => U, partitions: Seq[Int], Array[U] = { val result = new Array[U](partitions.size) runJob[T,U](rdd,func,partitions,allowLocal,(index,res) => results(index) = res) result }...