这个问题针对熟悉py4j的人 – 可以帮助解决酸洗错误.我正在尝试向pyspark添加一个方法
PythonMLLibAPI,它接受一个namedtuple的RDD,做一些工作,并以RDD的形式返回一个结果.
此方法是在PYthonMLLibAPI.trainALSModel()方法之后建模的,其类似的现有相关部分是:
def trainALSModel(
ratingsJRDD: JavaRDD[Rating],
.. )
用于建模新代码的现有python Rating类是:
class Rating(namedtuple("Rating", ["user", "product", "rating"])):
def __reduce__(self):
return Rating, (int(self.user), int(self.product), float(self.rating))
这是尝试所以这里是相关的类:
新的python类pyspark.mllib.clustering.MatrixEntry:
from collections import namedtuple
class MatrixEntry(namedtuple("MatrixEntry", ["x","y","weight"])):
def __reduce__(self):
return MatrixEntry, (long(self.x), long(self.y), float(self.weight))
新方法foobarRDD在PythonMLLibAPI中:
def foobarRdd(
dat