apache-spark - 写入 Synapse DWH 池时出现 Spark 错误
问题描述
我正在尝试使用 ("com.databricks.spark.sqldw") 连接器以追加/覆盖模式将数据帧写入 Synapse 表。官方文档没有提及此写入操作的 ACID 属性。我的问题是,如果在写入过程中写入操作失败,之前执行的操作会被回滚吗?
文档确实提到的一件事是,在此操作期间可能会引发两类异常:SqlDWConnectorException 和 SqlDWSideException。我的逻辑是,如果写操作符合 ACID,那么我们什么也不做,但如果不是,然后我们计划将此操作封装在一个 try-catch 块中并寻找其他选项(可能是重试,或超时)。
解决方案
它保证了 ACID 事务行为。
请参阅:什么是 Delta Lake,其中指出:
Azure Synapse Analytics 与 Linux Foundation Delta Lake 兼容。Delta Lake 是一个开源存储层,可为 Apache Spark 和大数据工作负载带来 ACID(原子性、一致性、隔离性和持久性)事务。这是使用 Azure Synapse 中提供的 Apache Spark API 完全管理的。
推荐阅读
- php - Json 到 php 数组(json_decode())不起作用
- jms - Weblogic JMS 桥 weblogic.transaction.RollbackException
- c - 避免暴露已编译 C 模块的细节
- c# - 我从 api 检索到的 json 有问题
- javascript - 遍历angularjs中的字符串化json数据返回未定义
- javascript - 我们可以在一个 node.js 中使用 app.use 两次吗
- html - 根据另一个 div 的子元素中的类隐藏 div 的子元素
- jsf - 在 JSF 页面的页面加载期间未调用 @PostConstruct
- sql-server - 从 varchar 转换为 numeric 时出错
- taurus - 何在 yaml 中传递本地 apache jmeter 路径