Я бы хотел использовать API Scark scala для этого. У меня есть данные в следующем формате:Spark RDD: сортировка массива чисел
id1 val1, val2, val3
id2 val1, val2, val3, val4, val5, val6
id3 val1, val2, val3, val4
все vals являются целыми числами, и я хотел бы, чтобы результат был отсортирован. Например, для следующего в/р
1 100, 20, 150
10 50, 1000, 2, 400
результат должен быть:
1 20, 100, 150
10 2, 50, 400, 1000
Любая помощь будет здорово!
Вот код для чтения файла:
val dummy_data = sc.textFile("pato/to/file").map(line => ((line.split("\t"))(0), (line.split("\t"))(1).split(",")))
dummy_data.collect()
Приведенный выше код дает о/р, как: Array [(String, Array [String])] = Array ((100, Array (5 , 2, 4, 3, 1)), (1000, Array (14, 11, 10, 12, 13)))
Теперь, как мне сделать эту dummy_data соответствующим образом, чтобы я мог сортировать значения во втором элемент.
Когда я прочитал его из файла с помощью СБН. textFile, it com es out как org.apache.spark.rdd.RDD [(String, Seq [String])], а не как org.apache.spark.rdd.RDD [(String, Seq [Int])], что было бы самым эффективный способ его корректного использования - Seq (Int)? – user3803714
Просто замените '_.sorted' на' _.map (_. ToInt) .sorted' – zero323
Обновлен вопрос. – user3803714