在 Java spark ml 中创建自定义转换器的最佳方式
Best way to Create a custom Transformer In Java spark ml
我正在使用 Apache spark 学习大数据,我想为 Spark ml 创建一个自定义转换器,以便我可以执行一些聚合函数或可以对其执行其他可能的操作
您需要扩展 org.apache.spark.ml.Transformer class,这是一个抽象 class 因此您必须提供抽象方法的实现。
正如我所见,在大多数情况下,我们需要提供 transform(Dataset> dataset) 方法的实现和 String uid() .
示例:
public class CustomTransformer extends Transformer{
private final String uid_;
public CustomTransformer(){
this(Identifiable.randomUID("Custom Transformer"));
}
@Override
public String uid(){
return uid_;
}
@Override
public Transformer copy(ParamMap extra){
return defaultCopy(extra);
}
@Override
public Dataset<Row> transform(Dataset<?> dataset){
// do your work and return Dataset object
}
@Override
public StructType transformSchema(StructType schema){
return schema;
}
}
我也是新手,所以建议你学习一下这些抽象方法的用途。
我正在使用 Apache spark 学习大数据,我想为 Spark ml 创建一个自定义转换器,以便我可以执行一些聚合函数或可以对其执行其他可能的操作
您需要扩展 org.apache.spark.ml.Transformer class,这是一个抽象 class 因此您必须提供抽象方法的实现。
正如我所见,在大多数情况下,我们需要提供 transform(Dataset> dataset) 方法的实现和 String uid() .
示例:
public class CustomTransformer extends Transformer{
private final String uid_;
public CustomTransformer(){
this(Identifiable.randomUID("Custom Transformer"));
}
@Override
public String uid(){
return uid_;
}
@Override
public Transformer copy(ParamMap extra){
return defaultCopy(extra);
}
@Override
public Dataset<Row> transform(Dataset<?> dataset){
// do your work and return Dataset object
}
@Override
public StructType transformSchema(StructType schema){
return schema;
}
}
我也是新手,所以建议你学习一下这些抽象方法的用途。