我的句子是说,“我想删除这个字符串如此糟糕。”
text = sc.textFile(...)
我想过滤掉(即删除)单词“string”,我注意到在python中,有一个“re”包。我试过
RDD.map(lambda x: x.replaceAll("<regular expression>", ""))
过滤掉“字符串”,但似乎在PySpark中没有这样的函数,因为它给了我一个错误。如何导入“re”包?或者在PySpark中有没有其他函数可以用来根据正则表达式删除/过滤掉某些字符串?
9vw9lbht1#
你可以简单地导入re包,如下所示。
import re text = sc.textFile(...) out = re.sub("string", '', text) print out
pobjuy322#
我不确定Spark中的文本的具体配置,但一般的方法(对于任何类型的var)都是使用.map()方法。例如:
RDD.map(lambda s: s.replace("string",""))
uklbhaso3#
要对文本文件的内容使用re.sub,请对文件中的每一行使用lambda函数:rdd_sub = rdd.map(lambda line: re.sub("<regexpattern>", "<newvalue>", line))
rdd_sub = rdd.map(lambda line: re.sub("<regexpattern>", "<newvalue>", line))
3条答案
按热度按时间9vw9lbht1#
你可以简单地导入re包,如下所示。
pobjuy322#
我不确定Spark中的文本的具体配置,但一般的方法(对于任何类型的var)都是使用.map()方法。
例如:
uklbhaso3#
要对文本文件的内容使用re.sub,请对文件中的每一行使用lambda函数:
rdd_sub = rdd.map(lambda line: re.sub("<regexpattern>", "<newvalue>", line))