【发布时间】:2021-03-19 07:55:43
【问题描述】:
我正在尝试使用以下命令使用 pyspark 读取镶木地板文件:
file = spark.read.parquet("/FileStore/tables/file_name.parquet")
parquet 文件中的列有空格。所以我尝试使用以下方法重命名列:
for c in file.columns:
file = file.withColumnRenamed(c, c.replace(" ", ""))
当我查看列名和架构时,我的列没有空格。但是,当我尝试显示数据框时出现错误:
AnalysisException: Attribute name "Col Name" contains invalid character(s) among " ,;{}()\n\t=". Please use alias to rename it.;
知道如何解决这个问题吗?
【问题讨论】:
-
您确定您的列没有空格吗?也许一列有两个空格,而您只留下一个空格。我会使用具有预定义新名称的字典来重命名列,而不是使用替换。另外,请检查您的列是否在所有示例中都没有填充 Na 值。