如何使用 pyspark 和正则表达式在字符串 RDD 中查找以 my_str 开头的所有单词?

Elm*_*662 3 regex apache-spark rdd

我有一个字符串 RDD(全部小写),我想使用正则表达式来匹配或查找以“can”开头的所有单词。我怎样才能在Python中做到这一点?

作为输入的示例

rdd = sc.parallelize(['canada','canpar','beauty','can']) 
Run Code Online (Sandbox Code Playgroud)

我想要一个像这样的输出

['canada','canpar','can']
Run Code Online (Sandbox Code Playgroud)

这是一个 RDD。

avr*_*avr 6

使用字符串函数

filteredRDD = rdd.filter(lambda x: x.startswith('can'))
Run Code Online (Sandbox Code Playgroud)

与使用re模块

import re
filteredRDD = rdd.filter(lambda x: re.compile('can').match(x))
Run Code Online (Sandbox Code Playgroud)

您可以通过收集filteredRDD的内容来测试结果filteredRDD.collect()