尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

hadoop之mr

hadoop之mr
📅 发布时间:2026/7/28 15:12:50

文章目录

    • 1.mr之CombineTextInputFormat
    • 2.split size
    • 2.按行分片NLineInputFormat
    • 4.split大小与block的关系:
    • 5.reduce数量大于分区数

1.mr之CombineTextInputFormat

  • 处理一个文件夹下的四个小文件,未使用CombineTextInputFormat.class
//默认走的是TextInputFormat//job.setInputFormatClass(CombineTextInputFormat.class);//6.设置输入输出路径FileInputFormat.setInputPaths(job,newPath(input));FileOutputFormat.setOutputPath(job,newPath(output));

输出:

INFO FileInputFormat:Total input paths to process:4INFO JobSubmitter:number of splits:4
  • 使用CombineTextInputFormat.class
//默认走的是TextInputFormatjob.setInputFormatClass(CombineTextInputFormat.class);//6.设置输入输出路径FileInputFormat.setInputPaths(job,newPath(input));FileOutputFormat.setOutputPath(job,newPath(output));

输出:

INFO FileInputFormat:Total input paths to process:4INFO CombineFileInputFormat:DEBUG:Terminated node allocation with:CompletedNodes:1,size left:57INFO JobSubmitter:number of splits:1INFO JobSubmitter:Submitting tokensforjob:job_local656404029_0001

2.split size

  • 将block设置成4兆


有三个split

  • 第一阶段

1.4 <4 1.4
4.2 >4 <42 2.1 2.1
2.8 <4 2.8
5.7 >4 <4
2 2.85 2.85

  • CombineTextInputFormat只能合文本

2.按行分片NLineInputFormat

  • 业务场景:
    一般: 100列 100行 5G
    特殊: 2列 ? 5G

eg:10w行数据
未设置NLineInputFormat.1个split

job.setInputFormatClass(NLineInputFormat.class);NLineInputFormat.setNumLinesPerSplit(30000);

设置NLineInputFormat后,3个splits

4.split大小与block的关系:

(1)block块的小于split分片的最小值,那split的值就是split分片的大小

(2)block块的小大介于split分片配置的最小值和最大值之间,block的大小就是split的大小。

(3)block块的大小大于split分片的最大值,split的大小就是split配置的最大值。但会增加map执行的并发度,但是会造成在节点之间拉取数据

也有公式可以计算split也就是map任务数,这里就不做讨论了。

  • 一个map对应一个split分片吗?
    经过上面的讨论,答案是显而易见的:
    map个数:由任务切片spilt决定的,默认情况下一个split的大小就是block
    由参与任务的文件个数决定的

5.reduce数量大于分区数

  • 后面的part文件是空的—小文件越多

  • reduce数量不可以小于分区数

  • reduce数量可以等于1,全写入一个文件

  • reduce增加,并行度增加,速度会快.但是,jvm开销会大,小文件也增加.离线处理对速度要求不太高.

相关新闻

  • 抓包工具Fiddler的使用(二)
  • 【QA那些事儿】视频SDK测试方法-场景自动化
  • AI Agent工作流实战:从概念到工程落地的完整指南

最新新闻

  • 178、ISP Pipeline深度解析:RAW域黑电平校正与坏点校正的鲁棒性优化
  • 全栈开发者效率提升的十个反直觉认知:慢下来才能快起来的工程真理
  • .NET技术栈构建吉他音乐社区实战解析
  • MATLAB 中如何使用 import
  • 【JAVA毕业设计】 基于 B/S 架构的大学生学习成果汇总展示系统数字化高校学生竞赛成果申报展示管理平台(源码+文档+远程调试,全bao定制等)
  • 2026 上海二手空调出租、冷库设备回收,工厂暖通方案实地测评 - LYL仔仔

日新闻

  • 力旷智能:伺服驱动系统在制药收瓶设备中的应用解析
  • 2026 网安入门避坑指南,零基础如何避开无效学习直接上手实战
  • 揭秘CFC项目:如何通过手机摄像头实现850kbps无网络文件传输

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号