Spark会为每一个partition运行一个task来进行处理。Spark官方的建议是,为集群中的每个CPU创建2~4个partition。partition()方法时,传入第二个参数,来设置RDD的partition数量。返回<filename.fileContent>组成的pair,作为一个PairRDD,而不是普通的RDD。然后返回给Driver程序。transformation之后,接着执行了一个action操作,那么所有的transformation才会执行。Job的运行,从而出发这个action之前所有的transformation的执行。RDD,只要调用其cache()或者persist()方法即可。源RDD(父RDD),使用transformation操作重新计算该partition。那么可以使用unpersist()方法。partition时,需要从磁盘获取。因此会加大CPU开销。Variable(广播变量),另一种是Accumulator(累加变量)。RDD的每个partition中。RDD之间是宽依赖,同时,他们之间会发生shuffle操作。stage,然后每一个stage里面运行了很多个task。stage,stage是由一组并行的task组成,stage会将一批task用TaskSet来封装,提交给TaskScheduler进行分配,最后发送到Executor执行。standalone模式,基于Spark自己的Master-Worker集群。mapreduce提供的reduce,是可以处理每个key对应的value上的数据,很方便。key对应的values的算子,只能通过groupByKey,先shuffle,然后用map算子,来处理每个key对应的values。就可以使用checkpoint功能。比如说HDFS,然后,对RDD调用checkpoint()方法。ǒ皿ǒ)ง=3=3(ó_ò。