#sql #scala #apache-spark #dynamic
#sql #scala #apache-spark #динамический
Вопрос:
Мой sql-запрос длинный и хранится в файле. Я хотел бы сделать where
предложение динамическим, передавая параметры. В scala я хотел бы выполнить это с помощью spark sqlcontext.sql
(queryfile).queryfile). Пожалуйста, помогите.
val FromDate = "2019-02-25"
val sqlfile = fromFile("queryfile").getLines.mkString
val result = sqlContext.sql(sqlfile)
В файле, который у меня есть:
Select col1, col2 from table1 where transdate = '${FromDate}'
Ответ №1:
Это просто, используйте метод replace в scala:
val FromDate = "2019-02-25"
val s = "Select col1, col2 from table1 where transdate = '${FromDate}'"
val withParameters= s.replace("${FromDate}",FromDate )
println(withParameters)
val result = sqlContext.sql(withParameters)