分布矩陣
一個分布矩陣有長整數類型(long-typed)的行列索引以及浮點類型的值, 被分散地儲存在一或多個RDD中。選擇一個正確的格式去儲存成巨大且分布的矩陣是非常重要的。將一個分布矩陣轉換成一個不同的格式可能需要請求一個全域洗牌(global shuffle),這是相當昂貴的。目前為止,已經實作三種類型的分布矩陣。
此基本類型被稱為RowMatrix。RowMatrix是一個面向行的分布矩陣,而不是具有意義的行索引,例如:特徵向量的集合。透過一個RDD來表示所有的行,其中每一行都是一個本地向量。 我們假設RowMatrix的列數量並不巨大,所以單一本地向量可以合理的傳達給driver,也可以儲存/操作正在使用的單一節點上。
IndexedRowMatrix類似於RowMatrix,但具有行索引,可以被使用在識別行以及執行關聯(join)。
CoordinateMatrix是儲存在座標列表格式(coordinate list (COO) format)中的分布矩陣,其實體集合是一個RDD。
Note
由於我們緩存矩陣的大小,所以在分布矩陣的底層RDD必須是確定的,。一般使用非確定的RDD可能會導致錯誤。