Apache spark SparkSQL列查询是否不显示列内容?
我通过Apache spark SparkSQL列查询是否不显示列内容?,apache-spark,hadoop,pyspark,apache-spark-sql,azure-hdinsight,Apache Spark,Hadoop,Pyspark,Apache Spark Sql,Azure Hdinsight,我通过df.saveAsTable 当我运行以下查询时,我会收到这些结果 spark.sql("""SELECT * FROM mytable """).show() 我得到了DataFrame及其所有列和所有数据的视图 但是当我跑的时候 spark.sql("""SELECT 'NameDisplay' FROM mytable """).show() 我收到的结果如下所示 | NameDisplay| |--| | NameDisplay | | NameDisplay | | N
df.saveAsTable
当我运行以下查询时,我会收到这些结果
spark.sql("""SELECT * FROM mytable """).show()
我得到了DataFrame及其所有列和所有数据的视图
但是当我跑的时候
spark.sql("""SELECT 'NameDisplay' FROM mytable """).show()
我收到的结果如下所示
| NameDisplay|
|--|
| NameDisplay |
| NameDisplay |
| NameDisplay |
| NameDisplay |
| NameDisplay |
| NameDisplay |
当我运行
select*
时,NameDisplay肯定是表中的一列-为什么在第二个查询中不显示它 问题是在列名上使用引号。需要通过反勾“`namesplay`选择'namesplay'
,在SQL中,是选择文本“namesplay”。在这方面,你得到的结果实际上是有效的
要选择“名称显示”列的值,则必须发出:
"SELECT NameDisplay FROM mytable "
或者,如果您需要引用它(可能是在列是这样创建的,或者有空格,或者区分大小写的情况下):
这是SQL语法,与Spark无关。谢谢!然而,我发现双引号也不起作用,我需要通过倒勾转义`
"""SELECT `NameDisplay` FROM mytable"""