В Scala как мне передать параметры в файл с инструкциями sql и использовать SQLContext.sql?

#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)