Hudi MOR 表类型相关生产配置,特别是压缩配置

第一个问题 在使用Hudi时,表存储类型为MOR的最佳生产参数配置如何设置,还是说先使用默认参数,后面出现具体报错,根据报错修改参数.

第二个问题 Hudi MOR 类型的表的压缩是自动压缩还是必须运维人员定期压缩及其对应的生产环境配置如何设置

展开
收起
wosow-bigdata 2020-10-26 10:42:12 1251 分享 版权
阿里云 AI 助理回答

在使用Apache Hudi时,特别是对于Merge-On-Read (MOR)表存储类型,确实需要仔细调整参数以优化性能和资源利用率。虽然开始时可以使用默认配置进行初步测试,但为了达到最佳生产环境性能,建议根据实际工作负载和集群资源提前进行参数调优。以下是一些关键参数的推荐设置方向:

第一个问题:MOR表的生产参数配置

  1. Compaction Configurations:

    • hoodie.compact.inline:设为true可以减少读取延迟,因为它允许compaction过程中直接更新base file。
    • hoodie.compact.max.delta.commits:控制触发compaction的最大delta commit数量,根据数据写入频率和查询需求调整。
    • hoodie.cleaner.policy:通常使用KEEP_LATEST_COMMITSKEEP_LAST_X_HOURS策略来自动清理旧版本数据。
    • hoodie.compact.plan.strategy:选择合适的compaction策略,如greedysize-tiered,前者适用于小规模数据集,后者更适用于大规模数据集。
  2. Write Configurations:

    • hoodie.bulkinsert.shuffle.parallelismhoodie.insert.shuffle.parallelism:根据集群资源调整并行度。
    • hoodie.upsert.shuffle.parallelism:同样根据资源调整,确保与插入操作相匹配。
  3. Storage Configurations:

    • hoodie.parquet.small.file.limit: 定义何时触发compaction的小文件大小限制。
  4. Metadata & Indexing:

    • hoodie.metadata.enable:开启元数据表可提高查询效率,但会增加写入开销。
    • hoodie.index.type:选择合适的索引类型,如BLOOMGLOBAL_BLOOM,用于加速查询。

第二个问题:Hudi MOR类型的表压缩

Hudi提供了自动压缩机制,因此不需要运维人员定期手动执行压缩。通过上述提到的hoodie.compact.*相关配置,你可以控制压缩策略、触发条件等。例如,hoodie.compact.inlinehoodie.compact.max.delta.commits等参数可以帮助自动化管理compaction过程,确保数据既不过度碎片化也不占用过多存储空间。

生产环境配置设置建议

  • 监控与调优:实施持续的监控,包括但不限于作业运行时间、资源使用情况(CPU、内存、I/O)、以及查询性能。基于监控数据逐步微调参数。
  • 备份与恢复计划:确保有可靠的数据备份和快速恢复机制,以防配置调整不当导致的问题。
  • 文档记录:详细记录每次参数调整及其效果,便于后续参考和进一步优化。

总之,虽然可以先从默认配置开始,但为了达到最优性能,主动地根据业务场景和集群特性进行参数调优是必要的。同时,利用Hudi的自动压缩功能,结合合理的配置,可以有效管理数据存储和查询效率。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

阿里云EMR是云原生开源大数据平台,为客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、ClickHouse、StarRocks、Delta、Hudi等开源大数据计算和存储引擎,计算资源可以根据业务的需要调整。EMR可以部署在阿里云公有云的ECS和ACK平台。

收录在圈子:
数据湖构建·Data Lake Formation是阿里巴巴数据湖团队带来的最新一站式入湖解决方案,助力企业无缝对接多种计算引擎,打破孤岛,洞察业务价值。本技术圈会持续发布最新产品动向和技术解读,更有不定期视频直播,与您一起完成企业大数据架构转型。敬请关注官网:https://www.aliyun.com/product/bigdata/dlf
还有其他疑问?
咨询AI助理