Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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 - Fatal编程技术网

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(); }

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中产生异常:任务不可序列化,为什么会这样?通过上面的内容,我无法全面了解您的问题,但这似乎会给你一些帮助。你使用的是哪个版

foreach->System.out.println;-->很好

foreach(System.out::println);-->线程“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();
    }