spark数据清洗

复制代码
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")
  }
}
相关推荐
appsvip16 分钟前
用短说社区搭建的沉浸式生活方式分享平台
大数据·生活
我爱写代码?36 分钟前
MapReduce架构-打包运行
大数据·spark
MZWeiei2 小时前
Spark SQL 运行架构详解(专业解释+番茄炒蛋例子解读)
大数据·分布式·sql·架构·spark
不穿铠甲的穿山甲3 小时前
MySQL-数据库分布式XA事务
数据库·分布式·mysql
Hadoop_Liang3 小时前
解决Mawell1.29.2启动SQLException: You have an error in your SQL syntax问题
大数据·数据库·maxwell
火龙谷3 小时前
【hadoop】Flume的相关介绍
大数据·hadoop·flume
.Rw4 小时前
Hadoop区别
spark
噼里啪啦啦.5 小时前
RabbitMQ
分布式·rabbitmq
Luck_ff08105 小时前
Elasticsearch 快速入门指南
大数据·elasticsearch·搜索引擎
天天爱吃肉82185 小时前
大数据:新能源汽车宇宙的未来曲率引擎
大数据·汽车