SparkMllib基本数据类型
2021-01-23 本文已影响0人
bigdata张凯翔
package cn.li.localvector
import org.apache.spark.mllib.linalg.{Vector, Vectors}
/**
* 2.SparkMllib基本数据类型
* 2021-01-23
*/
object testVector {
def main(args: Array[String]): Unit = {
val vd:Vector = Vectors.dense(2,0,6)//建立密集向量
println(vd)
println(vd(0))
println(vd(1))
println(vd(2))//打印稀疏向量第3个值
// val vs: Vector = Vectors.sparse(4,Array(0,1,2,3),Array(9,5,2,7))//建立稀疏向量
//第一个参数4代表输入数据的大小,一般要求大于等于输入的数据值,第二个参数是数据下标,第三个参数是数据值
// println(vs)//打印稀疏向量第3个值
// println(vs(2))//打印稀疏向量第3个值
println("-----------------------")
val vs:Vector = Vectors.sparse(4,Array(0,3),Array(9,7))
println(vs)
println(vs(0))
println(vs(3))
/**
* 9.0
7.0
*/
println("-----------------------")
//通过指定其非零条目来创建稀疏向量(1.0,0.0,3.0)
val sv2:Vector = Vectors.sparse(3,Seq((0,1.0),(2,3.0)))
println(sv2(0))
println(sv2(1))
println(sv2(2))
}
}
[2.0,0.0,6.0]
2.0
0.0
6.0
-----------------------
(4,[0,3],[9.0,7.0])
9.0
7.0
-----------------------
1.0
0.0
3.0