pyspark 无法在配置单元元存储中创建列名包含逗号的表

n9vozmp4  于 2022-11-21  发布在  Spark
关注(0)|答案(1)|浏览(122)

尝试使用以下命令从Spark Dataframe 创建增量表:

destination_path = "/dbfs/mnt/kidneycaredevstore/delta/df_corr_feats_spark_4"

df_corr_feats_spark.write.format("delta").option("delta.columnMapping.mode", "name").option("path",destination_path).saveAsTable("CKD_Features_4")

获取以下错误:
分析异常:无法在配置单元元存储中创建列名包含逗号的表。表:第一个月专栏:不良,abc初次接触
请注意,此数据框中大约有6k列,它是由数据科学家开发的生成功能。因此,我们无法重命名列。
如何修复此错误?Metastore中的任何配置更改都可以解决此问题吗?

iyfjxgzm

iyfjxgzm1#

Column mapping功能需要Delta protocol的writer版本5和reader版本2,因此在保存时需要指定:

df_corr_feats_spark.write.format("delta")
    .option("delta.columnMapping.mode", "name")
    .option("delta.minReaderVersion", "2")
    .option("delta.minWriterVersion", "5")
    .option("path", destination_path)
    .saveAsTable("CKD_Features_4")

相关问题