Apache spark 创建DenseVector的标识矩阵作为Spark数据帧

Apache spark 创建DenseVector的标识矩阵作为Spark数据帧,apache-spark,pyspark,apache-spark-sql,apache-spark-mllib,Apache Spark,Pyspark,Apache Spark Sql,Apache Spark Mllib,我需要了解如何在Spark中创建任意大小的DenseVectors的单位矩阵。我试图从mllib.linalg.distributed模块中执行一些操作,但没有成功。我需要的是一个带有一列“features”的数据框,其中有DenseVectors作为其行,其中每一行都是标识矩阵中的对应行。简单明了,使用pyspark.mllib.linalg.distributed: 来自pyspark.mllib.linalg.distributed import MatrixEntry,Coordinat

我需要了解如何在Spark中创建任意大小的
DenseVectors
的单位矩阵。我试图从
mllib.linalg.distributed
模块中执行一些操作,但没有成功。我需要的是一个带有一列“features”的数据框,其中有
DenseVectors
作为其行,其中每一行都是标识矩阵中的对应行。

简单明了,使用
pyspark.mllib.linalg.distributed

来自pyspark.mllib.linalg.distributed import MatrixEntry,CoordinateMatrix
从pyspark导入SparkContext
def标识(n:int,sc:SparkContext)->坐标矩阵:
返回坐标矩阵(
sc.range(n).map(lambdaⅠ:矩阵中心(i,i,1.0)),n,n)
使用
DataFrames
DenseVectors
没有多大意义。首先,
数据帧
没有顺序,不支持代数运算。此外,如果使用分布式数据结构是合理的,那么使用
DenseVectors
将导致任何大小的矩阵出现内存问题