SparkR 1.6 callJMethod返回空的环境

时间:2016-07-05 10:48:07

标签: r apache-spark sparkr

我最近从SparkR 1.5.2迁移到1.6.0。我正在使用SparkR ::: newJObject(" java.util.HashMap")进行一些实验,我注意到行为已经改变。版本1.6.0现在返回一个"环境"而不是" jobj":

> print(class(SparkR:::newJObject("java.util.HashMap")))  # SparkR 1.5.2
[1] "jobj"

> print(class(SparkR:::newJObject("java.util.HashMap")))  # SparkR 1.6.0
[1] "environment"

此外,返回的环境显然是空的(当我在生成的环境中调用ls()时,它返回character(0))。只有某些Java类才会出现此问题。我无法准确说出导致问题的类别。

如果我尝试创建其他类的实例,例如java.util.BitSet,它就能成功运行。我认为它可能与参数化类有关,但它可以与ArrayListHashSet一起成功运行,它们在两种情况下都采用类型参数。

关于这种行为改变的任何建议(除了#34;不使用私人功能" :-))?

非常感谢

0 个答案:

没有答案