Получение NotSerializableException при запуске простой искровой программы
Программа пытается собрать результаты listOListsRDD, используя flatMap и карту Tranformations.
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)
Может кто-нибудь помочь мне, почему для плоской карты я не получаю исключение и почему я получаю исключение для карты