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")
  }
}
相关推荐
^Moon^2 小时前
CycloneDDS:跨主机多进程通信全解析
c++·分布式·dds
长安城没有风6 小时前
从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁
数据库·redis·分布式
言之。6 小时前
大模型嵌入 vs ES:语义搜索与关键字搜索
大数据·elasticsearch·搜索引擎
SirLancelot17 小时前
StarRocks-基本介绍(一)基本概念、特点、适用场景
大数据·数据库·数据仓库·sql·数据分析·database·数据库架构
阑梦清川7 小时前
es的docker部署和docker相关的可可视化面板工具介绍
大数据·elasticsearch·docker
Mr_LiYYD8 小时前
elasticsearch数据迁移
大数据·elasticsearch·搜索引擎
dalianwawatou9 小时前
GitLab 代码基础操作清单
大数据·elasticsearch·gitlab
Costrict9 小时前
解锁新阵地!CoStrict 现已支持 JetBrains 系列 IDE
大数据·ide·人工智能·深度学习·自然语言处理·ai编程·visual studio
爬山算法9 小时前
Redis(69)Redis分布式锁的优点和缺点是什么?
数据库·redis·分布式
阿里云大数据AI技术10 小时前
云栖实录|阿里云 Milvus:AI 时代的专业级向量数据库
大数据·人工智能·搜索引擎