开发者社区> 问答> 正文

DLA FS引入Semi-Transaction层具体是什么意思呢?

DLA FS引入Semi-Transaction层具体是什么意思呢?

展开
收起
游客qzzytmszf3zhq 2021-12-09 19:49:21 292 0
1 条回答
写回答
取消 提交回答
  • 前面有提到过,OutputCommitter类似于一个二阶段提交协议,因此我们可以把这个过程抽象为一个分布式事务。可以理解为Driver开启一个全局事务,各个Executor开启各自的本地事务,当Driver收到所有本地事务完成的信息之后,会提交这个全局事务。

    基于这个抽象,我们引入了一个Semi-Transaction层(我们没有实现所有的事务语义),其中定义了Transaction等接口。在这个抽象之下,我们把适配OSS Multipart Upload特性的一致性保证机制封装进去。另外我们还实现了OSSTransactionalOutputCommitter,它实现了OutputCommitter接口,上层的计算引擎比如Spark通过它和我们DLA FS的Semi-Transaction层交互

    2021-12-09 19:49:38
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
从理论到实践,深度解析MySQL Group Replication 立即下载
An Online Spark Pipeline: Semi 立即下载
Group Replication 原理解析与实践经验 立即下载