重命名Python Spark数据框列名或为其指定别名
我使用的是PySpark 2.4.3,我有一个数据框,我想把它写到拼花地板上,但是列名中有空格,比如重命名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
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')
这就做到了,太简单了!非常感谢。