Существует два набора DataFrame: один - «обучающий набор», другой - «тестовый набор». Я хочу выполнить итерацию некоторого алгоритма (назовем AAA, для которого требуется входной формат RDD), используя «Учебный набор плюс только одна строка тестового набора», следуя шагу ниже.
- Объединить весь тренировочный набор + «первую» строку тестового набора.
- Запуск некоторого алгоритма с использованием данных 1 и получение результата.
- Объединить весь обучающий набор + «вторую» строку тестового набора.
- Запуск некоторого алгоритма с использованием данных 2 и получение результата.
- Объединить весь обучающий набор + «третий» ряд тестового набора. … Итерация до последней строки набора тестов.
На самом деле, в руководстве по искрам я проверил, что RDD и DataFrame в искре неизменяемы, поэтому было невозможно использовать
Testset.map( x => AAA(Trainset.union(x)) )
Кроме того, я попытался использовать
Testset.map( x => AAA(Trainset.union(Array(x.get(0).toString.toDouble, x.get(1).toString.toDouble, ... x.get(19).toString.toDouble))
но это не сработало :(. Есть ли какое-либо решение, чтобы сделать возможным вышеупомянутый шаг? Если у вас есть хорошая идея для этой проблемы, пожалуйста, помогите мне.
// Изменить и добавить условие
Из-за трудоемкой проблемы мне нужно использовать параллельные вычисления. Поэтому я не мог использовать цикл for. Спасибо.
fold
, а неmap
. Однако тот факт, что иTestset
, иTrainset
являются DataFrames, означает, что это не сработает, afaik, поскольку вы столкнетесь с проблемами сериализации. - person hoyland   schedule 10.05.2018