// 清洗数据 创建sparksession
val spark = SparkSession
.builder()
.appName("数据清洗服务")
.master("local[*]")
.config("hive.metastore.dir", "thrift://node3:9083")
.enableHiveSupport()
.getOrCreate()
//这里使用的是数据去重的表列
val hive: DataFrame = spark.table("ods.qc1").select("name", "age", "gender",
"phone", "data_d")
// 这是去重之后的数据
var qc_hive= hive.distinct()
//qc_hive.na.drop().show() //这是删除null值的列
//qc_hive.na.fill("table1").show() //这里是填充为table1
val t_tmil=LocalDate.nAow().plusDays(-1).toString().replace("-","") //填充昨天的时间
//给去重后的表创建视图
qc_hive.createOrReplaceTempView("qc_data")
var dwd_hive = qc_hive.withColumn("dt", date_format(col("data_d"), "yyyyMMdd")).na.fill(t_tmil)
dwd_hive.show()
dwd_hiveQ
.write
.partitionBy("dt")
.mode(SaveMode.Overwrite)
.saveAsTable("dwd.qc1")
spark.close()
使用scala清洗hive数据
最新推荐文章于 2024-07-05 09:47:10 发布