У меня есть 3 строки для ввода, которые имеют ключ и значения сгруппированы.Теперь нужно разгруппировать значения для каждой пары ключ-значение.
Пример ввода
LKG, LK1, 10, LK2, 20, LK3, 30
UKG, UK1, 20, UK2, 10, UK5
SRKG, SRK4, 30, SRK10, 5
Ожидаемый результат
LKG,LK1
LKG,LK2
LKG,LK3
UKG,UK1
UKG,UK2
UKG,UK5
SRKG,SRK4
SRKG,SRK10
ПРИМЕЧАНИЕ: целочисленные значения, такие как 10,20,30 не должно иметь никакой пары ключ-значение в выходных данных
Я пробовал эту программу, но не смог исключить числа из данного ввода, и ключ приходит как другая пара ключ-ключ.
val data = """
LKG, LK1, 10, LK2, 20, LK3, 30
UKG, UK1, 20, UK2, 10, UK5
SRKG, SRK4, 30, SRK10, 5""".trim
val records = sc.parallelize(data.split('\n'))
val pairs = records.map(x => (x.split(',')(0), x))
val groupedRDD = pairs.flatMap{case(k, v)=> v.split(",").map(x => (k, x))}
groupedRDD.collect().foreach(println)
Пожалуйста, предложите, что может быть альтернативой для решения этой проблемы?