用户应用new SparkContext后,集群就会为在Worker上分配executor,但是增加executor的时候需要考虑好内存消耗,因为一台机器的内存分配给越多的executor,每个executor的内存就越小,以致出现过多的数据spill over甚至out of memory的情况。CPU的core数量,每个executor可以占用一个或多个core,可以通过观察CPU的使用率变化来了解计算资源的使用情况,如此根据CPU的使用情况来分配executor数量,没有固定分配数量模式。
一个rdd分成几个partition,则有几个task,task被分配到节点中,每个节点的executor有几个core,则有几个task可以被并行执行,最大并行度即为节点数*core(虚拟核,并不是每个节点的cpu物理核,但一般虚拟核<=物理核) 。
假设:有5个节点,每个节点的executor有2个core;有1万条数据组成一个rdd,分成10个partition,则有10个task 。则每个节点分配到两个task并行执行。
https://www.zhihu.com/question/33270495?sort=created
作者:麦田
链接:https://www.zhihu.com/question/33270495/answer/82661639
来源:知乎
MongoDB 中导入csv文件 到MongoDB
mongoimport -d test -c test --type csv --headerline --file C:\Users\Administrator.WINDOWS-S1SDTPC\IdeaProjects\ItemBasedRecom\data\ratings.csv