JavaRDD<String>
をJavaRDD<Row>
に匿名機能を使用して変換しようとしています。ここに私のコードは次のとおりです。スタックのスパーク:JavaRDD.mapは匿名機能を受け入れません
Exception in thread "main" org.apache.spark.SparkException: Task not serializable
詳細:
Serialization stack:
- object not serializable (class: com.cpny.ml.supervised.FeatureExtractor, value: [email protected])
- field (class: com.cpny.ml.supervised.FeatureExtractor$1, name: this$0, type: class com.cpny.ml.supervised.FeatureExtractor)
- object (class com.cpny.ml.supervised.FeatureExtractor$1, [email protected])
- field (class: org.apache.spark.api.java.JavaPairRDD$$anonfun$toScalaFunction$1, name: fun$1, type: interface org.apache.spark.api.java.function.Function)
- object (class org.apache.spark.api.java.JavaPairRDD$$anonfun$toScalaFunction$1, <function1>)
at org.apache.spark.serializer.SerializationDebugger$.improveException(SerializationDebugger.scala:40)
私が間違っているつもりですすべてのアイデア
JavaRDD<String> listData = jsc.textFile("/src/main/resources/CorrectLabels.csv");
JavaRDD<Row> jrdd = listData.map(new Function<String, Row>() {
public Row call(String record) throws Exception {
String[] fields = record.split(",");
return RowFactory.create(fields[1], fields[0].trim());
}
});
しかし、これを行うに、私は戻ってエラーを取得しますか?
ありがとうございます! K
「FeatureExtractor」とは何ですか? –
FeatureExtractorはクラス名です - ここではanony関数があります。 – Kiran
完全なコードを再現してください。 'FeatureExtractor'がシリアライズされている場合は、何らかの形でクロージャーで使用しています。 –