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")
}
}
spark数据清洗
只因只因爆2025-05-16 13:40
相关推荐
字节跳动数据平台28 分钟前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力得物技术2 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术武子康3 小时前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑武子康1 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地大大大大晴天1 天前
Flink生产问题排障-Kryo serializer scala extensions are not available武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程肌肉娃子4 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线