涉及到Spark中的RDD时,以下是filter和map这两个操作的作用和Scala示例:
作用:根据指定的条件筛选出满足条件的元素,返回一个新的RDD。
示例:
val inputRDD = sc.parallelize(Seq(1, 2, 3, 4, 5))
val filteredRDD = inputRDD.filter(x => x % 2 == 0)
filteredRDD.collect()
输出结果:
Array(2, 4)
上述示例中,我们使用filter操作从原始RDD中筛选出所有偶数。通过指定条件x % 2 == 0,我们保留了所有满足该条件的元素。
作用:对RDD中的每个元素应用指定的函数,并返回一个新的RDD,新RDD的元素是应用函数后的结果。
示例:
val inputRDD = sc.parallelize(Seq(1, 2, 3, 4, 5))
val mappedRDD = inputRDD.map(x => x * 2)
mappedRDD.collect()
输出结果:
Array(2, 4, 6, 8, 10)
上述示例中,我们使用map操作将原始RDD中的每个元素都乘以2。通过指定函数x => x * 2,我们将原始RDD中的每个元素都映射为该函数的结果。