Я пытаюсь сгруппировать значение (ключ, значение) с помощью apache spark (pyspark).
Мне удается выполнить группировку по ключу, но внутри я хочу сгруппировать значения, как в следующем примере.
Мне нужно сгруппировать по cout () столбец GYEAR.
%pyspark
rdd1 = sc.textFile("/datos/apat63_99.txt")
rdd2 = rdd1.map(lambda line : line.split(",") ).map(lambda l : (l[4],l[1],l[0]))
for line in rdd2.take(6):
print(line)
######################
rdd3 = rdd2.map(lambda line:(line[0],(line[1:]) ))
rddx = rdd2.groupByKey()
rddx.take(5)
Я ожидаю, что результат будет:
IN:
(u'"COUNTRY"', u'"GYEAR"', u'"PATENT"')
(u'"BE"', u'1963', u'3070801')
(u'"BE"', u'1964', u'3070811')
(u'"US"', u'1963', u'3070802')
(u'"US"', u'1963', u'3070803')
(u'"US"', u'1963', u'3070804')
(u'"US"', u'1963', u'3070805')
(u'"US"', u'1964', u'3070807')
OUT: * +1011 *
(u'"BE"', [(u'1963', 1), (u'1964', 1)])
(u'"US"', [(u'1963', 4), (u'1964', 2)])