【问题标题】:Pyspark : error while reading paquet filePyspark:读取镶木地板文件时出错
【发布时间】: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 值。

标签: python pyspark parquet


【解决方案1】:

镶木地板文件是如何创建的。如果可能,检查列的映射是否有空间。

如果不可能,请尝试告诉数据帧阅读器 api 您自己的架构

像这样的东西 schema = "col1 字符串,col2 整数"

df = spark.read.format("镶木地板")
.option("路径",ur_path)
.schema(模式)
。加载() 打印(df.schema.simplestring())

请检查是否有帮助

【讨论】:

    猜你喜欢
    • 2022-06-16
    • 2018-08-13
    • 2021-11-10
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多