博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark向量、矩阵类型
阅读量:5076 次
发布时间:2019-06-12

本文共 1008 字,大约阅读时间需要 3 分钟。

先来个普通的数组:

scala> var arr=Array(1.0,2,3,4)arr: Array[Double] = Array(1.0, 2.0, 3.0, 4.0)

可以将它转换成一个Vector:

scala> import org.apache.spark.mllib.linalg._scala> var vec=Vectors.dense(arr)vec: org.apache.spark.mllib.linalg.Vector = [1.0,2.0,3.0,4.0]

再做一个RDD[Vector]:

scala> val rdd=sc.makeRDD(Seq(Vectors.dense(arr),Vectors.dense(arr.map(_*10)),Vectors.dense(arr.map(_*100))))rdd: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector] = ParallelCollectionRDD[6] at makeRDD at 
:26

可以根据这个RDD做一个分布式的矩阵:

scala> import org.apache.spark.mllib.linalg.distributed._scala> val mat: RowMatrix = new RowMatrix(rdd)mat: org.apache.spark.mllib.linalg.distributed.RowMatrix = org.apache.spark.mllib.linalg.distributed.RowMatrix@3133b850scala> val m = mat.numRows()m: Long = 3scala> val n = mat.numCols()n: Long = 4

试试统计工具,算算平均值:

scala> var sum=Statistics.colStats(rdd)scala> sum.meanres7: org.apache.spark.mllib.linalg.Vector = [37.0,74.0,111.0,148.0]

转载于:https://www.cnblogs.com/bluejoe/p/5115849.html

你可能感兴趣的文章
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
软件目录结构规范
查看>>
mysqladmin
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>
设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
java学习笔记之String类
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>