Spark SQL - 在列名称中使用逗号为列添加别名

Spark SQL - Alias a column with comma in column name

我必须使用 spark SQL 将数据块中临时视图中的数据以逗号分隔格式存储到数据帧中。 因此,对于临时视图中的多列,dataframe 只需要存储一列,所有数据列分开

示例如下:

Temp View: temp_class
roll  name   subject
111   Ram    Maths

Dataframe: df

roll,name,subject
111,Ram,Maths

Below is the code without alias:

df= spark.sql("""
select concat(roll,',',name,',',subject) from temp_class
"""
)

当我尝试像传统的 SQL 方式(下面的代码)那样添加别名时,databricks 会抛出错误 - 输入不匹配 "roll,name,subject" 期望

df= spark.sql("""
select concat(roll,',',name,',',subject) as "roll,name,subject" from temp_class
"""
)

如何输入别名?

您需要将列别名放在``(重音符号或反引号)中。

试试这个,它应该适合你 -

df= spark.sql("""
select concat(roll,',',name,',',subject) as `roll,name,subject` from temp_class
"""
)