接到http://spark.apache.org支持下面的代碼。我收到以下錯誤....星火Java錯誤:lambda表達式沒有在-source 1.5
代碼:
JavaRDD<String> lines = sc.textFile(logFile);
JavaPairRDD<String, Integer> pairs = lines.mapToPair(s -> new Tuple2(s, 1));
錯誤:
lambda表達式中不-source 1.5支持(使用-source 8或更高,以使lambda表達式)
但下面的代碼工作得很好。你能幫我找到原因嗎?
新代碼:
JavaRDD<String> lines = sc.textFile(logFile);
JavaPairRDD<String, String> prodPairs = lines.mapToPair(new PairFunction<String, String, String>() {
public Tuple2<String, String> call(String s) {
String[] prodSplit = s.split(",");
return new Tuple2<String, String>(prodSplit[2], prodSplit[0]+","+prodSplit[1]+","+prodSplit[2]);
}
});
Lambda表達式在Java 8中引入... –
@Vijay K:你使用的是什麼版本的Java? Lambda在Java 8中引入,如果您已經擁有Java 8,則可以通過轉到項目構建路徑來更改Eclipse IDE中的Java版本和編譯器詳細信息。 – Shankar
你在使用maven嗎? –