Der PySpark-Wrapper für die Klasse IndexedRowMatrix
enthält nicht alle Methoden - speziell die multiply() -Methode fehlt, obwohl sie in der Java-Implementierung enthalten ist, die sie umschließt. Ich habe versucht, ihn manuell zu PySpark/MlLib/inalg/distributed.py Zugabe, wie folgt:pyspark Wrapper für IndexedRowMatrix multiplizieren()
def multiply(self, other):
other_java_matrix = other._java_matrix_wrapper._java_model
java_matrix = self._java_matrix_wrapper.call("multiply", other_java_matrix)
return IndexedRowMatrix(java_matrix)
Allerdings bekomme ich folgende Fehlermeldung, wenn ich versuche, diese Methode zu verwenden:
py4j.Py4JException : Methode multiply ([Klasse org.apache.spark.mllib.linalg.distributed.IndexedRowMatrix]) existiert nicht bei py4j.reflection.ReflectionEngine.getMethod (ReflectionEngine.java:335) bei py4j.reflection.ReflectionEngine.getMethod (ReflectionEngine.java:344) bei py4j.Gateway.invoke (Gateway.java:252) bei py4j.commands.Ab stractCommand.invokeMethod (AbstractCommand.java:133) bei py4j.commands.CallCommand.execute (CallCommand.java:79) bei py4j.GatewayConnection.run (GatewayConnection.java:209) bei java.lang.Thread.run (Thread.java:745)
Dies ist Spark-Version 1.6.1, so sollte es diese Methode AFAIK enthalten. Fehle ich etwas?