开发者社区> 问答> 正文

DLA FS面向对象存储OSS的Rename优化是什么意思呢?

DLA FS面向对象存储OSS的Rename优化是什么意思呢?

展开
收起
游客qzzytmszf3zhq 2021-12-09 19:47:28 484 0
1 条回答
写回答
取消 提交回答
  • 在Hadoop生态中使用OutputCommitter接口来保证写入过程的数据一致性,它的原理类似于二阶段提交协议。

    开源Hadoop提供了Hadoop FileSystem的实现来读写OSS文件,它默认使用的OutputCommitter的实现是FileOutputCommitter。为了数据一致性,不让用户看到中间结果,在执行task时先把结果输出到一个临时工作目录,所有task都确认输出完成时,再由driver统一将临时工作目录rename到生产数据路径中去。由于OSS相比HDFS它的Rename操作十分昂贵,是copy&delete操作,而HDFS则是NameNode上的一个元数据操作。在DLA的分析引擎继续使用开源Hadoop的FileOutputCommitter性能很差,为了解决这个问题,我们决定在DLA FS中引入OSS Multipart Upload特性来优化写入性能。

    2021-12-09 19:47:51
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载