Я играл со Spark, и мне удалось заставить его обрабатывать мои данные. Мои данные состоят из плоского текстового файла с разделителями, состоящего из 50 столбцов и около 20 миллионов строк. У меня есть скрипты scala, которые будут обрабатывать каждый столбец.
Что касается параллельной обработки, я знаю, что операция RDD выполняется на нескольких узлах. Итак, каждый раз, когда я обрабатываю столбец, они обрабатываются параллельно, но сам столбец обрабатывается последовательно.
Простой пример: если мои данные представляют собой текстовый файл с разделителями из 5 столбцов, и каждый столбец содержит текст, и я хочу подсчитать количество слов для каждого столбца. Я бы сделал:
for(i <- 0 until 4){
data.map(_.split("\t",-1)(i)).map((_,1)).reduce(_+_)
}
Хотя операция каждого столбца выполняется параллельно, сам столбец обрабатывается последовательно (плохая формулировка, которую я знаю. Извините!). Другими словами, столбец 2 обрабатывается после завершения столбца 1. Столбец 3 обрабатывается после завершения столбцов 1 и 2 и так далее.
Мой вопрос: есть ли способ обрабатывать несколько столбцов одновременно? Если вы знаете способ, или учебник, не могли бы вы поделиться им со мной?
благодарю вас!!