【问题标题】:Rename or give alias to Python Spark dataframe column names重命名 Python Spark 数据框列名称或为其赋予别名
【发布时间】:2019-07-20 09:12:55
【问题描述】:

我正在使用 PySpark 2.4.3,并且我有一个希望写入 Parquet 的数据框,但列名有空格,例如 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.;

如何重命名列或给它们别名以便能够写入 Parquet?

【问题讨论】:

    标签: python apache-spark dataframe pyspark


    【解决方案1】:

    您可以使用withColumnRenamed(existing, new) 方法重命名列,然后写入parquet。应该是这样的:

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

    【讨论】:

    • 这样就搞定了,太简单了!谢谢
    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2019-08-19
    • 2019-09-26
    • 1970-01-01
    相关资源
    最近更新 更多