Skip to content

Instantly share code, notes, and snippets.

@fpopic
Created September 12, 2017 13:07
Show Gist options
  • Select an option

  • Save fpopic/1c4ee6d29524ba5d1c60626335602953 to your computer and use it in GitHub Desktop.

Select an option

Save fpopic/1c4ee6d29524ba5d1c60626335602953 to your computer and use it in GitHub Desktop.
package com
import org.apache.spark.mllib.linalg
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.linalg.distributed.RowMatrix
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
object CollectTest {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().master("local[*]").getOrCreate()
val sc = spark.sparkContext
val arr = Array(
Vectors.dense(1, 2, 3),
Vectors.dense(4, 5, 6),
Vectors.dense(7, 8, 9),
Vectors.dense(10, 11, 12)
)
val rdd: RDD[linalg.Vector] = sc.makeRDD(arr, numSlices = 4)
val m1 = new RowMatrix(rdd, 4, 3)
val rdd2: RDD[linalg.Vector] = m1.rows.map { v => Vectors.dense(v.toArray.map(_ * 2.0)) }
val m2 = new RowMatrix(rdd2, 4, 3)
m2.rows.collect().map(_.toArray.toSeq).foreach(println)
// WrappedArray(2.0, 4.0, 6.0)
// WrappedArray(8.0, 10.0, 12.0)
// WrappedArray(14.0, 16.0, 18.0)
// WrappedArray(20.0, 22.0, 24.0)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment