pyspark-sql - Spark SQL - 在列名中使用逗号为列命名
问题描述
我必须使用 spark SQL 将临时视图中的数据存储在数据块中,以逗号分隔格式存储到数据帧中。因此,对于临时视图中的多列,数据框只需要存储一列,所有数据列都是分开的
下面是示例:
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 会引发错误 - Mismatched input "roll,name,subject" Expecting
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
"""
)
推荐阅读
- javascript - 获取数据并通过ajax附加它
- java - JAVA:如何将数组拆分为多个数组,其中“ViewAll”是数组的标题
- c - C中结构的大小与重新排列的变量不同
- python - 使用 python 从“Samuel L. JacksonJessica BielBrian Presley50 CentChristina RicciChad Michael Murray”中提取文本
- db2 - Db2 在什么平台上运行
- react-native - React Native 与 Android Pay(android) 和 Apple Pay(iOS) 集成
- csv - 使用 apache-nifi 将两个流文件合并为一个流
- javascript - PDFJS:PDF 文本呈现错误
- mysql - 错误 1822 MySql 缺少约束索引
- sql - 如何在字符之间选择一个字符串