背景
spark的稀疏矩阵使用到了CCS列压缩存储,为了搞清楚CCS的压缩表示方式,本文就记录下CCS的表示方法
SparkMatrix的存储原理
稀疏矩阵是指大的矩阵中只有少数坐标有值的情况,比如1000*1000的矩阵只有10个非0元素,这种情况下使用稠密矩阵存储会浪费大量的空间,所以可以使用稀疏矩阵存储,只存储非0元素以及对应的坐标值,这里就是我们最容易理解的COO的存储方式,也就是行和列分别存储非0元素是坐标,value存储非0元素的值,然而COO表示法还可以进一步精简,比如对行进行压缩变成CSC行压缩存储表示,或者对列进行压缩变成CCS列压缩表示,本文就通过示意图来讲解下SparkMatrix使用的这种存储格式的原理: