0
这里的分区数量没有影响是代码:聚结在火花
val nouns = sc.textFile("/Users/kaiyin/IdeaProjects/learnSpark/src/main/resources/nouns")
val verbs = sc.textFile("/Users/kaiyin/IdeaProjects/learnSpark/src/main/resources/verbs")
val sentences = nouns.cartesian(verbs).take(10)
sentences.foreach(println _)
println(s"N partitions for nouns: ${nouns.partitions.size}")
nouns.coalesce(10, true)
println(s"N partitions for nouns after coalesce: ${nouns.partitions.size}")
结果:
N partitions for nouns: 2
N partitions for nouns after coalesce: 2
从火花1.6.2 DOC:
注意:使用shuffle = true,你实际上可以合并成更大的分区数量。如果您的分区数量较少(例如100),则此功能非常有用,可能有几个分区的大小异常很大。在1000个分区中调用coalesce(1000,shuffle = true)将导致 ,并使用散列分区程序分发数据。
但是显然3210在这种情况下根本没有效果。为什么?
整个脚本是在这里:https://github.com/kindlychung/learnSpark/blob/master/src/main/scala/RDDDemo.scala
我认为名词中含有2个以上的项目是否正确? – micker
根据'wc -l'的1525项 – qed