Свинья: Как группировать кортежи в сумке? - PullRequest
0 голосов
/ 19 октября 2018

У меня есть файл данных, который выглядит следующим образом:

(id1, ['seller_name' # 'Ray'], {(A), (B), (C)})(id2, ['seller_name' # 'Ray'], {(B), (C)})(id3, ['seller_name' # 'Sam'], {(A), (D)})(id4, ['seller_name' # 'Ray'], {(B), (D)})

Я хочу получить это:

(Луч, А, 1)(Рэй, В, 3)(Рэй, С, 2)(Рэй, D 1)(Сэм, А, 1)(Сэм, D 1)

Таким образом, в основном количество идентификаторов, сгруппированных по ключу 'seller_name' (из map , называемой 'sellers') и уникальных кортежей в сумке (называемых «компаниями»).

Я могу группировать только по ключу карты , но когда яЯ не могу группировать по кортежам в сумке .Я попытался сгруппировать по FLATTEN(companies), но он берет только первый кортеж и возвращает вместо этого:

(Ray, A, 1)(Рэй, В, 2)(Сэм, А, 1)

Может кто-нибудь помочь, пожалуйста?

...