import org.apache.spark.{SparkConf, SparkContext} object DataFilter { // 思路 // 1. 读取数据,读入文本文件 // 2. 对于文件中的每一行 // 拆分出年龄split(",")(1) // 判断是不是数字,是,就保留记录"45","abc" (正则表达式 \d+) // 3. 把过滤之后的内容,保存到文件saveAsTexttFile() def main(args: Array[String]): Unit = { // 创建spark val conf = new SparkConf().setAppName("DataFilter").setMaster("local[*]") val sc = new SparkContext(conf) val rdd = sc.textFile("data/file.txt") // 过滤之后的rdd var rdd1 = rdd.filter(line => { // 拆分出年龄 val age = line.split(",")(1) // 判断年龄是否是数字 println(age) age.matches("\\d+") }) //将所有的分区数据合并成一个分区 rdd1 = rdd1.coalesce(1) //保存到文件 rdd1.saveAsTextFile("data/file1.txt") } }