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")
  }
}
相关推荐
沧澜sincerely4 小时前
Raft 代码分析
分布式·共识算法·raft协议
189228048615 小时前
NW728NW733美光固态闪存NW745NW746
大数据·服务器·网络·人工智能·性能优化
我重来不说话6 小时前
xFile:高性能虚拟分布式加密存储系统——Go
分布式·压缩存储·权限系统·动态加密·虚拟存储
2401_831501738 小时前
Linux之Zabbix分布式监控篇(一)
分布式·zabbix
gorgor在码农9 小时前
分布式ID方案
分布式
云朵大王10 小时前
SQL 视图与事务知识点详解及练习题
java·大数据·数据库
Aikes90210 小时前
基于redis的分布式session共享管理之销毁事件不生效问题
redis·分布式·缓存
萤火虫儿飞飞11 小时前
从基础加热到智能生态跨越:艾芬达用创新重构行业价值边界!
大数据·人工智能·重构
seanmeng202211 小时前
Apache Iceberg on AWS - 通过Firehose流式导入数据到Iceberg表
大数据
seanmeng202212 小时前
Apache Iceberg on AWS - 理解Iceberg表格式
大数据