1,261
社区成员
发帖
与我相关
我的任务
分享
那要看改什么属性了。
下面的例子把所有ColumnName换成小写
scala> spark.version
res0: String = 2.4.7
scala> case class E(ID:Int, NAME:String)
defined class E
scala> val df = Seq(E(1,"N1"), E(2,"N2")).toDF
df: org.apache.spark.sql.DataFrame = [ID: int, NAME: string]
scala> df.printSchema
root
|-- ID: integer (nullable = false)
|-- NAME: string (nullable = true)
scala> df.show(false)
+---+----+
|ID |NAME|
+---+----+
|1 |N1 |
|2 |N2 |
+---+----+
scala> df.select(df.columns.map(x => col(x).as(x.toLowerCase)): _*).printSchema
root
|-- id: integer (nullable = false)
|-- name: string (nullable = true)
scala> df.select(df.columns.map(x => col(x).as(x.toLowerCase)): _*).show(false)
+---+----+
|id |name|
+---+----+
|1 |N1 |
|2 |N2 |
+---+----+
应该可以用 withcolumn + udf 的方式进行修改