我一直在寻找通过类pyspark.mllib.feature.IDFModelPython PysSpark代码:这不是一个无限循环吗?
在
我很困惑,为什么这不会产生一个无限循环的PySpark代码?
这是类代码:
class IDFModel(JavaVectorTransformer):
def transform(self, x):
return JavaVectorTransformer.transform(self, x)
,这是为JavaVectorTransformer类
class JavaVectorTransformer(JavaModelWrapper, VectorTransformer):
def transform(self, vector):
if isinstance(vector, RDD):
vector = vector.map(_convert_to_vector)
else:
vector = _convert_to_vector(vector)
return self.call("transform", vector)
IDFModel.transform()
电话JavaVectorTransformer.transform
这反过来又返回self.call("transform",vector)
奇怪的是,这似乎代码在没有创建无限循环的情况下工作。
有什么想法?
self.call不是对同一方法的调用。在调用self.call时会调用父类JavaModelWrapper中称为“调用”的方法。 –