是否可以使用JDBC删除行?

2024-10-04 11:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

使用spark jdbc连接,我可以读取或写入数据。例如:

app_project_model_df = (
  sqlContext.read.format("jdbc")
  .option("url",sqlURL)
  .option("driver","com.microsoft.sqlserver.jdbc.SQLServerDriver")
  .option("dbtable","app.projectmodel")
  .option("user", dbuser)
  .option("password", dbpassword)
  .load()
)

但是,是否可以以同样的方式执行其他SQL查询?让我们说delete from app.projectmodel where key = 6。或者我需要使用纯python来实现这一点

我找不到这方面的任何文件。先谢谢你


Tags: 数据projectappformaturldfreadmodel
2条回答

在@thebluephantom的答案上添加额外细节

根据spark的jdbc文档

如果编写查询/dbtable-><user_specified_query>

然后spark将运行如下查询:

SELECT <columns> FROM (<user_specified_query>) spark_gen_alias

可以触发DB的SQL引擎的FROM子查询支持的任何查询。 因此,从中不支持删除

否,除非您自己通过forEachPartition实现DF

相关问题 更多 >