过滤pyspark.带有正则表达式的RDD



我有一个pyspark。RDD包含我想过滤掉的日期。日期以这样的形式出现在我的RDD:

data.collect() = ["Nujabes","Hip Hop","04:45 16 October 2018"]

我一直在尝试通过regex过滤这些使用:

r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}"

但我做的方式不对:

data = data.filter(lambda x: x != r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}")

对于上面给定的data,所需的输出将是

data.collect() = ["Nujabes","Hip Hop"]

您可以使用Python正则表达式进行筛选:

data2 = data.filter(lambda x: not re.match(r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}", x))

相关内容

  • 没有找到相关文章

最新更新