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