首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache PySpark的字计数程序

Apache PySpark的字计数程序
EN

Stack Overflow用户
提问于 2019-01-21 16:12:52
回答 2查看 671关注 0票数 0

我的任务是在Python中创建一个wordcount程序。我应该从每个字母表开始数单词的数目。

这是我写的代码,但我似乎无法得到结果。有人能帮我排除故障吗?

in.txt内容:人们并不像他们看上去那么漂亮,他们走路或者说话的样子。他们只有爱的时候才有美,他们的共同关心也是如此。

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-21 17:13:52

你的代码没问题。只需在末尾添加collect

代码语言:javascript
复制
result.collect()  

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

你可以代替

代码语言:javascript
复制
import re
words = inRDD.flatMap(lambda l: re.split(" ",l))

使用

代码语言:javascript
复制
words = inRDD.flatMap(str.split)
票数 0
EN

Stack Overflow用户

发布于 2019-10-12 10:52:10

使用函数的Apache PySpark最简单的方法的字计数程序

代码语言:javascript
复制
import pyspark.sql.functions as f

wordsDF = spark.read.text("path/log.txt")
df = wordsDF.withColumn('wordCount', f.size(f.split(f.col('value'), ' ')))
df.createOrReplaceTempView("wc")
df2 = spark.sql("SELECT SUM(wordCount) as Total FROM wc").show()


+-----+
|Total|
+-----+
|  147|
+-----+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54293827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档