【发布时间】:2020-02-22 00:19:31
【问题描述】:
我正在做一个小项目来理解 PySpark,我正在尝试让 PySpark 对 txtfile 中的单词执行以下操作;它应该“忽略”单词大小写的任何变化(即,While vs while),并且它应该“忽略”单词末尾可能出现的任何其他字符(即橙色与橙色,橙色与橙色? ) 并将它们都算作同一个词。
我相当肯定某种 lambda 函数或正则表达式是必需的,但我不知道如何将它概括到可以弹出任何类型的文本文件(如一本书)并让它吐回正确的分析。
到目前为止,这是我的代码:
import sys
from pyspark import SparkContext, SparkConf
input = sc.textFile("/home/user/YOURFILEHERE.txt")
words = input.flatMap(lambda line: line.split(" "))
wordCounts = words.map(lambda word: (word, 1)).reduceByKey(lambda a,b:a +b)
wordCounts.collect()
我需要做的最后一件事是对单词进行频率分析(即“While”这个词出现 80% 的时间),但我相当确定如何做到这一点,目前正在将其添加到我现在拥有的;我只是在大小写和特殊字符包含方面遇到了很多问题。
在这个问题上的任何帮助,即使只是指导也会很棒。谢谢各位!
【问题讨论】: