使用 sparklyr 的 R 回调函数

R callback functions using sparklyr

我希望使用Spark(http://spark.apache.org/docs/latest/programming-guide.html)的mapPartitionsreduce函数,使用sparklyr .

pyspark 中很容易,我唯一需要使用的是简单的 python 代码。我可以简单地添加 python 函数作为回调函数。很简单。

例如,在 pyspark 中,我可以按如下方式使用这两个函数:

mapdata = self.rdd.mapPartitions(mycbfunc1(myparam1))
res = mapdata.reduce(mycbfunc2(myparam2))

然而,这似乎在 R 中是不可能的,例如 sparklyr 库。我检查了 RSpark,但它似乎是 R 中 query/wrangling 数据的另一种方式,没有别的。

如果有人告诉我如何在 R 中使用这两个函数以及 R 回调函数,我将不胜感激。

SparkR 中,您可以使用内部函数 - 因此使用前缀 SparkR::: - 来完成同样的事情。

newRdd = SparkR:::toRDD(self)                  
mapdata = SparkR:::mapPartitions(newRdd, function(x) { mycbfunc1(x, myparam1)})
res = SparkR:::reduce(mapdata, function(x) { mycbfunc2(x, myparam2)})

我相信 sparklyr 仅与 DataFrame / DataSet API.

接口