我正在使用 Apache spark 學習大資料,我想為 Spark ml 創建一個自定義轉換器,以便我可以執行一些聚合函式或對其執行其他可能的操作
uj5u.com熱心網友回復:
您需要擴展org.apache.spark.ml.Transformer類,這是一個抽象類,因此您必須提供抽象方法的實作。
正如我所看到的,在大多數情況下,我們需要提供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;
}
我也是這方面的新手
,所以我建議你應該了解這些抽象方法的用途。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468337.html
