Lijie Xu

Results 42 comments of Lijie Xu

对,我这里可能没有说清楚,其实我的意思是:如果很难或者不能在上某个类型上定义正确的partition(),那么这个类型不能当作Key使用。Hadoop里面也是一样,一些自定的class可以当作key使用,但如果无法在上面定义partition(),那么就不能当作key。

@lqian 谢谢建议,下次修改时加上

@about17ka stage1和stage2可以并发执行,因为他们之间没有依赖关系,但具体实现是否是并行的,有点忘了,要review一下代码。 stage2中的两个lineage也是并发执行的,一共生成4个tasks,每个task执行一条黑色的线 stage1和stage2都是stage0的parent stage,stage0等待stage1和stage2都完成任务后,才能执行,之前stage0状态一直是pending。激发很容易,就是一个栈,stage0在栈底,上面是stage0和stage1

@about17ka “在资源足够的情况下,stage1与stage2中的所有task,只要没有依赖关系,都可以并发执行”。正确。 “而如果资源有限,则会按照顺序从stage1开始执行,不知是否正确”。stage1和stage2里面的所有task都是ready-to-run,具体哪个task先被执行,要看调度器先调了哪个task。 “这种并发执行是否需要我们编写并行的scala程序才能实现?还是我们只需要写顺序的书写程序,而spark会调度程序并发的执行?”, 我们写的Scala程序只specify RDD之间的关系(也就是logic plan),Spark负责将logic plan转换成上面的physical plan,然后并发执行task,我们只能控制task的个数(也就是partition个数),其他并发由框架完成。

++表示链接,scala中链接用++表示,谢谢指出,是应该注明一下

SPARK_WORKER_INSTANCES 是配置一个node 上可以运行多少个Worker,一般一个Worker可以运行一个CoarseGrainedExecutorBackend进程,我的问题是如何配置一个Worker可以运行多个CoarseGrainedExecutorBackend

要想实现一个Worker运行多个CoarseGrainedExecutorBackend,需要将Worker的资源数设置为Executor资源数的N倍

谢谢建议,sort-based之前研究过,但苦于一直没有空闲去总结,一直在写论文,最近也在写毕业论文,准备找工作,等到这段空闲下来会慢慢补充,还会包括调度器等,欢迎交流!

谢谢指出,最近在忙paper,我会在下次review的时候修改的

一些action(),比如collect(), count()之类会将每个worker节点上task的计算结果收集到driver端,并进行计算。