Pyspark可以使用JDBC来传递Alter Table吗
Posted
技术标签:
【中文标题】Pyspark可以使用JDBC来传递Alter Table吗【英文标题】:Can Pyspark Use JDBC to Pass Alter Table 【发布时间】:2020-06-01 18:00:45 【问题描述】:在我使用 pyspark 从 Databricks 笔记本加载数据后,我想将 alter table 命令传递给我的 PostgreSQL 数据库。我知道我可以使用spark.read.jdbc
传递查询,但在这种情况下,我想在数据加载后添加一个唯一约束。目的是通过减少创建唯一索引的时间来加快将数据加载到数据库中的过程。
【问题讨论】:
【参考方案1】:Spark 是一个数据处理框架,因此它的 API 主要用于数据源的读写操作。在您的情况下,您需要执行一些 DDL 语句,而 Spark 不应该执行此类操作。
更好的选择是在 spark sql 中处理数据后保持 DDL 操作分开。您可以在此处再添加一个 PostgreSQL 作业来执行此类操作。
【讨论】:
您将此答案呈现为引号,这表明您从其他地方复制了它。如果是这种情况,请注明引用并确保它不是您的全部答案(答案应该由您编写,可选地由引号支持)。如果这是您自己的答案,请不要使用引用块。 谢谢,我不知道,我只是用它来格式化。 引用块仅用于引用。 @MarkRotteveel 那我只能换一种方式了。 Databricks 可能会连接,因此我可以模块化我的流程以使用 pg API 添加约束。以上是关于Pyspark可以使用JDBC来传递Alter Table吗的主要内容,如果未能解决你的问题,请参考以下文章
使用 PySpark JDBC 将数据帧写入 Azure SQL 数据库时性能下降
pyspark df.write.format("jdbc") 授权声明 DB2