我有一个Scala库,(简单地说)它接收一个函数,将其应用于RDD并返回另一个RDD
def runFunction(rdd: RDD,function: Any => Any) = {
....
val res = rdd.map(function)
...
}
在scala中,用法为
import mylibrary.runFunction
runFunction(myRdd,myScalaFun)
此库打包在一个jar中,我现在也想在python中使用它。我想做的是在Python中加载该库并将其传递给python函数。在Python中的用法是:
spark._jvm.mylibrary.runFunction(myPythonRdd,myPythonFun)
这将允许我使用python函数以及Scala函数,而无需将整个库移植到python。通过在Python和JVM之间来回运行的Spark功能是否可以实现这一点?