我想在Java中創建一個自定義Spark Transformer。在Java中創建一個自定義Transformer spark ml
Transformer是文本預處理器,它像Tokenizer一樣工作。它將輸入列和輸出列作爲參數。
我環顧四周,發現了2個Scala Traits HasInputCol和HasOutputCol。
如何創建一個擴展Transformer並實現HasInputCol和OutputCol的類?
我的目標是這樣的。
// Dataset that have a String column named "text"
DataSet<Row> dataset;
CustomTransformer customTransformer = new CustomTransformer();
customTransformer.setInputCol("text");
customTransformer.setOutputCol("result");
// result that have 2 String columns named "text" and "result"
DataSet<Row> result = customTransformer.transform(dataset);
這不起作用。我想這是因爲一個錯誤。我得到'''java.lang.IllegalArgumentException:需求失敗:參數d7ac3108-799c-4aed-a093-c85d12833a4e__inputCol不屬於fe3d99ba-e4eb-4e95-9412-f84188d936e3.''' – LonsomeHell
@LonsomeHell,只是爲了仔細檢查,你確定你配置了一個有效的輸入列嗎? – SergGr
是的,我用setInput和一個有效的列名。 – LonsomeHell