Hive的MapReduce优化

本文主要介绍了Hive中的MapReduce优化技巧,包括通过调整max_split_size和min_split_size控制map任务数量,启用并行执行提升效率,设置JVM重用减少启动开销,以及探讨推测执行的优缺点。此外,还提到了在处理小数据集时启用本地模式的条件和限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

纯属记录笔记…,没有实际操作过。

MR优化

  • map和reduce的个数
    • 一个分片就是一个块,一个块对应一个maptask
    • Hadoop源码中有一个计算公式
      • min(max_split_size,max(min_split_size,block_size))
      • min_split_size默认值0(最小分片大小)
      • max取的时候取的是block_size,block_size默认是128
      • max_split_size默认值256(最大分片大小)
      • 这个公式决定了map的个数
      • 肯定不能直接去修改HDFS的block_size
      • 一般在实际的生产环境中HDFS一旦format格式化之后,block_size大小不会去修改的
      • 通过修改max_split_size和min_split_size来影响map的个数
  • 并行执行
    • 针对有些互相没有依赖关系的独立的job,可以选择并发的执行job hive.exec.parallel
    • 是否开启并行执行的功能
      hive.exec.parallel.thread.number
    • 设置并行执行的线程个数
    • 一般在工作中会选择去开启该功能
    • 根据实际的集群的状况和服务器的性能合理的设置线程数目
  • JVM重用
    • mapreduce.job.jvm.numtasks通过合理的测试,设置一个合理的数目
  • 推测执行
    • 当某个任务出现迟迟不结束的情况,那么会考虑开启推测执行,开启一个一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值