概述
第1关:招聘信息数据清洗汇总
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._
object zhaopin_clean {
def main(args: Array[String]): Unit = {
var conf = new SparkConf().setMaster("local[*]").setAppName("SparkTest")
var sc = new SparkContext(conf)
val spark:SparkSession = SparkSession.builder().config(conf).getOrCreate()
//************* Begin *************
//读取数据,创建Dataframe对象
//将第一行清除掉
//读取要清洗的数据
val df= spark.read.option("delimiter", ",").option("header", "true" ).csv("/data/workspace/myshixun/step1/DATA/zhaopindata.csv")
//将性别列中的无修改成不限
val df1 = df.withColumn("sex", regexp_replace(col("sex"), "无", "不限"))
//将职位类型列中的毕业生见习修改成实习
val df2 = df1.withColumn("job_type", regexp_replace(col("job_type"), "毕业生见习", "实习"))
//将教育列中的本科,专科提取出来,保持数据的统一性
val df3 = df2.withColumn("education",split(col("education"),"以")(0))
//将薪资列中的不限修改成面议
val df4 = df3.withColumn("salary", regexp_replace(col("salary"), "不限", "面议"))
//将福利待遇列中的不限修改成面议
val df5 = df4.withColumn("welfare", regexp_replace(col("welfare"), "不限", "面议"))
//将招聘人数列中的若干修改成3
val df6 = df5.withColumn("num", regexp_replace(col("num"), "若干", "3"))
//将工作时间列中的不限修改成其他
val df7 = df6.withColumn("worktime", regexp_replace(col("worktime"), "不限", "其他"))
//将公司类型中不限改成其他
val df8 = df7.withColumn("company_type", regexp_replace(col("company_type"),"不限", "其他"))
//保存清洗后的数据
val df9=df8.distinct()
df9.coalesce(1).write.csv("/root/files/data/")
//************** End **************
spark.stop()
}
}
最后
以上就是殷勤夏天为你收集整理的招聘信息数据清洗的全部内容,希望文章能够帮你解决招聘信息数据清洗所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复