使用Scala将数据框的结果作为另一个数据框的变量

时间:2020-02-26 10:14:27

标签: scala dataframe apache-spark

在我的场景中,我需要从一个数据框获取一个结果,并将该结果用作另一个数据框的变量。

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

上面的值没有给我任何值,但是当我插入实际日期时它会给我结果。

谁能帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我发现您的查询有几个问题:

首先,您尝试使用字符串插值('$newdate'),但是没有将s"放在sql字符串的前面,因此newdate的值不在实际查询。

据我了解,第二,在Table2中,列interval_startdt的类型可能是“日期”或“时间戳”。因此,您可能应该像"select * from Table2 where interval_startdt= to_timestamp('$newdate', "YYYY-MM-DD hh:mm:ss")"

那样重写队列