[spark] SaveMode
2023-12-27 21:56:12
https://spark.apache.org/docs/latest/api/java/index.html?org/apache/spark/sql/SaveMode.html
Overwrite
覆盖模式是指将DataFrame保存到数据源时,如果数据/表已经存在,则现有数据将被DataFrame的内容覆盖。
注意:
Overwrite 模式会覆盖已存在的表并删除表中的数据,然后写入新的数据。如果昨天存入的数据也在同一表中,它们将被新的数据替代,整个表的内容将被更新。
如果您希望在不删除原有数据的情况下追加新的数据,可以选择使用 Append 模式。这样,新的数据将会在表的末尾追加,而不会影响已有的数据。
是否会自动创建Mysql表
-
默认为SaveMode.ErrorIfExists模式,该模式下,如果数据库中已经存在该表,则会直接报异常
-
SaveMode.Append 如果表已经存在,则追加在该表中;若该表不存在,则会先创建表,再插入数据;
-
SaveMode.Overwrite 重写模式,若表不存在,则创建表, 其实质是先将已有的表及其数据全都删除,再重新创建该表,最后插入新的数据;
-
SaveMode.Ignore 若表不存在,则创建表,并存入数据;在表存在的情况下,直接跳过数据的存储,不会报错。
文章来源:https://blog.csdn.net/qq_44810930/article/details/135253004
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!