Получение NotSerializableException при запуске простой искровой программы - PullRequest
0 голосов
/ 07 ноября 2018

Программа пытается собрать результаты listOListsRDD, используя flatMap и map 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)

Может кто-нибудь помочь, почему для плоской карты я не получаю исключение и почему я получаю исключение для карты

...