Я хочу написать обычай Transformer
для трубопровода в искровом 2.0 в scala. Пока мне не совсем ясно, как должны возвращаться методы copy
или transformSchema
. Правильно ли, что они возвращают null
? https://github.com/SupunS/play-ground/blob/master/test.spark.client_2/src/main/java/CustomTransformer.java для копирования?Как написать собственный трансформатор в MLlib?
Как Transformer
extends PipelineStage
Я заключаю, что a fit
называет метод transformSchema
. Правильно ли я понимаю, что transformSchema
похож на sk-learns?
Как мой Transformer
должен присоединиться к набору данных с (очень маленьким) вторым набором данных. Я хочу сохранить этот вариант в сериализованном конвейере. Как я должен хранить это в трансформаторе для правильной работы с механизмом сериализации конвейеров?
Как бы выглядел простой трансформатор, который вычисляет среднее значение для одного столбца и заполняет значения nan + сохраняется это значение?
@SerialVersionUID(serialVersionUID) // TODO store ibanList in copy + persist
class Preprocessor2(someValue: Dataset[SomeOtherValues]) extends Transformer {
def transform(df: Dataset[MyClass]): DataFrame = {
}
override def copy(extra: ParamMap): Transformer = {
}
override def transformSchema(schema: StructType): StructType = {
schema
}
}
вы имеете в виду трансформатор, который падает/добавляет новые столбцы должны быть оценщик? Это звучит странно. Поэтому я понимаю, что правильный трансформатор sklearn с fit & transform является оценкой искры, искровой трансформатор может выполнять только «фиксированные» преобразования, которые являются постоянными для любых входных данных. Поскольку такой средний компьютер должен быть оценщиком? –
Как @LostInOverflow сказал, что вам нужна оценка, а затем трансформатор - где вычисление вычисляет среднее значение из исходного столбца, а затем трансформатор вменяет недостающие значения с вычисленным средним значением. Кроме того, недостающее значение вменения является функцией, которая в настоящее время находится в кулинарии - [JIRA] (https://issues.apache.org/jira/browse/SPARK-13568) – ShirishT
Спасибо. Правильно ли, что любая переменная в поправке оценщика, которая должна храниться/сохраняться, на самом деле будет сохраняться? –