Программа Wordcount для Apache PySpark - PullRequest
0 голосов
/ 21 января 2019

Мне дали задание создать программу Wordcount в Python Spark.Я должен подсчитать количество слов, начиная с каждого алфавита.

Вот код, который я написал, но не могу получить результат.Может ли кто-нибудь помочь мне с устранением неполадок?

Содержимое in.txt: люди не так красивы, как выглядят, ходят или разговаривают.они прекрасны настолько, насколько они любят, и заботятся о том, как делятся.

import re
import sys
from pyspark import SparkConf, SparkContext

conf = SparkConf()
sc = SparkContext(conf=conf)
inRDD = sc.textFile("in.txt")
words = inRDD.flatMap(lambda l: re.split(" ",l))
LetterCount = words.map(lambda s : (s[0],1))
result = LetterCount.reduceByKey(lambda n1, n2 : n1 + n2)

1 Ответ

0 голосов
/ 21 января 2019

Ваш код в порядке.Просто нужно добавить collect в конце:

result.collect()  

[('s', 1),
 ('l', 2),
 ('a', 10),
 ('n', 1),
 ('t', 8),
 ('c', 1),
 ('p', 1),
 ('b', 2),
 ('w', 1),
 ('o', 2)]

И вы можете заменить

import re
words = inRDD.flatMap(lambda l: re.split(" ",l))

на

words = inRDD.flatMap(str.split)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...