Pyspark RDD - 过滤和未过滤的数据
Pyspark RDD - both filtered and unfiltered data
我从 spark 会话创建了一个 RDD。我的数据是系统日志格式。我想将前缀为 <128>1 的行过滤为有效行,将不满足条件的行过滤为无效行。
rdd2=rdd1.filter(lambda rec: rec.startswith('<128>1') or rec.startswith('<134>1'))
如何在同一函数中同时获取无效行?
参考:https://sparkbyexamples.com/pyspark/pyspark-where-filter/
你可以只使用有效条件的否定(not
):
valid = rdd1.filter(lambda rec: rec.startswith('<128>1') or rec.startswith('<134>1'))
invalid = rdd1.filter(lambda rec: not(rec.startswith('<128>1') or rec.startswith('<134>1')))
我从 spark 会话创建了一个 RDD。我的数据是系统日志格式。我想将前缀为 <128>1 的行过滤为有效行,将不满足条件的行过滤为无效行。
rdd2=rdd1.filter(lambda rec: rec.startswith('<128>1') or rec.startswith('<134>1'))
如何在同一函数中同时获取无效行?
参考:https://sparkbyexamples.com/pyspark/pyspark-where-filter/
你可以只使用有效条件的否定(not
):
valid = rdd1.filter(lambda rec: rec.startswith('<128>1') or rec.startswith('<134>1'))
invalid = rdd1.filter(lambda rec: not(rec.startswith('<128>1') or rec.startswith('<134>1')))