pyspark - 如何使用 Pyspark/SQL/DataFrames SPARK RDD 更新/删除 DB2 源表数据?
问题描述
我正在尝试运行 upsert/delete DB2 数据库源表中的一些值,这是 DB2 上的现有表。是否可以使用 Pyspark/Spark SQL/Dataframes。
解决方案
没有使用 Pyspark 作业在关系数据库中更新/删除的直接方法,但有一些变通方法。
(1)您可以在关系数据库中创建一个相同的空表(辅助表)并使用 pyspark 作业将数据插入辅助表,并编写一个 DML 触发器,该触发器将对您的主表执行所需的 DML 操作。
(2) 您可以在 spark 中创建一个数据框(例如 a),作为您现有关系表的副本,并将现有表数据框与当前数据框(例如 b)合并并创建一个新的数据框(例如 c)有最新的变化。现在截断关系数据库表并使用 spark latest changes dataframe(c) 重新加载。
这些只是一种解决方法,而不是大量数据的最佳解决方案。
推荐阅读
- sql - 用于跟踪 SQL 架构(如基础设施即代码)的工具?
- oracle - Oracle Keep Alive 测试 SQL_NET.EXPIRE_TIME 不起作用
- javascript - 如何使用链接预加载和匹配标题预加载视频?
- linux - QTCreator 复制文件
- express - 当我在控制台中看到 JSON cookie 属性时,为什么我无法从 Express 中读取属性?
- linkedin - 如何通过 LinkedIn API 检索公司内所有员工的列表?
- php - 如何从一列中提取多行
- python - PatsyError:错误评估因素:NameError:
- ruby-on-rails - Rails 中的错误 SENDING POST 和 HTTPPARTY 语义错误我的请求
- java - URL 未正确映射通过页面