pyspark.sql.utils.AnalysisException:参考“标题”不明确,可能是:标题,标题
Posted
技术标签:
【中文标题】pyspark.sql.utils.AnalysisException:参考“标题”不明确,可能是:标题,标题【英文标题】:pyspark.sql.utils.AnalysisException: Reference 'title' is ambiguous, could be: title, title 【发布时间】:2021-12-05 09:13:23 【问题描述】:我正在使用胶水版本 3.0、python 版本 3、火花版本 3.1。 我正在从 xml 中提取数据,创建数据框并将数据以 csv 格式写入 s3 路径。 在编写数据帧之前,我使用 show(1) 打印了数据帧的模式和 1 条记录。到目前为止一切都很好。 但是在将其写入 s3 位置的 csv 文件时,发现错误重复列,因为我的数据框有 2 列,即“标题”和“标题”。 尝试添加一个新列 title2 ,该列将包含标题内容,并考虑稍后使用以下命令删除标题
从 pyspark.sql 导入函数为 f
df=df.withcoulumn('title2',f.expr("title"))
但出现错误 引用“标题”不明确,可能是:标题、标题 试过df=df.withcoulumn('title2',f.col("title"))
得到同样的错误。 请任何帮助或解决此问题的方法..
【问题讨论】:
【参考方案1】:默认spark不区分大小写,我们可以通过将spark.sql.caseSensitive
设置为True
来使spark区分大小写。
from pyspark.sql import functions as f
df = spark.createDataFrame([("CaptializedTitleColumn", "title_column", ), ], ("Title", "title", ))
spark.conf.set('spark.sql.caseSensitive', True)
df.withColumn('title2',f.expr("title")) .show()
输出
+--------------------+------------+------------+
| Title| title| title2|
+--------------------+------------+------------+
|CaptializedTitleC...|title_column|title_column|
+--------------------+------------+------------+
【讨论】:
感谢您的回复。在 AWS 中,我使用以下设置设置配置:Open Glue> 作业 > 编辑作业> 脚本库和作业参数(可选)> 底部附近的作业参数设置以下内容:键:--conf 值:spark.sql。 caseSensitive=True以上是关于pyspark.sql.utils.AnalysisException:参考“标题”不明确,可能是:标题,标题的主要内容,如果未能解决你的问题,请参考以下文章