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

重命名CSV列后如何将其转换为Parquet格式?

解决方法

你的判断是对的:之前的代码仅在内存中生成了修改后的DataFrame(df1),并没有将结果持久化到实际文件中。Spark的withColumnRenamed属于转换操作(Transformation),这类操作不会立即执行,只有遇到动作操作(Action)(比如printSchema、write)时才会触发实际计算。

要将重命名列后的DataFrame保存为Parquet文件,只需要对修改后的df1调用write方法,并指定输出路径即可,完整代码如下:

input_filepath = '/<path_to_file>/2500.csv'
# 读取CSV文件
df_csv = spark.read.option('header', True).csv(input_filepath)
# 重命名列
df1 = df_csv.withColumnRenamed("xyz", "abc")
# 打印Schema验证修改(可选)
df1.printSchema()
# 将修改后的数据保存为Parquet文件
output_parquet_path = '/<path_to_output>/output_data.parquet'
df1.write.mode('overwrite').parquet(output_parquet_path)

关键说明:

  • 必须使用修改后的df1而非原始的df_csv执行写入操作,这样保存的Parquet文件才会包含重命名后的列。
  • parquet()方法需要传入输出路径,不能留空。在Databricks中,你可以使用DBFS路径,比如'/dbfs/mnt/your_storage/output.parquet'或者直接用'dbfs:/mnt/your_storage/output.parquet'。
  • mode('overwrite')表示如果输出路径已存在,会覆盖原有文件;你也可以根据需求换成append(追加)、ignore(忽略)或error(默认,路径存在则报错)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:05:21