Spark Inverted Index - PullRequest
       21

Spark Inverted Index

0 голосов
/ 01 ноября 2018

Я создаю инвертированный индекс документов, в котором выходные данные должны содержать слово (из текстовых файлов), за которым следуют все файлы, в которых оно появилось, а также количество вхождений в каждом файле. Что-то вроде

word1: doc1.txt: # вхождений в doc1, doc2.txt: # вхождений в doc2, doc3 ...

word2: doc1.txt: # вхождений в doc1, doc2.txt: # вхождений в doc2, doc3 ...

Я могу вывести слова и документы, в которых они содержатся, но у меня проблемы с подсчетом экземпляров каждого слова в каждом документе.

Код:

from pyspark import SparkConf, SparkContext
sc = SparkContext("local", "app")
text=sc.wholeTextFiles('/folder')

output = text.flatMap(lambda (file,contents):[(file, word) for word in contents.lower().split()])\
            .map(lambda word: (word, 1))\
            .map(lambda (file, word): (word,[file]))\
            .reduceByKey(lambda a,b: a+b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...