space 的 Scala Dataframe 列保存为数据块 table

Scala Dataframe columns with space save as a databricks table

我正在使用 databricks notebook (Scala),我有一个类似这样的 spark 查询:

df = spark.sql("SELECT columnName AS `Column Name` FROM table")

我想将其存储为数据块 table。我尝试了以下相同的代码:

df.write.mode("overwrite").saveAsTable("df")

但是由于列名中的 space 而出现错误。这是错误:

Attribute name contains invalid character(s) among " ,;{}()\n\t=". Please use alias to rename it.;

我不想删除 space 那么有什么替代方法吗?

不,这是 Databricks 在后台使用的底层技术的限制(例如,PARQUET-677)。这里唯一的解决办法是重命名列,如果你需要在名称中有space,读回来的时候重命名。