Spark DF 解决字段重新命名和字段类型转化
2021-01-16 本文已影响0人
团团饱饱
困境:目前数据仓库中需要对字段进行统一命名,字段较多。不可能在代码一一改动。
一,需要你是三元组 找到你重新命名和对应的类型或者重新命名Map 和类型Map
val OrderDetailColInfoList = List(
("key", OrderDetailMysqlId, StringType),
.....
)
类型转化和命名:
val reNameDF = df.select(df.columns.map(c => col(c).as(reNameMap.getOrElse(c, c))): _*)
val typeDF = reNameDF.select(reNameDF.columns.map(c => col(c).cast(typeMap.getOrElse(c, StringType))): _*)
这样你需要维护三元组或者把三元组改为配置文件。