希望将一些R代码转换为Sparklyr,例如lmtest :: coeftest()和sandwich :: sandwich()等函数。 尝试使用Sparklyr扩展程序入门,但对Spark API非常陌生且遇到了问题 :(
运行Spark 2.1.1和sparklyr 0.5.5-9002
感觉第一步应该是使用linalg库创建DenseMatrix对象:
library(sparklyr)
library(dplyr)
sc <- spark_connect("local")
rows <- as.integer(2)
cols <- as.integer(2)
array <- c(1,2,3,4)
mat <- invoke_new(sc, "org.apache.spark.mllib.linalg.DenseMatrix",
rows, cols, array)
这导致出现错误:
Error: java.lang.Exception: No matched constructor found for class org.apache.spark.mllib.linalg.DenseMatrix
好的,所以我遇到了一个Java Lang异常,我很确定构造函数中的rows
和cols
参数是正确的,但不太确定最后一个参数,它应该是一个Java Array
。所以我尝试了几种组合:
array <- invoke_new(sc, "java.util.Arrays", c(1,2,3,4))
但最终出现了类似的错误消息...
Error: java.lang.Exception: No matched constructor found for class java.util.Arrays
我感觉自己缺少某些基本的东西。有人知道怎么回事吗?