小编Kis*_*tai的帖子

如何有效检查Spark Dataframe中是否包含单词列表?

我正在尝试使用PySpark数据帧尽可能高效地执行以下操作。我有一个数据框,其中的一列包含文本和我要过滤行的单词列表。所以:

数据框看起来像这样

df:
col1    col2   col_with_text
a       b      foo is tasty
12      34     blah blahhh
yeh     0      bar of yums
Run Code Online (Sandbox Code Playgroud)

该列表将是list = [foo,bar] ,因此结果将是:

result:
col1    col2   col_with_text
a       b      foo
yeh     0      bar
Run Code Online (Sandbox Code Playgroud)

之后,不仅将完成相同的字符串匹配,而且还将通过使用SequenceMatcher进行测试以进行相似性测试。这是我已经尝试过的:

def check_keywords(x):
   words_list = ['foo','bar']

   for word in x
       if word == words_list[0] or word == words_list[1]:
           return x

result = df.map(lambda x: check_keywords(x)).collect()
Run Code Online (Sandbox Code Playgroud)

不幸的是我不成功,有人可以帮我吗?提前致谢。

python dataframe apache-spark pyspark

3
推荐指数
1
解决办法
3440
查看次数

标签 统计

apache-spark ×1

dataframe ×1

pyspark ×1

python ×1