spark计算出来后,得到dataframe,需要删除dataframe中的ids。
在SQL语句中,我们可以通过【delete from table where id in ('id1','id2')】,所以只需要把算到的df转换成string字符串的格式,具体实现如下:
val df = Seq(("111"),("222"),("333")
).toDF("ID")val delObj = df.select("ID").as[String].map(elem=> s"'$elem'").collect().mkString(",")val delSql = s"delete from $tableName where $delObj"Class.forName(//PG配置)
val conn = DriverManager.getConnection(url, properties)
val delPS = conn.prepareStatement(delSql)var cnt = delPS.executeUpdate()delPS.close()
conn.close()