Я новичок в 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, но все они ссылаются на использование одного файла при групповом