spark scala 对RDD进行过滤----filter使用方法

来源:互联网 发布:矩阵谱分解 编辑:程序博客网 时间:2024/05/16 10:21

现有一个 rdd: RDD [(String, Int)]

val rdd = sc.parallelize(Seq(("a",1), ("a",2), ("b",2), ("b",3), ("c",1)))

过滤条件逻辑运算符:>, <, ==
整数类型数据的过滤
rdd.filter(_._2==2)
rdd.filter(_._2>2)
rdd.filter(_._2<2)

rdd.filter(x => x._2==2)
rdd.filter(x => x._2>2)
rdd.filter(x => x._2<2)

传递参数过滤
val ind=2
rdd.filter(x => x._2==ind)
rdd.filter(_._2==ind)
rdd.filter(_._2>ind)
rdd.filter(_._2<ind)

rdd.filter(x => x._2==ind)
rdd.filter(x => x._2>ind)
rdd.filter(x => x._2<ind)

字符串类型过滤

rdd.filter(_._1=="a")
rdd.filter(x => x._1=="a")

传递参数过滤

val str = s"a"

rdd.filter(_._1==str)

rdd.filter(x => x._1==str)

rdd.filter(x => x._2==2)

Array及List对象的过滤与RDD的过滤方法一样
原创粉丝点击