mapPartitions操作与 map类似,只不过映射的参数由RDD中的每一个元素变成了RDD中每一个分区的迭代器,如果映射过程需要频繁创建额外的对象,使用mapPartitions操作要比map操作效率高效许多.比如将RDD中的所有数据通过JDBC链接写入数据库,如果使用map函数,可能要为每个元素创建一个connection,开销很大.如果使用mapPartitions,那么只需要针对一个分区建立connection. Scala中的yield的主要作用是记住每次迭代中的有关值,并逐一存入…