pyspark不使用正则表达式

时间:2016-06-14 16:24:29

标签: regex pyspark

我已经从包含网址列表的文件中制作了RDD:

WHERE topic='$topic'

现在我正在尝试使用包含' net.com'的所有行创建另一个RDD。此字符串以非数字或字母符号开头。我的意思是包含.net.com或url_data = sc.textFile("url_list.txt") net.com的行,并排除internet.com或cnet.com。

\t

但这一行没有结果。 如何让pyspark shell与正则表达式一起工作?

1 个答案:

答案 0 :(得分:2)

为什么不在python中定义使用re或re2(更快)包的函数,如果匹配则返回Bool。

def url_filter(url):
    pattern = re.compile(r'REGEX_PATTERN')
    match = pattern.match(URL)
    if match:
        return True
    else:
        return False

然后将其传递给过滤函数url_data.filter(lambda x: python_regex_fuction(x))