所以我在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 让我知道您是否需要其他信息。
答案 0 :(得分: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 |
+----+---+