Результат Dataframe в качестве переменной для другого dataframe с использованием Scala - PullRequest
0 голосов
/ 26 февраля 2020

В моем сценарии мне нужно получить результат из фрейма данных и использовать этот результат в качестве переменной для другого фрейма данных.

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 голосов
/ 26 февраля 2020

Я вижу пару проблем с вашим запросом:

Сначала вы пытаетесь использовать интерполяцию строк ('$newdate'), но вы не поставили s" перед вашим sql string, поэтому значение newdate на самом деле отсутствует в запросе.

Во-вторых, насколько я понимаю, в Table2 столбец interval_startdt, вероятно, имеет тип "date" или "timestamp" , Так что вы, вероятно, должны переписать свою очередь как "select * from Table2 where interval_startdt= to_timestamp('$newdate', "YYYY-MM-DD hh:mm:ss")"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...