微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在过滤器pyspark RDD中过滤掉以“ URL”开头的行

如何解决如何在过滤器pyspark RDD中过滤掉以“ URL”开头的行

我初始化了一个 pyspark sc。

task1 = (text.filter(lambda x: len(x)>0 )) # to filter empty lines
task1.collect()

我的目标是过滤掉此文本片段中以“URL”开头的行:

['网址:http://www.nytimes.com/2016/06/30/sports/baseball/washington-nationals-max-scherzer-baffles-mets-completing-a-sweep.html','华盛顿——尽管他们的进攻陷入困境,但在上赛季的前半段,出色的投球让大都会队保持了稳定。

如何使用 pyspark 语法轻松完成此操作?

解决方法

你可以使用正则表达式

GC.@preserve
,

问题需要样本输入和输出。我假设提供的数据是表中的行。如果不是这种情况,很高兴在澄清后更改答案。如果是的话;

说数据是;

+---+--------------------+
|SID|           Attribute|
+---+--------------------+
|  1|[URL: http://www....|
|  2|scherzer-baffles-...|
|  3|kept the Mets afl...|
+---+--------------------+

让我们将 filterPySpark expr() 一起使用;在数据框中执行类似 SQL 的表达式的 SQL 函数

from pyspark.sql.functions import *
df.filter(expr("Attribute like '[__%'")).show()#Finds any values that start with "[" and are at least 3 characters in length

+---+--------------------+
|SID|           Attribute|
+---+--------------------+
|  1|[URL: http://www....|
+---+--------------------+

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。