【问题标题】:Scala Dataframe columns with space save as a databricks table带有空间的Scala Dataframe列保存为databricks表
【发布时间】:2021-06-18 05:19:29
【问题描述】:

我正在研究 databricks 笔记本 (Scala),我有一个类似这样的 spark 查询:

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

我想将其存储为数据块表。我尝试了以下代码:

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

但由于列名中的空格,它会出错。这是错误:

属性名称在 " ,;{}()\n\t=" 中包含无效字符。请使用别名重命名。;

我不想删除空格,所以有什么替代方法吗?

【问题讨论】:

    标签: scala apache-spark apache-spark-sql databricks


    【解决方案1】:

    不,这是 Databricks 在后台使用的底层技术的限制(例如,PARQUET-677)。这里唯一的解决方法是重命名列,如果名称中需要有空格,请在读取时进行重命名。

    【讨论】:

    • 在这种情况下,是否可以将文件存储为带有空格的列的 CSV?
    • 是的,应该可以,但是在读取数据的时候会失去所有的性能优化
    猜你喜欢
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2019-03-10
    • 2022-11-04
    • 1970-01-01
    • 2021-12-07
    • 2019-11-09
    • 1970-01-01
    相关资源
    最近更新 更多