数据岗位面试题更新 2026-08-05

请说明 Apache Hudi 支持哪几种写入模式,并阐述在实际业务场景中应依据哪些因素来挑选合适的写入模式。

数据技术原理技术选型方案权衡Apache Hudi

考察说明

考查对 Hudi 写入模式分类及选型依据的理解。

回答思路

  1. 【回答框架 1】Hudi 提供三种写入模式:Copy On Write(COW)、Merge On Read(MOR)以及索引更新模式(Indexed)。COW 在写入时直接重写数据文件并同步更新列式文件,读取性能高但写放大明显;MOR 将更新先写入基于行的 Avro 日志文件,再异步压缩合并到列式文件,写入延迟低但读取需合并日志与列文件。
  2. 【回答框架 2】选择写入模式需综合读写比例、数据新鲜度、存储成本和查询延迟。若读多写少且对查询延迟敏感,选 COW;若写多读少或更新频繁且可容忍一定读取延迟,选 MOR。
  3. 【回答框架 3】还需考虑数据文件大小、压缩策略和集群资源。COW 适合小文件较少、更新不频繁的场景;MOR 适合高频更新、需要快速写入的场景,但需配置压缩策略以控制日志文件膨胀。
  4. 【回答框架 4】索引更新模式适用于已有索引需要同步更新的场景,通常与 COW 或 MOR 结合使用,不单独作为主写入模式。
  5. 【回答框架 5】实际选型应通过压测验证,结合业务 SLA 和存储成本权衡,而非仅凭理论判断。
  6. 【关键点 1】COW 写放大高、读性能好,适合读多写少场景。
  7. 【关键点 2】MOR 写延迟低、读需合并,适合写多读少或高频更新场景。
  8. 【关键点 3】选型需权衡读写比例、数据新鲜度、存储成本和查询延迟。
  9. 【关键点 4】压缩策略和文件大小影响 MOR 的读取性能。
  10. 【关键点 5】索引更新模式是辅助模式,需与主写入模式配合使用。
  11. 【易错点 1】不能简单认为 MOR 一定优于 COW,需结合具体读写比例和延迟要求。
  12. 【易错点 2】忽略压缩策略会导致 MOR 日志文件膨胀,读取性能严重下降。
  13. 【易错点 3】将索引更新模式当作独立写入模式使用,可能造成数据一致性问题。