使用Spark写入数据到数据库表
项目场景:
使用Spark写入数据到数据库表
问题描述
Column "20231201" not found in schema Some(StructType(StructField(sdate,IntegerType,false),StructField(date_time,StringType,true),StructField(num,LongType,false),StructField(table_code,StringType,false),StructField(table_name,StringType,false),StructField(explain,StringType,false),StructField(remark,StringType,false)))
解决方案:
在使用Spark写入数据到数据库表时,如果要写入的数据字段名与目标表的字段名不完全相同,可以通过select语句取别名,对数据进行字段映射,以确保写入数据的字段与目标表的字段对应正确
tips:
要写入的数据字段名与目标表的字段名一定要相同,字段的顺序通常不会影响数据的写入,因为数据框架(DataFrame)会根据字段名进行匹配。但是,为了确保数据的清晰性和可读性,建议在select语句中保持字段的顺序与目标表一致。