sql - 在 Scala 上,如何使用 sql 语句将参数传递给文件并使用 sqlContext.sql?
问题描述
我的 sql 查询很长并且存储在一个文件中。我想where
通过传递参数使子句动态化。在 scala 中,我想使用 spark sqlcontext.sql
(查询文件)执行此操作。请帮忙。
val FromDate = "2019-02-25"
val sqlfile = fromFile("queryfile").getLines.mkString
val result = sqlContext.sql(sqlfile)
在我有的文件上:
Select col1, col2 from table1 where transdate = '${FromDate}'
解决方案
很简单,使用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)
推荐阅读
- machine-learning - 图像的空间分辨率与 CNN 架构的大小之间有什么关系?
- reactjs - 使用 useState 对无状态功能组件进行 Jest 单元测试
- java - SQLBuilder ForeignKeyConstraint - 设置级联
- reactjs - 何时使用静态站点生成器?
- r - R-我可以使用 R 强制关闭共享(网络)文件吗?
- android - 如何在 Handler 类中发送时间戳?
- python - python unittests中的quit方法使用Selenium引发ConnectionResetError
- jquery - 提交时生成 reCaptcha Token
- amazon-web-services - S3 触发器向 AWS SNS 发送批量上传通知
- c++ - 链表指针问题