思路
1.读取数据,读入文本文件 sc.textFile()
2.对于文件中的每一行
(1)拆分出年龄 split(",")(1)
(2)判断年龄是否为数字,是,保留
3.将过滤后的数据保存到文件中 saveAsTextFile()
package org.example
import org.apache.spark.{SparkConf, SparkContext}
object DataFilter {
//思路
//1.读取数据,读入文本文件 sc.textFile()
//2.对于文件中的每一行
// 拆分出年龄 split(",")(1)
// 判断年龄是否为数字,是,保留
//3.将过滤后的数据保存到文件中 saveAsTextFile()
def main(args: Array[String]): Unit = {
//创建spark
val conf = new SparkConf().setMaster("local[*]").setAppName("DataFilter")
val sc = new SparkContext(conf)
val rdd = sc.textFile("data/file.txt")
var rdd1 = rdd.filter(line => {
//拆分年龄
val age = line.split(",")(1)
//判断年龄是否为数字
println(age)
age.matches("\\d+") //返回值是一个boolean
})
//将所有的分区的数据合并成一个分区
rdd1 = rdd1.coalesce(1)
rdd1.saveAsTextFile("output")
}
}
RDD案例-数据清洗
最新推荐文章于 2025-08-11 13:45:23 发布