0

与えられた文字列

val s = "My-Spark-App"

次の方法で Spark を使用して頂点を作成するにはどうすればよいですか?

「My-」、「yS」、「-Sp」、「Spa」、「par」、「ark」、「rk-」、「kA」、「-Ap」、「App」

その問題は並列化できますか?

4

1 に答える 1

3

文字列を単純にスライドするだけです。

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)}
于 2015-11-01T16:47:12.647 に答える