CSR(Compressed Sparse Row format)和CSC(Compressed Spare Column format)都是一種稀疏矩陣的存儲格式。這裏分別給出實例:
假設有如下矩陣:
1 csr
存儲爲:
AA: 1 2 3 4 5 6 7 8 9 10 11 12
JR: 1 4 1 2 4 1 3 4 5 3 4 5
AA: 1 3 6 10 12 13
AA: 按行順序存儲各個非零元素
JR: 記錄對應元素所在的列的列號
JC: 記錄每行第一個元素在AA中的位置
2 csc
AA: 按列順序存儲各個非零元素
JR: 記錄對應元素所在的行的行號
JC: 記錄每列第一個元素在AA中的位置
3 Spark 中的CSC
在 Spark中的CSC表示爲:
Array(0, 1, 3)
:每一列非零元素的個數,分別爲 1-0
和 3-1
個
Array(0, 2, 1)
:非零元素所對應的行號
Array(9, 6, 8)
:非零元素