当前位置: 首页 > wzjs >正文

有自媒体谁还做网站网站程序前台

有自媒体谁还做网站,网站程序前台,姑苏网站制作,中国建设银行黄冈分行网站在 Hive 中,Reducer 数量的自动计算是基于客户端提交任务时的原始输入数据量估算的,而非 Map 阶段的输出结果。具体规则和流程如下: 1. 核心逻辑 计算时机: Reducer 数量在**作业提交阶段(客户端)**确定&am…

在 Hive 中,Reducer 数量的自动计算是基于客户端提交任务时的原始输入数据量估算的,而非 Map 阶段的输出结果。具体规则和流程如下:


1. 核心逻辑

  • 计算时机
    Reducer 数量在**作业提交阶段(客户端)**确定,此时 Map 阶段尚未执行,因此只能基于原始输入数据的元信息(如文件大小、表统计信息)进行估算。

  • 依赖数据量
    Hive 使用输入表的原始数据量(存储在 HDFS 上的文件总大小)来估算 Reducer 数量,公式为:

    numReducers = min(ceil(原始输入数据总大小 / bytes.per.reducer), reducers.max)
    
    • bytes.per.reducer:由 hive.exec.reducers.bytes.per.reducer 定义(默认 256MB);
    • reducers.max:由 hive.exec.reducers.max 定义(默认 1009)。

2. 潜在问题与优化

(1) 估算误差
  • 场景
    Map 阶段可能过滤大量数据或进行聚合(如 WHERE 过滤、Combiner 预聚合),导致实际输出数据量远小于原始输入。
  • 后果
    Reducer 数量可能被高估,生成过多小文件或资源浪费。
(2) 优化方法
  • 手动指定 Reducer 数
    根据经验或历史作业结果,直接设置 mapred.reduce.tasks
    SET mapred.reduce.tasks = 20;  -- 显式指定 Reduce 任务数
    
  • 动态调整参数
    增大 bytes.per.reducer 或降低 reducers.max,减少自动估算的任务数:
    SET hive.exec.reducers.bytes.per.reducer = 536870912;  -- 512MB/Reducer
    SET hive.exec.reducers.max = 500;                      -- 最大 500 个 Reducer
    
  • 收集统计信息
    使用 ANALYZE TABLE 生成表统计信息(如行数、数据量),Hive 可基于更精确的元数据估算:
    ANALYZE TABLE table_name COMPUTE STATISTICS;  -- 收集表级统计信息
    ANALYZE TABLE table_name COMPUTE STATISTICS FOR COLUMNS;  -- 收集列级统计信息
    

3. 执行引擎的影响

  • MapReduce 引擎
    Reducer 数量在作业提交时确定,无法根据 Map 阶段的实际输出动态调整。

  • Tez 引擎
    支持动态调整 Reducer 数量(需开启 hive.tez.auto.reducer.parallelism=true),根据 Map 阶段输出量优化并行度。


4. 示例场景

(1) 原始输入数据量为 10GB
  • 自动计算
    numReducers = ceil(10*1024MB / 256MB) = 40(假设 reducers.max 足够大)。
  • 实际 Map 输出为 2GB
    每个 Reducer 仅处理约 51MB(2GB/40),远低于 bytes.per.reducer,导致资源浪费。
(2) 优化后
  • 手动设置
    SET mapred.reduce.tasks = 8; → 每个 Reducer 处理约 256MB(2GB/8)。

总结

关键点说明
计算依据客户端提交时的原始输入数据量(HDFS 文件大小),而非 Map 阶段实际输出。
误差风险Map 阶段过滤或聚合可能导致 Reducer 数量不合理,需手动干预。
优化策略手动指定 Reducer 数、调整参数、收集统计信息或使用 Tez 引擎动态优化。
执行引擎差异MapReduce 静态分配,Tez 支持动态调整。

建议

  • 对数据过滤率高的作业,手动指定 Reducer 数量;
  • 定期收集统计信息,提升 Hive 估算精度;
  • 使用 Tez 引擎以支持动态资源分配。
http://www.dtcms.com/wzjs/556642.html

相关文章:

  • 品牌网站制作流程图珠海企业网站制作费用
  • 简单网站建设视频wordpress注册页面美化
  • 威海市建设局官方网站软件页面设计用哪个软件比较好
  • 商业网站 模板中国电子加工网
  • 企业网站建设与网络营销的关系wordpress添加目录
  • 电商培训网站北京微信公众号定制开发
  • 单位建设网站的作用意义浏览器入口
  • c语言程序设计网站受欢迎的大连网站建设
  • 电子商务网站建设需要做好哪些准备6中国it企业排行榜
  • 万户做网站怎么样卖域名的公司 骗做网站
  • 网站建设公司(深圳信科)双语网站建设定制开发
  • 山西省住房和城乡建设厅门户网官方网站软件开发用什么软件编程
  • 赣州市经开区住房和建设局网站三国网页游戏排行榜
  • 美术网站建设网络服务怎么写
  • 营销型网站功能模块朝阳seo建站
  • 安阳建设局网站快速建站软件排名
  • 找人做企业网站注意啥wordpress.图片旋转代码
  • 网络彩票网站建设上海市网站建设电话号码
  • 阀门专业网站建设刷粉网站推广
  • 广西新农村建设指导员网站建站快车
  • 个人如何做免费网站携程网网站推广方式
  • 昆明云南微网站制作哪家好十大软件app排行免费
  • 怎么建设个人网站教程wordpress备份数据库结构
  • 山东网站建设制作公司做灯具外贸哪个网站好做
  • 建筑装饰网站模板推荐专业的外贸建站公司
  • 怎么做外围网站的代理佛山百度网站快速排名
  • 网站安全备案价公示网站
  • 怎么做自己优惠券网站呼伦贝尔寰宇网站建设
  • 上线了做网站多少钱网站的详情页面设计
  • 做们作业网站权威的网站制作