Я работаю над небольшим проектом, чтобы понять PySpark, и я пытаюсь заставить PySpark выполнить следующие действия над словами в txtfile; он должен «игнорировать» любые изменения в заглавных буквах слов (т. е. «время» против «время») и «игнорировать» любые дополнительные символы, которые могут быть в конце слов (т. е. оранжевый против оранжевый, против оранжевый. против оранжевый? ) и посчитать их все как одно и то же слово.
Я вполне уверен, что требуется какое-то лямбда-выражение или выражение регулярного выражения, но я не знаю, как его обобщить настолько, чтобы можно было вытолкнуть любой текстовый файл (как в книге) и пусть он выплюнет правильный анализ.
Вот мой Код на данный момент:
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()
Последнее, что мне нужно сделать, - это сделать частотный анализ для слова (т. е. слово «пока» отображается в 80% случаев), но я совершенно уверен, как это сделать, и сейчас добавляю его для того, что имею сейчас; У меня просто так много проблем с заглавными буквами и включением специальных символов.
Любая помощь по этому вопросу, даже просто руководство, была бы полезна. Спасибо, ребята!