Scala 将矩阵转换为RDD-ApacheSpark
我有一个8 x 252的密度矩阵。和列名数组252。我想把这个densematrix转换成RDD 密度矩阵:Scala 将矩阵转换为RDD-ApacheSpark,scala,apache-spark,apache-spark-sql,spark-dataframe,apache-spark-mllib,Scala,Apache Spark,Apache Spark Sql,Spark Dataframe,Apache Spark Mllib,我有一个8 x 252的密度矩阵。和列名数组252。我想把这个densematrix转换成RDD 密度矩阵: 2.00 3.00 ... 3.00 3.01 ... 列数组:Array(“Column1”、“Column2”和…) 我想将上述内容转换为Dataframe,如下所示 Column1 Column2 .. 2.00 3.00 .. 3.00 4.00 .. 有人能帮我吗? 如果不是数据帧,至少要有一个RDDsc.parallelize(mat.
2.00 3.00 ...
3.00 3.01 ...
列数组:Array(“Column1”、“Column2”和…)
我想将上述内容转换为Dataframe,如下所示
Column1 Column2 ..
2.00 3.00 ..
3.00 4.00 ..
有人能帮我吗?
如果不是数据帧,至少要有一个RDD
sc.parallelize(mat.rowIter.toSeq)
但让RDD具有8行的意义让我难以捉摸:)如何将其转换为数据帧?我基本上希望结果在Dataframe中,这样就可以更容易地基于列名提取值。.map(u.toArray)。toDF
和按索引选择
可能是最简单的解决方案。我用RDD[Vector]和RDD[Row]尝试了这一点,但我得到了一些结果。value toDF不是org.apache.spark.rdd.rdd[org.apache.spark.ml.linalg.Vector]的成员,我使用了sqlcontext,还导入了implicitsnippet,我已经展示了它在任何最新的(2.0+)spark版本中都应该有效。如果使用1.x,请添加元组包装器