如何使用RAW Spark SQL和Dataframe方法降低数据框列名的大小写,而不是其值的大小写?
输入数据框(假设我有100个大写的列)
NAME | COUNTRY | SRC | CITY | DEBIT
---------------------------------------------
"foo"| "NZ" | salary | "Auckland" | 15.0
"bar"| "Aus" | investment | "Melbourne"| 12.5
目标 Dataframe
name | country | src | city | debit
------------------------------------------------
"foo"| "NZ" | salary | "Auckland" | 15.0
"bar"| "Aus" | investment | "Melbourne"| 12.5
5条答案
按热度按时间iq0todco1#
如果你使用的是 scala,你可以简单地执行以下操作
如果您使用的是 pyspark,则只需执行以下操作即可
ifmq2ha22#
Java 8
解决方案将列名转换为小写。vtwuwzda3#
不如这样:
一些虚假数据:
现在重新选择所有具有新名称的列,这只是它们的小写版本:
df.columns.map(c => s"$c as ${c.toLowerCase}")
在Python中就是map(lambda c: c.lower(), df.columns)
,cols:_*
就是*cols
,请注意我没有运行这个翻译。db2dz4w84#
适用于Java 8
xmq68pz95#
您可以在python中为spark Dataframe 使用df.withColumnRenamed(col_name,col_name.lower())