Я хочу создать собственный трансформатор функций в DataFrame
, чтобы добавить столбец, который представляет собой, например, разницу между двумя другими столбцами. Я следовал this question, но трансформатор там работает только на одном столбце. pyspark.ml.Transformer
принимает строку в качестве аргумента для inputCol
, поэтому, конечно, я не могу указать несколько столбцов.Трансформатор, работающий с несколькими функциями в pyspark.ml
Поэтому в основном то, что я хочу достичь, это _transform()
метод, который напоминает это:
def _transform(self, dataset):
out_col = self.getOutputCol()
in_col = dataset.select([self.getInputCol()])
# Define transformer logic
def f(col1, col2):
return col1 - col2
t = IntegerType()
return dataset.withColumn(out_col, udf(f, t)(in_col))
Как это возможно сделать?
Не может быть, что 'HasInputCols' (множественное число) является тем, что вы ищете? –