我已经通过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 *
时显示 - 为什么第二个查询中没有显示?
答案 0 :(得分:0)
问题是在列名称上使用引号。需要通过反引号“NameDisplay”
进行转义答案 1 :(得分:0)
在SQL中选择'NameDisplay'
,选择文字,文本“NameDisplay”。在那,你得到的结果实际上是有效的。
要选择“NameDisplay”列的值,您必须发出:
"SELECT NameDisplay FROM mytable "
或者,如果你需要引用它(可能是这个列是这样创建的,或者是空格,或者区分大小写):
"""SELECT `NameDisplay` FROM mytable"""
这是SQL语法,没有特定于Spark。