org.apache.spark.sql.AnalysisException:无法解析给定输入列的“AB”:无法解析spark sql查询中的变量

问题描述 投票:0回答:1

所以我在Scala中使用spark SQL API。我在查询中使用变量。以下是代码段。 DF2_VIEW是为数据帧创建的视图。

val x = 'AB'

val newDf = spark.sql(s"""select * from GLOBAL_TEMP.DF2_VIEW
             WHERE $x = SOME_FIELD_IN_DF2_VIEW""")

它告诉我错误

Exception in thread "main" org.apache.spark.sql.AnalysisException: cannot 
resolve '`AB`' given input columns: [COLUMNS NAMES IN DF2_VIEW]

我正在使用Spark 2.2,scala 2.11.8如果您需要任何其他信息,请告诉我。

scala apache-spark apache-spark-sql
1个回答
0
投票

简单的工作示例。不确定这是否是您所需要的:

val df = Seq(("Amy",20),("Tom",18)).toDF("Name","Age")
df.show()

val x = "Amy"

df.createOrReplaceTempView("DF2_VIEW")
val qry = s"""select * from DF2_VIEW where '${x}' = Name"""
spark.sql(qry).show(false)

Output:

+----+---+
|Name|Age|
+----+---+
|Amy |20 |
+----+---+
© www.soinside.com 2019 - 2024. All rights reserved.