在 Spark 表列名中保留特殊字符

Posted

技术标签:

【中文标题】在 Spark 表列名中保留特殊字符【英文标题】:Keeping Special Characters in Spark Table Column Name 【发布时间】:2020-10-22 16:31:28 【问题描述】:

有什么方法可以为 spark 3.0 表中的列保留特殊字符?

我需要做类似的事情

CREATE TABLE schema.table
AS
SELECT id=abc
FROM tbl1

我在 Hadoop 中读到你会在列名周围放回勾号,但这在 spark 中不起作用。

如果在 PySpark 中有一种方法也可以做到这一点

【问题讨论】:

【参考方案1】:

事实证明,parquet 和 delta 格式在任何情况下都不接受特殊字符。您必须使用行格式分隔

spark.sql("""CREATE TABLE schema.test
             ROW FORMAT DELIMITED
             SELECT 1 AS `brand=one` """)

【讨论】:

以上是关于在 Spark 表列名中保留特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

如何在MySQL列名中使用特殊字符?

列名中的特殊字符

SAS:如何使用带有特殊字符 $ 的表列

在 BigQuery 的列名中包含特殊字符?

如何使用 HIVE JDBC 驱动程序在列名中使用特殊字符?

当列名包含空格和特殊字符时从 data.table 包中读取?