我試圖運行第一個example。Spark中的Java FlatMapFunction:錯誤:不是抽象的,也不會覆蓋FlatMapFunction中的抽象方法調用(String)
的源代碼是:
/*keyWordCount.java */
import org.apache.spark.*;
import org.apache.spark.api.java.*;
import org.apache.spark.api.java.function.*;
import org.apache.spark.rdd.*;
import org.apache.spark.api.java.JavaRDD;
import java.util.*;
public class keyWordCount {
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("keyWordCount");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> textFile = sc.textFile("output");
JavaRDD<String> dictFile = sc.textFile("keyword");
JavaRDD<String> words = textFile.flatMap(new FlatMapFunction<String, String>() {
@Override public Iterable<String> call(String s) { return Arrays.asList(s.split(" ")); }
});
}
}
當我編譯使用MVN編譯包,下面的錯誤不斷顯示出來:
[ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /home/cyberliem/TestSpark/src/main/java/keyWordCount.java:[16,81] error: is not abstract and does not override abstract method call(String) in FlatMapFunction
[ERROR] /home/cyberliem/TestSpark/src/main/java/keyWordCount.java:[17,39] error: call(String) in cannot implement call(T) in FlatMapFunction
[ERROR] T extends Object declared in interface FlatMapFunction R extends Object declared in interface FlatMapFunction /home/cyberliem/TestSpark/src/main/java/keyWordCount.java:[17,5] error: method does not override or implement a method from a supertype
我不知道如何解決這個問題,任何人都可以給我一個理想,爲什麼它出錯?
嘗試刪除@Override –