API

文件输入/输出

师成师成· 更新于 2026-09-28· 阅读 1 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Iceberg FileIO

概述

Iceberg 提供了一套灵活的读写数据文件与元数据文件的抽象。FileIO 接口使 Iceberg 库能够与底层存储层进行通信。在作业规划和提交阶段,所有元数据操作都通过 FileIO 完成。

Iceberg 文件

Iceberg 表的元数据记录数据文件的绝对路径,从而在物理布局之上提供了更高层次的抽象。此外,表状态的变更通过写入新的元数据文件来完成,绝不涉及文件重命名。这大大降低了对文件操作的要求。FileIO 实现的基本功能是能够读取文件、写入文件,以及在流中定位到任意位置。

在处理引擎中的使用

数据文件的读写由处理引擎负责,并在任务执行期间完成。不过,在数据文件写入之后,处理引擎会使用 FileIO 写入新的 Iceberg 元数据文件,以记录表的新状态。

根据存储类型的不同,会使用不同的 FileIO 实现。Iceberg 内置了一组面向主流存储提供商的 FileIO 实现:

  • Amazon S3
  • Google Cloud Storage
  • 对象服务存储(包括 https)
  • Dell 企业云存储
  • Hadoop(可适配任意 Hadoop FileSystem 实现)

评论

登录后参与评论

正在加载评论…