通常,我可以通过以下方式从spark访问配置单元表:
val start = "20191009"
val end = "20200112"
val df= ss.sql(s"""select * from myTable where dat between '$start' and '$end' """)
根据前面的代码,我可以通过包含 $
在变量前面。
现在我想用同样的逻辑 postgres
table。我有一个postgres表,我通过它连接到它:
val statement = connection.createStatement()
var gg = statement.executeQuery("update myTable set firstV='NewValue' where SecondV =$val;")
我想把一个变量传递给上一个sql(to val variable)。
2条答案
按热度按时间nnsrf1az1#
您的第二个代码段未使用
s
修饰符,因此$
替换将不起作用。尝试yrwegjxp2#
作为
@Charlie Flowers
击中部分问题;我错过了比赛s
查询前面的修饰符。另一个问题是试图将postgres表的结果保存在一个变量中(在我的例子中)gg
),查询将直接在postgres数据库/表上执行,所以我删除了var gg =
部分。而且,这对我很有帮助,因为我以前
executeQuery
当我不得不使用executeUpdate
,所以我的查询应该是: