首页 > 解决方案 > 使用scala将变量从Spark传递给Postgresql

问题描述

通常我可以使用以下命令从 Spark 访问 Hive 表:

val start = "20191009"
val end   = "20200112"
val df= ss.sql(s"""select * from myTable where dat between '$start' and '$end' """)

通过前面的代码,我可以通过在变量前面包含变量来将变量传递给SQL$

现在我想做与之前相同的逻辑,但使用postgres表格。我有通过以下方式连接到它的 Postgres 表:

val statement = connection.createStatement()

var gg = statement.executeQuery("update myTable set firstV='NewValue' where SecondV =$val;")

我想将一个变量传递给前一个 sql(传递给 val 变量)。

标签: postgresqlscalaapache-sparkhive

解决方案


您的第二个代码片段没有使用s修饰符,因此$替换将不起作用。尝试

var gg = statement.executeQuery(s"update myTable set firstV='NewValue' where SecondV =$val;")```

推荐阅读