Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重命名Python Spark数据框列名或为其指定别名_Python_Apache Spark_Dataframe_Pyspark - Fatal编程技术网

重命名Python Spark数据框列名或为其指定别名

重命名Python Spark数据框列名或为其指定别名,python,apache-spark,dataframe,pyspark,Python,Apache Spark,Dataframe,Pyspark,我使用的是PySpark 2.4.3,我有一个数据框,我想把它写到拼花地板上,但是列名中有空格,比如Hour of day df = spark.read.csv("file.csv", header=True) df.write.parquet('input-parquet/') 我当前遇到此错误: An error occurred while calling o425.parquet. : org.apache.spark.sql.AnalysisException: Attribute

我使用的是PySpark 2.4.3,我有一个数据框,我想把它写到拼花地板上,但是列名中有空格,比如
Hour of day

df = spark.read.csv("file.csv", header=True)
df.write.parquet('input-parquet/')
我当前遇到此错误:

An error occurred while calling o425.parquet.
: org.apache.spark.sql.AnalysisException: Attribute name "Hour of day" contains invalid character(s) among " ,;{}()\n\t=". Please use alias to rename it.;

如何重命名列或为它们提供别名以便能够写入拼花地板?

您可以使用
WithColumnRename(现有、新)
方法重命名列,然后写入拼花地板。应该是这样的:

df.withColumnRenamed('Hour of day', 'Hour')

这就做到了,太简单了!非常感谢。