Как выполнить groupBy с несколькими файлами в pyspark? - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в pyspark и у меня есть два отдельных файла .txt, каждый из которых является CSV с табуляцией в качестве разделителя.

Таким образом, один из этих файлов «файл A» содержит идентификатор пользователя и поле, которое я хочу подсчитать, другой «файл B» содержит информацию о возрасте и поле пользователя, а также содержитконечно, идентификатор пользователя (точнее, эти файлы можно найти здесь: https://www.kaggle.com/c/kddcup2012-track2/data, но это не так важно).

Я пытаюсь подсчитать поле, которое нужно подсчитатьв файле А и сгруппировать по полу и возрасту.

Таким образом, вывод будет:

count(value), sex, age
count(value), sex, age 
...

Запрос sql в основном будет выглядеть следующим образом:

select count (val), sex, age from a, b, где a.userid = b.userid группировать по полу, возрасту;

В pyspark я делаю:

path = "/user/root/test.txt"
lines = sc.textFile(path)

# to read the file then:
# being the first field the val to be counted the second one the userid
data = lines.map(lambda l: l.split()).map(lambda l: (float(l[0]), int(l[1]))).collect()

Я знаю, что теперь я могу делать групповые, выполняя data.groupby .. (поле..) b

Но я не знаю, как продолжить, так как я нашел некоторые примеры, прибегая к помощи Google, но все они ссылаются на использование одного файла при групповом

...