当前位置: 首页 > 知识库问答 >
问题:

Spark-读取Terradata表并向上插入Oracle表

史磊
2023-03-14

我正在使用spark从Terradata表读取数据,并希望在Oracle中升级该表。我可以插入数据,但我可以执行UPSERT吗?

这就是我如何将数据插入Oracle。

数据帧。写模式(SaveMode.Append)。jdbc(url,表6,道具)

共有2个答案

萧浩漫
2023-03-14

我已经安排火花作业每天运行一次,并使用dataframe.write.mode(SaveMode.jdbc(url, table, props).因此,每次火花作业运行时,它都会从Teradata表中获取所有数据,并在Oracle中覆盖该表。

蒲坚
2023-03-14

截至火花2.2,火花中没有上升。

因此,实现这一目标的方法可以是:

>

  • 遍历数据,并使用Foreach、Foreach分区计算

    通过在Dataset上使用writeStream并重写ForeachWriter中的open()、close()和process()方法来插入/更新消息,您可以以并行方式很好地实现这一点。

    希望这能有所帮助!

  •  类似资料:
    • 我有从Firestore读取数组的问题,字符串可以在future builder中读取,如下所示, widgets库捕获的异常接收者:null尝试调用:get(“经验”) 相关的导致错误的小部件是:FutureBuilder file:///xxxxxxxx/lib/regformSummary.dart:185:45当抛出异常时,这是堆栈:#0object.nosuchmethod(dart:c

    • 问题内容: 我首先看一下Oracle的多表插入(总体上我对SQL还是很陌生),但我不太理解语句结尾处的目的/需求。 对于单表,据我了解,可以使用子句或子查询,但不能同时使用。有人可以在本声明结尾解释该条款的重要性吗?我在网上看过,但没有找到明确的答案。 问题答案: 该选择用于确定变量 prod_category 的值,该变量用于

    • 我想通过配置单元jdbc连接将整个配置单元表加载到spark内存中。并且已经添加了配置单元站点。xml,hdfs站点。xml在我的项目中。spark已连接配置单元,因为已成功获取列名(例如role_id)。但是spark似乎将列名作为数据加载,并抛出异常。这是我的密码: 和获取错误: JAVAlang.NumberFormatException:对于输入字符串:“t_leave_map_base.

    • 在本教程中将学习如何使用Oracle 语句将多行插入到一个或多个表中。 在之前的教程中,我们已经学习了如何在表中插入一行。 但是,有时我们可能希望将多行插入到一个或多个表中。 在这种情况下,就可以使用Oracle 语句,该语句也被称为多项式插入语句。 Oracle提供了两种类型的多项式插入语句:无条件的和有条件的。 1. 无条件的Oracle INSERT ALL语句 将多行插入到表中,要将多行插

    • 问题内容: 我正在尝试编写一个脚本,该脚本会将新的用户记录追加到ElasticSearch,如果该用户已经存在,则更新任何信息,如果新对象中存在更新的PaymentInfo对象,则将其添加到用户的Payments数组中。这是到目前为止我正在使用的简化版本: 这几乎可以满足我的要求,因为它可以正确地插入文档,或者如果用户具有相同的ID,则可以更新文档,但是如果该用户已经存在,则缺少将这个Paymen