Tag: pyspark sql

如何更改pyspark中的数据框列名?

我来自pandas的背景,习惯于从CSV文件中读取数据到数据框中,然后使用简单的命令简单地将列名更改为有用的东西: df.columns = new_column_name_list 但是,在使用sqlContext创build的pyspark数据框中不起作用。 我可以想出的唯一解决scheme就是: df = sqlContext.read.format("com.databricks.spark.csv").options(header='false', inferschema='true', delimiter='\t').load("data.txt") oldSchema = df.schema for i,k in enumerate(oldSchema.fields): k.name = new_column_name_list[i] df = sqlContext.read.format("com.databricks.spark.csv").options(header='false', delimiter='\t').load("data.txt", schema=oldSchema) 这基本上定义了两次variables,首先推断模式,然后重命名列名,然后再次使用更新的模式加载数据框。 有没有比pandas更好更高效的方法来做到这一点? 我的火花版本是1.5.0