You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark DataFrame写入Delta时分区列名称异常问题求助

分区列名称乱码问题原因及解决方法

你的问题核心原因是分区列名中包含多余空格:在partitionBy("X ","Y","Z ")里,"X "和"Z "的末尾带有空格字符。

Spark在处理分区列名时,会对列名中的特殊字符(包括空格)进行URL编码,空格会被转换为%20,最终生成的分区文件夹名称就会变成类似X%20=xxx的形式,看起来像是乱码。

解决方法非常直接,只需去掉列名前后的空格,修改后的代码如下:

silver_path=data_lake_container+"/"+ destination["folder"]
df_date.write \
        .format("delta") \
        .mode("overwrite") \
        .option("header","true") \
        .option("overwriteSchema", "true") \
        .option("path", silver_path) \
        .partitionBy("X","Y","Z") \
        .saveAsTable('Table_name') # External table

这样生成的分区文件夹就会显示为预期的X=xxx、Z=xxx格式。

内容的提问来源于stack exchange,提问作者Sreekanth TN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 04:22:07