SuperAPI AI 工具集

apache-hudi-lakehouse

设计与创作

查看项目

更新于 10-15 23:46

技能介绍

用途:当 Apache Hudi 作为增量湖仓工作负载的主表格式时使用,帮助智能体推理高变更模式、表类型选择、compaction 行为、时间线安全与读路径消费者预期。

适用场景:选择或运维 Hudi 湖仓表;构建记录级 upsert/delete 管道;管理 compaction、clustering 与增量消费;支撑高变更表(如 CDC 落库、缓慢变化维度);规划 Spark、Presto、Trino、Athena、Hive 多引擎访问。若负载为纯追加且无变更需求,Parquet 或 Iceberg 更简单,不应使用本技能。

工作流程:先定义变更模式与读取预期,包括主记录键、分区路径、操作类型(insert、upsert、delete、bulk replace)、读延迟要求、必需查询引擎、写入吞吐与变更率;再选表类型与索引:Copy-on-Write(COW)适合读密集,写入产生列式快照;Merge-on-Read(MOR)适合写密集,合并延迟到读取或 compaction;记录索引可选 BLOOM、GLOBAL_BLOOM、SIMPLE、BUCKET、RECORD_INDEX,影响 upsert 性能与扩展性,并需记录选型理由。

必须显式规划 compaction 与 clustering:MOR 表 compaction 非可选,定义同步或异步策略及触发条件(提交数、时间、日志文件大小);clustering 需与 compaction 分开规划,并计入计算成本。增量消费需定义消费者契约,包括起始 commit instant、重置与引导读取、schema 变更影响,并测试消费者能否正确处理 compaction 与 rollback instant。

限制与风险:schema 演进并非对所有读取引擎安全,列新增通常安全,重命名与类型变更需谨慎;rollback 与 archival 策略会影响时间线可见性,消费者需处理时间线缺口。需监控时间线增长、待处理 compaction 与 inflight commit,并为 compaction 积压和写入失败告警,定义保留、归档、备份与恢复流程。常见误区包括忽略记录键与分区设计、默认索引不做分析、无 compaction 调度、消费者无起始 instant 文档等。