Найти список терминов в документе с pyspark - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть два документа (1.tmt и 2.tmt), которые я собрал как RDD.

1.tmt содержит следующее:

1 Name name name name
2 hol olallall olelpqwl 
3 Nema Nam name 
4 alasdflasdfNamelasdf
5 asdoew Name pawolfe Build
6 Build asldpf Build Name

2.tmt содержитследующее:

11 namenameNamenameNamename
12 osaoOOOPsdaflwfeöäöäewÄÄ#
13 otzopafjfNampeüäMNameöääÄ äaää NasöNameöäöl
14 ppafsasdnameas
15 BuildbuildBuild
16 Name Build

И у меня есть .txt с терминами, которые я хочу найти (в данном случае «Имя» и «Сборка»), по одной строке для каждого термина.

Я хотел бы получить строки, которые содержат термины, существующие в searchTerms.txt.У меня есть следующий код:

from pyspark import SparkContext, SparkConf
from pyspark.sql import SparkSession
sc = SparkContext(conf=SparkConf())
files = sc.textFile("./data/ethernet")
words = []
with open('searchTerms.txt', 'r') as file:
    words = file.read().splitlines()
for i in range(0, len(words)):
    changes.append(files.filter(lambda line: words[i] in line).collect())

Это работает, но я бы хотел, чтобы поиск по всем терминам в документах осуществлялся напрямую с pyspark.Это возможно?Спасибо.

РЕДАКТИРОВАТЬ: Я попробовал некоторые двойной лямбда, но я не мог заставить его работать.Может быть, решение что-то вроде этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...