首页 > 解决方案 > 如何在rdd spark scala中的split()之后过滤?

问题描述

1,John,NY
2,Bill,FL
3,Harry,TX

我有一个包含上述数据的文本文件。

val rdd = sc.textFile("/path").map(x=>(x.split(",")(0).toInt,x.split(",")(1),x.split(",")(2)))

在此之后,我如何过滤名称为 Bill 或数字大于 2 的数据?还是有另一种方法可以在没有拆分功能的情况下做到这一点?

标签: apache-sparkfiltersplit

解决方案


使用filter功能。

df
.map(x=>(x.split(",")(0).toInt,x.split(",")(1),x.split(",")(2)))
.filter(row => row._2 == "Bill" || row._1 > 2)

推荐阅读