在 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;
}

}
我也是新手,所以建议你学习一下这些抽象方法的用途。