如何使用Spark以原子方式将数据保存到DB/File



我有一个数据框,我想以原子方式保存到数据库(或csv文件(中。
我的意思是原子:

  1. 如果持久化成功:执行一组代码 X
  2. 否则执行集团 Y

问题是DataFrameWriter(jdbc,csv,save(用于持久化数据的方法不会给出操作是否成功的反馈,因此,我不知道要执行哪个块。
同样在数据库的情况下,如果持久性开始但无法正常完成(Bloc Y(,我想执行回滚?

不要认为不可能确定"持久性"阶段的成功或失败。因为当内存的大小超过执行程序内存时,Spark 会将其刷新或溢出到磁盘上。无论哪种方式,它都确保数据是可访问的,并且不会尝试重新计算数据。

最新更新