pyspark数据帧的区分大小写的列删除操作?

pyspark数据帧的区分大小写的列删除操作?,pyspark,apache-spark-sql,Pyspark,Apache Spark Sql,通过一些简短的测试,pyspark数据帧的列删除函数似乎不区分大小写,例如 从pyspark.sql导入SparkSession 从pyspark.sql.functions导入* 导入系统 sparkSession=sparkSession.builder.appName(“我的会话”).getOrCreate() dff=sparkSession.createDataFrame([(10123),(14456),(16678)],[“年龄”,“年龄]) >>>dff.show() +---+

通过一些简短的测试,pyspark数据帧的列删除函数似乎不区分大小写,例如

从pyspark.sql导入SparkSession
从pyspark.sql.functions导入*
导入系统
sparkSession=sparkSession.builder.appName(“我的会话”).getOrCreate()
dff=sparkSession.createDataFrame([(10123),(14456),(16678)],[“年龄”,“年龄])
>>>dff.show()
+---+---+
|年龄|年龄|
+---+---+
| 10|123|
| 14|456|
| 16|678|
+---+---+
>>>dff.下降(“年龄”)
数据帧[]
>>>dff_drop=dff.drop(“年龄”)
>>>dff_已删除。show()
++
||
++
||
||
||
++
"""
我想在这里看到的是:
+---+
|年龄|
+---+
| 10|
| 14|
| 16|
+---+
"""
是否有方法以区分大小写的方式删除数据帧列?(在spark中看到了一些与此相关的注释,但正在寻找仅以特殊方式应用于
drop()
操作的内容(不是全局/持久设置

如果有两个列具有 同名


这是否是持久性的(即,我是否需要调用
sqlContext.sql(“set spark.sql.caseSensitive=false”)
,在
drop()
之后的行中,数据帧操作才能像以前一样运行)?请注意,任何找到此答案的人:从我在原始帖子中的代码,您还需要从pyspark.sql导入SQLContext
SQLContext=SQLContext(sparkSession.sparkContext)
执行
,以使用此答案使用的
SQLContext
对象。
#Add this before using drop
sqlContext.sql("set spark.sql.caseSensitive=true")