使用 sparklyr 的 R 回调函数
R callback functions using sparklyr
我希望使用Spark(http://spark.apache.org/docs/latest/programming-guide.html)的mapPartitions和reduce函数,使用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.
接口
我希望使用Spark(http://spark.apache.org/docs/latest/programming-guide.html)的mapPartitions和reduce函数,使用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.