首页 > 解决方案 > 如何使用 Pyspark/SQL/DataFrames SPARK RDD 更新/删除 DB2 源表数据?

问题描述

我正在尝试运行 upsert/delete DB2 数据库源表中的一些值,这是 DB2 上的现有表。是否可以使用 Pyspark/Spark SQL/Dataframes。

标签: pysparkapache-spark-sqlspark-streamingpyspark-sql

解决方案


没有使用 Pyspark 作业在关系数据库中更新/删除的直接方法,但有一些变通方法。

(1)您可以在关系数据库中创建一个相同的空表(辅助表)并使用 pyspark 作业将数据插入辅助表,并编写一个 DML 触发器,该触发器将对您的主表执行所需的 DML 操作。

(2) 您可以在 spark 中创建一个数据框(例如 a),作为您现有关系表的副本,并将现有表数据框与当前数据框(例如 b)合并并创建一个新的数据框(例如 c)有最新的变化。现在截断关系数据库表并使用 spark latest changes dataframe(c) 重新加载。

这些只是一种解决方法,而不是大量数据的最佳解决方案。


推荐阅读