保存模式
保存操作可以带上SaveMode选项,这个选项指定如何处理已经存在的数据。了解这些保存模式没有使用任何加锁且不是原子操作是重要的。另外,当执行一个Overwrite,在写新数据之前,老的数据将会被删除。
Scala/Java | 任何语言 | 含义 |
---|---|---|
SaveMode.ErrorIfExists (默认) |
"error" (默认) |
当保存一个DataFrame成一个数据源时,如果数据已经存在,一个预期的异常将会抛出 |
SaveMode.Append |
"append" |
当保存一个DataFrame成一个数据源时,如果数据/表已经存在,这个DataFrame的内容将会附加到已经存在的数据中 |
SaveMode.Overwrite |
"overwrite" |
Overwrite模式表示,保存DataFrame为一个数据源,如果数据/表已经存在,已经存在的数据将会被DataFrame的内容重写 |
SaveMode.Ignore |
"ignore" |
Ignore模式表示,保存DataFrame为一个数据源,如果数据已经存在保存操作将不会保存DataFrame的内容,也不会改变已经存在的数据。这个与SQL中的CREATE TABLE IF NOT EXISTS 类似 |