Spark DataFrame并重命名多列(Java)

Jir*_*riS 12 java apache-spark apache-spark-sql

有没有更好的方法在给定SparkSQL的同时为多个列添加前缀或重命名,而DataFrame不是多次调用dataFrame.withColumnRenamed()?

例如,如果我想检测更改(使用完全外连接).然后我留下两个DataFrame具有相同结构的s.

Zyo*_*oma 13

我建议使用select()方法来执行此操作.实际上withColumnRenamed()方法本身使用select().以下是如何重命名多个列的示例:

import org.apache.spark.sql.functions._

val someDataframe: DataFrame = ...

val initialColumnNames = Seq("a", "b", "c")
val renamedColumns = initialColumnNames.map(name => col(name).as(s"renamed_$name"))
someDataframe.select(renamedColumns : _*)
Run Code Online (Sandbox Code Playgroud)