Spark常用算子解析及代码实战
Spark 一.coalesce 1.简介 coalesce常用来合并分区,第二个参数是合并分区时是否产生shuffle。true为产生shuffle,false为不产生shuffle。默认是false不产生shuffle。如果coalesce设置的分区数比原来的分区数还大的话若设置为false则不起作用。如果设置为true则效果等价于repartition。即repartition(numPartitions) = coalesce(numPartitions)。 2.测试数据 val array = Array("spark,scala,6", "hadoop,java,12", "tensorflow,python,8", "solr,java,16", "hbase,java,11") 3.代码 /** * coalesce算子,常用于减少分区 */ val befParNum = rdd.getNumPartitions rdd = rdd.coalesce(1, false) // true为产生shuffle val coalParNum = rdd.getNumPartitions /** * repartition与之类型,一般增大分区数