首页 > 解决方案 > 写入 Synapse DWH 池时出现 Spark 错误

问题描述

我正在尝试使用 ("com.databricks.spark.sqldw") 连接器以追加/覆盖模式将数据帧写入 Synapse 表。官方文档没有提及此写入操作的 ACID 属性。我的问题是,如果在写入过程中写入操作失败,之前执行的操作会被回滚吗?

文档确实提到的一件事是,在此操作期间可能会引发两类异常:SqlDWConnectorException 和 SqlDWSideException。我的逻辑是,如果写操作符合 ACID,那么我们什么也不做,但如果不是,然后我们计划将此操作封装在一个 try-catch 块中并寻找其他选项(可能是重试,或超时)。

标签: apache-sparkapache-spark-sqlazure-sql-databasedatabricksazure-synapse

解决方案


它保证了 ACID 事务行为。

请参阅:什么是 Delta Lake,其中指出:

Azure Synapse Analytics 与 Linux Foundation Delta Lake 兼容。Delta Lake 是一个开源存储层,可为 Apache Spark 和大数据工作负载带来 ACID(原子性、一致性、隔离性和持久性)事务。这是使用 Azure Synapse 中提供的 Apache Spark API 完全管理的。


推荐阅读