运行简单的Spark Progrem时获取NotSerializableException

时间:2018-11-07 13:53:20

标签: apache-spark sparkcore

该程序尝试使用flatMap和map变形来收集listOListsRDD的结果。

ArrayList<ArrayList<String>> listOLists = new ArrayList<ArrayList<String>>();
    ArrayList<String> singleList = new ArrayList<String>();
    singleList.add("hello");
    singleList.add("world");
    listOLists.add(singleList);

    ArrayList<String> anotherList = new ArrayList<String>();
    anotherList.add("this is another list");
    listOLists.add(anotherList);

    JavaRDD<ArrayList<String>> listOListsRDD = sc.parallelize(listOLists);
    System.out.println(" Elements of an listOListsRDD using flatMap Tranformation"+listOListsRDD.flatMap(f->f.iterator()).collect());
    System.out.println(" Elements of an listOListsRDD using Map Tranformation"+listOListsRDD.map(f->f.iterator()).collect());

对于平面地图没有抛出异常,但是对于地图,我正在获取java.io.NotSerializableException:java.util.ArrayList $ Itr 序列化堆栈:     -无法序列化的对象(类:java.util.ArrayList $ Itr,值:java.util.ArrayList$Itr@1b43bb4)     -数组元素(索引:0)     -数组(类[Ljava.lang.Object ;,大小1)

有人可以帮我解释为什么为什么我没有得到平面图以及为什么我得到了地图异常吗

0 个答案:

没有答案