在我的场景中,我需要从一个数据框获取一个结果,并将该结果用作另一个数据框的变量。
val newdate = spark.sqlContext.sql("select interval_startdt from FROMCOSMOS order by interval_startdt ASC limit 1")
.collectAsList.toString.replaceAll("[\\[\\]]","'")
RESULT : newdate: String = ''2014-06-27 00:00:00''
val finalresult = spark.sqlContext.sql("select * from Table2 where interval_startdt='$newdate'").show
上面的值没有给我任何值,但是当我插入实际日期时它会给我结果。
谁能帮我解决这个问题。
答案 0 :(得分:0)
我发现您的查询有几个问题:
首先,您尝试使用字符串插值('$newdate'
),但是没有将s"
放在sql字符串的前面,因此newdate
的值不在实际查询。
据我了解,第二,在Table2
中,列interval_startdt
的类型可能是“日期”或“时间戳”。因此,您可能应该像"select * from Table2 where interval_startdt= to_timestamp('$newdate', "YYYY-MM-DD hh:mm:ss")"