spark写入关系型数据库的duplicateIncs参数使用

在看一段spark写数据到关系型数据库代码时,发现一个参数没有见过:

df.write.format("org.apache.spark.sql.execution.datasources.jdbc2").options(Map("savemode" -> JDBCSaveMode.Update.toString,"driver" -> exportDriver,"url" -> exportUrl,"user" -> exportUserName,"password" -> exportPassword,"dbtable" -> targetTable,"useSSL" -> "false","duplicateIncs" -> "",//需要更新的字段,不写全部根据主键更新"showSql" -> "true")).save()

那就是duplicateIncs,翻阅相关资料:

这应该是mysql 4.1之后的一个可用配置,比如:

UPDATE table SET c=c+1 WHERE a=1;

如果是用insert语句,怎么达到相同的效果呢?(指定某个字段更新)

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;  

当然前提是,这个表要有主键或唯一索引,这里是a字段。

还可以指定多个字段:ON DUPLICATE KEY UPDATE后面可以放多个字段,用英文逗号分割。

下面是表中更改(增加或修改)两条记录的例子:

  INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)  ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/166747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android13 launcher循环切页

launcher 常规切页:https://blog.csdn.net/a396604593/article/details/125305234 循环切页 我们知道,launcher切页是在packages\apps\Launcher3\src\com\android\launcher3\PagedView.java的onTouchEvent中实现的。 1、滑动限制 public boolean onT…

Python与设计模式--门面模式

8-Python与设计模式–门面模式 一、火警报警器(1) 假设有一组火警报警系统,由三个子元件构成:一个警报器,一个喷水器, 一个自动拨打电话的装置。其抽象如下: class AlarmSensor:def run(self):…

c语言习题1124

分别定义函数求圆的面积和周长。 写一个函数,分别求三个数当中的最大数。 写一个函数,计算输入n个数的乘积 一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息 写一个函数求n! ,利用该函数求1!2&…

功率半导体器件CV测试系统

概述 电容-电压(C-V)测量广泛用于测量半导体参数,尤其是MOS CAP和MOSFET结构。MOS(金属-氧化物-半导体)结构的电容是外加电压的函数,MOS电容随外加电压变化的曲线称之为C-V曲线(简称C-V特性),C-V 曲线测试可以方便的确…

opencv-使用 Haar 分类器进行面部检测

Haar 分类器是一种用于对象检测的方法,最常见的应用之一是面部检测。Haar 分类器基于Haar-like 特征,这些特征可以通过计算图像中的积分图来高效地计算。 在OpenCV中,Haar 分类器被广泛用于面部检测。以下是一个简单的使用OpenCV进行面部检测…

鸿蒙系统使用hdc_std.exe使用身份证读卡器等外设USB获得权限方法

hdc_std.exe是OpenHarmony 的命令行工具,由于使用的开源鸿蒙开发板上面没有文件管理器,所以无法通过U盘等方式进行安装.hap应用。 下面是使用hdc_std.exe安装身份证读卡器的步骤: 1、hdc_std.exe放桌面,然后WINR,打开…

CBTC 2023氢能展倒计时6天,最新同期会议活动Plus版发布

随着时间的推移,CBTC2023深圳氢能技术展览会即将拉开序幕。这场盛会将于11月30日在深圳福田会展中心盛大开幕,以“以储赋能,智造未来”为主题,旨在搭建一个商务交流、供需合作、创新产品发布的平台,让氢能全产业链之间…

寻找质数 II

题目描述 输入两个整数 a,b,计算并输出小于 a 的 b个质数,所有符合条件的质数里,输出最大的 b 个质数,按照从大到小输出,使用空格隔开。 假如符合条件的数量不够,则输出已经满足的质数。 如果…

详解Java中的异常体系机构(throw,throws,try catch,finally)

目录 一.异常的概念 二.异常的体系结构 三.异常的处理 异常处理思路 LBYL:Look Before You Leap EAFP: Its Easier to Ask Forgiveness than Permission 异常抛出throw 异常的捕获 提醒声明throws try-catch捕获处理 finally的作用 四.自定义异常类 一.异…

微信小程序:This Mini Program cannot be opened as your Weixin version is out-of-date.

项目场景: 问题描述 升级基础库3.2.0,然后PC端整个小程序都打不开了,点击小程序提示”This Mini Program cannot be opened as your Weixin version is out-of-date. Update Weixin to the latest version.“,并且点击Update Wei…

一个悄然崛起的国产软件!!AI 又进化了!!

大家好,我是 Jack。 AI 写代码想必很多人都体验过了,使用 AI 编程工具是一个大趋势,越早学会使用 AI 辅助你写代码,你的效率也会越高。 甚至有些公司已经要求员工具备 AI 编程能力。 对于学生党,AI 编程可以帮助我们…

MyBatisPlus总结

MyBatis-Plus时Mybatis的Best Partner MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入损耗小强大的 CR…

Android开发从0开始(广播)

应用广播 发送标准广播的三步骤 发送标准广播: //发送标准广播 Intent intent new Intent("com.dongnaoedu.chapter09.standard"); sendBroadcast(intent); 定义广播接受者: public class StanderdReceiver extends BroadcastReceiver { public s…

在ASP.NET Core 中使用 .NET Aspire 消息传递组件

前言 云原生应用程序通常需要可扩展的消息传递解决方案,以提供消息队列、主题和订阅等功能。.NET Aspire 组件简化了连接到各种消息传递提供程序(例如 Azure 服务总线)的过程。在本教程中,小编将为大家介绍如何创建一个 ASP.NET …

PLC通过RS232转PROFINET与电子分析天平秤通讯案例

本案例是通过用兴达易控的XD-PNR200型RS232转Profinet网关连接电子分析天平秤与PLC通讯的配置案例,用到设备为西门子S7-1200PLC,RS232转Profinet网关,电子分析天平秤。 打开博图,添加PLC;本案例使用的是1200PLC。 添加…

『接口测试干货』| Newman+Postman接口自动化测试完整过程

『接口测试干货』| NewmanPostman接口自动化测试完整过程 1 Newman简介2 如何安装Newman?2.1 安装NodeJs2.2 安装Newman2.2 解决Newman不是内部命令 3 Newman使用3.1 Newman如何运行集合?3.2 如何查看帮助文档?3.3 环境变量设置3.4 关于全局变…

微信小程序制作

如果你也想搭建一个小程序,但不知道如何入手,那么今天我就教你如何使用第三方制作平台,在短短三十分钟内搭建一个小程序。 一、登录小程序制作平台 首先,登录到小程序制作平台的官方网站或应用程序,进入后台管理系统。…

【Oracle OCP考试】1z0-082(4)

1.Which two statements are true about the PMON background process? A. It rolls back transactions when a process fails(当进程失败时,它回滚事务) B. It registers database services with all local and remote listeners known to…

文章解读与仿真程序复现思路——电网技术 EI\CSCD\北大核心《考虑5G基站储能可调度容量的有源配电网协同优化调度方法》

这篇文章的标题涉及到以下关键概念: 5G基站: 提到了5G基站,这表明文章的焦点可能是与第五代移动通信技术相关的内容。5G技术对于提高通信速度、降低延迟以及支持大规模连接等方面有显著的改进,因此对于基站的电力需求和供应可能存…

2023年ESG投资研究报告

第一章 ESG投资概况 1.1 定义 ESG投资,亦称负责任投资,是一种融合环境(Environment)、社会(Social)和治理(Governance)考量的投资方法,旨在通过综合这些因素来优化投资…