我的sql查询很长,并且存储在文件中。我想通过传递参数来使n
子句动态化。
在scala中,我想使用spark where
(查询文件)执行此操作。请帮忙。
sqlcontext.sql
在文件上,我拥有:
val FromDate = "2019-02-25"
val sqlfile = fromFile("queryfile").getLines.mkString
val result = sqlContext.sql(sqlfile)
答案 0 :(得分:0)
很简单,使用scala的replace方法:
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)