Spark任务可序列化异常 publicstaticvoidmain(字符串[]args){ List inputData=new ArrayList(); inputData.add(“警告:2005年9月4日星期二”); inputData.add(“错误:2008年9月4日星期二”); inputData.add(“致命:1632年9月5日星期三”); inputData.add(“错误:1854年9月7日星期五”); inputData.add(“警告:1942年9月8日星期六”); Logger.getLogger(“org.apache”).setLevel(Level.WARN); SparkConf conf=new SparkConf().setAppName(“startingSpark”).setMaster(“local[*]); JavaSparkContext sc=新的JavaSparkContext(conf); sc.parallelize(输入数据) .flatMap(value->array.asList(value.split(“”).iterator()) .filter(word->word.length()>1) //例外情况来了 .foreach(System.out::println); sc.close(); }
foreach->System.out.println;-->很好 foreach(System.out::println);-->线程“main”org.apache.spark.SparkException中出现异常:任务不可序列化Spark任务可序列化异常 publicstaticvoidmain(字符串[]args){ List inputData=new ArrayList(); inputData.add(“警告:2005年9月4日星期二”); inputData.add(“错误:2008年9月4日星期二”); inputData.add(“致命:1632年9月5日星期三”); inputData.add(“错误:1854年9月7日星期五”); inputData.add(“警告:1942年9月8日星期六”); Logger.getLogger(“org.apache”).setLevel(Level.WARN); SparkConf conf=new SparkConf().setAppName(“startingSpark”).setMaster(“local[*]); JavaSparkContext sc=新的JavaSparkContext(conf); sc.parallelize(输入数据) .flatMap(value->array.asList(value.split(“”).iterator()) .filter(word->word.length()>1) //例外情况来了 .foreach(System.out::println); sc.close(); },java,apache-spark,rdd,Java,Apache Spark,Rdd,foreach->System.out.println;-->很好 foreach(System.out::println);-->线程“main”org.apache.spark.SparkException中出现异常:任务不可序列化 两者都是相同的,后者从java 8开始使用方法引用功能,但它在线程“main”org.apache.spark.SparkException中产生异常:任务不可序列化,为什么会这样?通过上面的内容,我无法全面了解您的问题,但这似乎会给你一些帮助。你使用的是哪个版
两者都是相同的,后者从java 8开始使用方法引用功能,但它在线程“main”org.apache.spark.SparkException中产生异常:任务不可序列化,为什么会这样?通过上面的内容,我无法全面了解您的问题,但这似乎会给你一些帮助。你使用的是哪个版本的scala和spark?@LeviRamsey scala在这里不使用,我使用的是Java API版本8,spark版本是2.0。0@Lebecca,谢谢,但我在这里发布之前已经检查了帖子,这里的错误有点不同。为了更好地理解,我更新了代码片段。希望能有帮助
SparkConf
我从哪个包导入spark core只得到JavaSparkContext
exist。
public static void main(String[] args) {
List<String> inputData = new ArrayList<>();
inputData.add("WARN: Tuesday 4 September 0405");
inputData.add("ERROR: Tuesday 4 September 0408");
inputData.add("FATAL: Wednesday 5 September 1632");
inputData.add("ERROR: Friday 7 September 1854");
inputData.add("WARN: Saturday 8 September 1942");
Logger.getLogger("org.apache").setLevel(Level.WARN);
SparkConf conf = new SparkConf().setAppName("startingSpark").setMaster("local[*]");
JavaSparkContext sc = new JavaSparkContext(conf);
sc.parallelize(inputData)
.flatMap(value -> Arrays.asList(value.split(" ")).iterator())
.filter(word -> word.length() > 1)
// Here comes the exception
.foreach(System.out::println);
sc.close();
}