【发布时间】:2017-11-19 23:11:08
【问题描述】:
希望将一些 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 @ 987654326@。所以我尝试了以下几种排列方式:
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
我觉得我错过了一些非常基本的东西。有谁知道怎么回事?
【问题讨论】:
标签: r apache-spark apache-spark-mllib sparklyr