Я пытаюсь использовать преобразователь, написанный на Scala в PySpark. В Интернете я нашел учебное пособие о том, как использовать его для оценок, но не было примеров того, как на самом деле вызвать его в вашей функции.
Я следовал этому учебнику: https://raufer.github.io/2018/02/08/custom-spark-models-with-python-wrappers/
class CustomTransformer(JavaTransformer, HasInputCol, HasOutputCol):
"""
Boilerplate code to use CustomTransformer written in scala.
"""
_classpath = "com.team.ml.feature.CustomTransformer"
def __init__(self, inputCol = None, outputCol = None):
super(CustomerTransformer, self).init()
self._java_obj = self._new_java_obj(CustomTransformer._classpath,
self.uid)
self._setDefault(outputCol="custom_map")
def setInputCol(self, input_col):
return self._set(inputCol = input_col)
def getInputCol(self):
return self.getOrDefault(self.inputCol)
def getOutputCol(self):
return self.getOrDefault(self.outputCol)
def setOutputCol(self, output_col):
return self._set(outputCol = output_col)
Я бы хотел использовать трансформатор, который моя команда написала в scala (я не могу вспомнить этот точный трансформатор). Он создает карту пар ключ-значение, используя udf. Этот udf используется в методе transform для класса CustomTransformer.