0
創建頂點給定一個字符串阿帕奇星火從字符串
val s = "My-Spark-App"
如何頂點與星火以下方式產生的呢?
「我 - 」, 「伊蘇」, 「SP」, 「溫泉」, 「平價」, 「方舟」, 「RK-」, 「千」, 「-Ap」, 「應用」
這個問題可以並行嗎?
創建頂點給定一個字符串阿帕奇星火從字符串
val s = "My-Spark-App"
如何頂點與星火以下方式產生的呢?
「我 - 」, 「伊蘇」, 「SP」, 「溫泉」, 「平價」, 「方舟」, 「RK-」, 「千」, 「-Ap」, 「應用」
這個問題可以並行嗎?
這僅僅是一個簡單的滑動在一個字符串的事:
val n: Int = 3
val vertices: Seq[(VertexId, String)] = s.sliding(n)
.zipWithIndex
.map{case (s, i) => (i.toLong, s)}
.toSeq
sc.parallelize(vertices)
可以在問題被並行化?
是的,但是如果它是單個字符串,它很可能沒有意義。如果你想要:
import org.apache.spark.rdd.RDD
val vertices: RDD[(VertexId, String)] = sc.parallelize(s)
.sliding(n)
.zipWithIndex
.map{case (cs, i) => (i, cs.mkString)}
謝謝你的回答。如果字符串很大,這是否合理? –
如果巨大意味着千兆字節(2^32 - 1元素是一個限制無論如何),那麼肯定。 – zero323