• 行矩阵RowMatrix是最基础的分布式矩阵类型。
  • 每行是一个本地向量,行索引无实际意义(即无法直接使用)。
  • 数据存储在一个由行组成的RDD中,其中每一行都使用一个本地向量来进行存储。
  • 由于行是通过本地向量来实现的,故列数(即行的维度)被限制在普通整型(integer)的范围内。
  • 在实际使用时,由于单机处理本地向量的存储和通信代价,行维度更是需要被控制在一个更小的范围之内。
  • RowMatrix可通过一个RDD[Vector]的实例来创建

例子

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.mllib.stat.MultivariateStatisticalSummary
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
object Test {def main(args: Array[String]): Unit = {val spark: SparkSession = SparkSession.builder().master("local").getOrCreate()//创建稠密向量val dv1: linalg.Vector = Vectors.dense(1.0, 2.0, 3.0)val dv2: linalg.Vector = Vectors.dense(2.0, 3.0, 4.0)//使用两个本地向量创建一个RDD[Vector]val rows: RDD[linalg.Vector] = spark.sparkContext.parallelize(Array(dv1, dv2))//通过RDD[Vector]创建一个行矩阵val matrix = new RowMatrix(rows)//获取矩阵的行数println(matrix.numRows())//2//获取矩阵的列数println(matrix.numCols())//3//通过computeColumnSummaryStatistics()方法获取统计摘要val summary: MultivariateStatisticalSummary = matrix.computeColumnSummaryStatistics()val max: linalg.Vector = summary.max//最大向量println(max)//[2.0,3.0,4.0]//平均向量println(summary.mean)//[1.5,2.5,3.5]println(summary.count)//2//方差向量println(summary.variance)//[0.5,0.5,0.5]}
}

总结

  • 可以通过Vector构建RowMatrix

参考

Spark入门:MLlib基本数据类型(2)_厦大数据库实验室博客

spark mlib行矩阵(RowMatrix)入门相关推荐

  1. Spark MLib 数据类型

    Spark MLib 数据类型 1.  MLlib Apache Spark's scalable machine learning library, with APIs in Java, Scala ...

  2. fpgrowth算法实战 mlib_【spark】41.Spark Mlib:FPGrowth算法

    简介 FP-Growth算法是韩嘉炜等人在2000年提出的关联分析算法,它采取如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-tree),但仍保留项集关联信息. 在算法中使用了一种称为 ...

  3. Spark Mlib TFIDF源码详读 笔记

    2019独角兽企业重金招聘Python工程师标准>>> 在提取文本特征时,经常用到TF-IDF算法.Spark Mlib实现了该算法.下面是Spark Mlib中,TF_IDF算法调 ...

  4. 利用Spark MLIB实现电影推荐

    利用Spark MLIB实现电影推荐 源码及数据集:https://github.com/luo948521848/BigData Spark 机器学习库MLLib MLlib是Spark的机器学习( ...

  5. spark mlib入门

    MLlib 是 Spark 的机器学习 (ML) 库.其目标是使实用的机器学习变得可扩展且简单.在高级别上,它提供了各种工具:: ML 算法:常见的学习算法,如分类.回归.聚类和协作筛选 实现:特征提 ...

  6. spark mlib坐标矩阵(Coordinate Matrix)

    坐标矩阵CoordinateMatrix是一个基于矩阵项构成的RDD的分布式矩阵.每一个矩阵项MatrixEntry都是一个三元组:(i: Long, j: Long, value: Double), ...

  7. spark mlib行索引矩阵

    索引行矩阵IndexedRowMatrix与RowMatrix相似,但它的每一行都带有一个有意义的行索引值,这个索引值可以被用来识别不同行,或是进行诸如join之类的操作. 其数据存储在一个由Inde ...

  8. Spark Streaming 编程新手入门指南

    Spark Streaming 是核心Spark API的扩展,可实现实时数据流的可伸缩,高吞吐量,容错流处理.可以从许多数据源(例如Kafka,Flume,Kinesis或TCP sockets)中 ...

  9. python编写spark程序 视频_【Python版pyspark】Spark大数据基础入门视频课程

    [注意:本课程只包含pyspark系列课程的基础入门部分] Python版本的pyspark是学习Python的人的福音,为广大的Python开发人员提供了一个使用Python调用Spark接口处理大 ...

最新文章

  1. JVM - 一个案例反推不同JDK版本的intern机制以及intern C++源码解析
  2. 图像检索:基于形状特征的算法
  3. 向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?
  4. datagrid出现相同两组数据_数据分析之统计学
  5. 自编码器(Auto-encoder) (上) – 基本概念
  6. 【MobaXterm】设置保持SSH连接
  7. Git 分支相关操作
  8. linux配置conf_如何使用mssql-conf和其他可用工具在Linux上配置SQL Server 2017
  9. Oracle学习笔记:手工注册oracle的oledb驱动
  10. 乘法器的Verilog HDL实现
  11. 判断鼠标不在控件上_【干货】Eprime编写鼠标点击型记忆再认实验
  12. 【九度OJ1348】|【剑指offer36】数组中的逆序对
  13. 北京计算机学校招生要求,北京小升初 16区采取电脑随机录取的入学途径及规则 2021家长一定要看...
  14. iOS 汉语数字与阿拉伯数字的相互转化
  15. 互联网行业公司岗位与发展方向
  16. oppo文件管理android在哪里,OPPO手机中缓存视频文件路径在哪里查看?怎么查看?
  17. 大于23的男生女生都该看.看完你会变一个人
  18. 【硬核干货】Teleport Ultra扒站教程 (附汉化破解版资源下载链接)
  19. java如何实现导出Excel(附源码)--文末送书
  20. Java的Lambda表达式实例

热门文章

  1. CNN中input,output的计算推导
  2. 关于Python切片的问题,从左向右提取元素与从右向左提取元素
  3. windows系统bat批处理 一键添加共享打印机
  4. spring学习--JdbcTemplate-查询返回-批量操作
  5. beetl java例子_初识Java模板引擎Beetl之简单示例
  6. 在PHP中2中特殊数据类型是,@PHP中的数据类型(2)
  7. python抓包与解包_python 抓包与解包
  8. fiddler everywhere使用_用Fiddler抓取iOS https流量
  9. python将列表写入文件_Python将列表数据写入文件(txt, csv,excel)
  10. python中最基本的系列_Python中最基本的10个内容