Я новичок в Apache Spark, и я знаю, что основная структура данных - это RDD. Теперь я пишу некоторые приложения, для которых требуется информация о позициях элемента. Например, после преобразования ArrayList в RDD (Java) для каждого целого в RDD мне нужно знать его (глобальный) индекс массива. Можно ли это сделать?Как получить положение элемента в RDD Spark?
Как я знаю, существует функция take (int) для RDD, поэтому я считаю, что позиционная информация сохраняется в RDD.
Да, добавление индекса массива в качестве дополнительного атрибута перед созданием RDD может решить эту проблему. Однако существуют два серьезных ограничения: 1) Очевидно, что этот дополнительный атрибут индекса будет по меньшей мере вдвое превышать стоимость хранения, и такая стоимость может быть еще больше, например, в массиве integer/float, для индекса добавляется длинное поле int. 2) Поскольку добавление дополнительных значений индекса не может быть загружено в Spark, такое преобразование данных также не может быть распараллелено Spark. Таким образом, я должен использовать другие параллельные методы для добавления индекса. – SciPioneer