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))): _*)

这样你需要维护三元组或者把三元组改为配置文件。

上一篇下一篇

猜你喜欢

热点阅读