我已经通过 df.saveAsTable
当我运行以下查询时,我会收到这些结果
spark.sql("""SELECT * FROM mytable """).show()
我得到了dataframe及其所有列和所有数据的视图。
但是当我跑的时候
spark.sql("""SELECT 'NameDisplay' FROM mytable """).show()
我收到的结果是这样的
| NameDisplay|
|--|
| NameDisplay |
| NameDisplay |
| NameDisplay |
| NameDisplay |
| NameDisplay |
| NameDisplay |
namedisplay绝对是表中的一列,正如我运行时所显示的那样 select *
-为什么在第二个查询中没有显示这一点?
2条答案
按热度按时间3yhwsihp1#
选择
'NameDisplay'
,在sql中,选择文本“namedisplay”。因此,你得到的结果实际上是有效的。要选择“namedisplay”列的值,则必须发出:
或者,如果您需要引用它(如果列是这样创建的,或者有空格,或者区分大小写):
这是sql语法,没有特定于spark的内容。
xbp102n02#
问题是在列名上使用引号。需要通过backtick``namediplay转义`