簡體   English   中英

Apache Spark中RowMatrix和Matrix之間的區別?

[英]Difference between RowMatrix and Matrix in Apache Spark?

我想知道Apache Spark中可用的RowMatrix和Matrix類之間的基本區別。

這里有一個更精確的問題是mllib.linalg.Matrixmllib.linalg.distributed.DistributedMatrix之間有什么區別。

  • Matrix是一個特征,代表駐留在單個計算機內存中的局部矩陣 現在有兩個基本實現: DenseMatrixSparseMatrix
  • DistributedMatrix是一個特征,代表建立在RDD之上的分布式矩陣 RowMatrixDistributedMatrix的子類,它以行方式存儲數據,而沒有有意義的行順序。 DistributedMatrix還有其他實現(例如IndexedRowMatrixCoordinateMatrixBlockMatrix ),每個實現都有自己的存儲策略和特定的方法集。 參見例如Apache Spark中的矩陣乘法

這將歸結為您所使用的語言/框架/學科的慣用法,但是在計算機科學中,數組是“事物”的一維“列表”,可以通過它們在目錄中的位置來引用。清單。 列表中可以包含的內容之一是另一個數組,該數組使您可以創建數組的數組(數組的數組...),從而為您提供任意大尺寸的數據集。

矩陣來自線性代數,是數據的二維表示(可以用數組數組表示),帶有一組強大的數學運算,可讓您以有趣的方式操作數據。 盡管數組的大小可以變化,但是通常根據要執行的特定操作類型知道矩陣的寬度和高度。

矩陣在3D圖形和物理引擎中被廣泛使用,因為矩陣是一種快速,便捷的方式來表示三維對象的變換和加速度數據。

數組:齊次元素的集合。

矩陣:一個簡單的行和列的東西。

兩者在不同的空間中是不同的事物。 但是在計算機編程中,一維數組的集合可以稱為矩陣。 您可以用矩陣形式表示二維數組(即,單維數組的集合)。

A [2] [3]:這意味着A是2個單維數組的集合,每個數組的大小為3。

A [1,1] A [1,2] A [1,3] //這是一維數組

A [2,1] A [2,2] A [2,3] //這是另一個一維數組

//集合是一個多維或二維數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM