Hadoop3.x 之 MapReduce 开发总结(月薪过万)

2023-11-18

MapReduce 开发总结 (月薪过万)

在编写MapReduce程序时,需要考虑如下几个方面:

1、输入数据接口:InputFormat (月薪过万)

  1. 默认使用的实现类是:TextInputFormat
  2. TextInputFormat 的功能逻辑是:一次读一行文本,然后将该行的起始偏移量作为key,行内容作为 value 返回。
  3. CombineTextInputFormat 可以把多个小文件合并成一个切片处理,提高处理效率。

2、逻辑处理接口:Mapper (月薪过万)

用户根据业务需求实现其中三个方法:map() setup() cleanup ()

3、Partitioner 分区 (月薪过万)

  1. 有默认实现 HashPartitioner,逻辑是根据 key 的哈希值和 numReduces 来返回一个
    分区号;key.hashCode()&Integer.MAXVALUE % numReduces
  2. 如果业务上有特别的需求,可以自定义分区。

4、Comparable 排序 (月薪过万)

  1. 当我们用自定义的对象作为 key 来输出时,就必须要实现 WritableComparable 接口,重写其中的 compareTo()方法。
  2. 部分排序:对最终输出的每一个文件进行内部排序。
  3. 全排序:对所有数据进行排序,通常只有一个 Reduce。
  4. 二次排序:排序的条件有两个。

5、Combiner 合并 (月薪过万)

  1. Combiner 合并可以提高程序执行效率,减少 IO 传输。但是使用时必须不能影响原有的业务处理结果。

6、逻辑处理接口:Reducer (月薪过万)

1)用户根据业务需求实现其中三个方法:reduce() setup() cleanup ()

7、输出数据接口:OutputFormat (月薪过万)

  1. 默认实现类是 TextOutputFormat,功能逻辑是:将每一个 KV 对,向目标文本文件输出一行。
  2. 用户还可以自定义 OutputFormat。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop3.x 之 MapReduce 开发总结(月薪过万) 的相关文章

随机推荐

  • mysql准确查询出以固定字符开头的数据

    在做开发过程中 我们经常会遇到多种支付方式 为了区分 我们可能会根据订单的前两位或者前几位固定值来区分 在这里我向大家推荐三种方法 使用LEFT函数 函数使用方法如下 str是原串字段 length是要提取的长度 这里只能是正整数 该字段是
  • 检测zookeeper和kafka是否正常

    cd dirname 0 source bash profile count zoo ps ef grep config zookeeper properties grep v grep wc l count kafka ps ef gre
  • 常见的八种导致 APP 内存泄漏的问题

    像 Java 这样具有垃圾回收功能的语言的好处之一 就是程序员无需手动管理内存分配 这减少了段错误 segmentation fault 导致的闪退 也减少了内存泄漏导致的堆空间膨胀 让编写的代码更加安全 然而 Java 中依然有可能发生内
  • VUE3快速上手

    目录 1 Vue3简介 2 Vue3带来了什么 1 性能的提升 2 源码的升级 3 拥抱TypeScript 4 新的特性 一 创建Vue3 0工程 1 使用 vue cli 创建 2 使用 vite 创建 项目结构介绍 二 常用 Comp
  • 软件测试行业所需要的技能

    近来 软件测试行业发展迅速 企业越来越重视测试了 越来越多的人加入了测试大军中 很多人也想通过自学来学习软件测试技术加入这个行业 让我们来看一下究竟如何才能学好软件测试吧 一 软件测试基础知识 要想进入测试这个行业 就必须要了解什么是软件测
  • IDEA常用配置之类Tab页多行显示

    文章目录 IDEA常用配置之类Tab页多行显示 IDEA常用配置之类Tab页多行显示 默认在Idea中打开类过多 后面会隐藏显示 这里修改配置 将类设置为多行显示 方便查找已经打开的类 修改后显示样式
  • Redis主从部署及sentinel配置详细教程

    Redis主从部署及sentinel配置详细教程 一 环境介绍 1 三个redis节点的IP规划 2 节点的系统版本 二 安装redis 1 下载Redis源码包 2 解压软件包 3 安装gcc相关模块 4 编译软件目录deps 下内容 5
  • 【亲测】Parallels Desktop 16 / 17在MacOs Big Sur / Monterey下网络初始化失败:您的虚拟机将继续正常运作 解决办法

    场景 Mac升级Big Sur Monterey后 然后再升级Parallels Desktop到16 17版本后 Parallels Desktop开启windows或者其他虚拟机就出现 网络初始化失败 您的虚拟机将继续正常运作 解决办法
  • 使用存储过程返回结果集

    因业务复杂 SQL较为庞大 后改造为存储过程方式 传参 获取结果集 此处只显示存储过程的结构部分 也是最重要部分 CREATE OR REPLACE PACKAGE PKG QUALITYCONTROL IS TYPE retcursor
  • vite + vue3 + setup + pinia + ts 项目实战

    介绍 一个使用 vite vue3 pinia ant design vue typescript 完整技术路线开发的项目 秒级开发更新启动 新的vue3 composition api 结合 setup纵享丝滑般的开发体验 全新的 pin
  • Ubuntu下安装和注册beyond compare 4

    下载 安装 下载安装包网址 Ubuntu上选择Debian安装包 https www scootersoftware com download php sudo dpkg i bcompare 4 4 6 27483 amd64 deb 注
  • 【汽车电子】浅谈车载系统QNX

    目录 1 概述 2 QNX系统介绍 2 1 系统特点 2 2 系统结构 2 3 调度策略 3 QNX内核 4 QNX网络结构 5 QNX网络设备驱动 6 网络设备信息的统计 2 发展历程 3 应用场景 4 相关链接 1 概述 QNX是一种商
  • Stereo-Detection:YOLO v5与双目测距结合,实现目标的识别和定位测距

    简介 Stereo Detection 是一个传统的SGBM深度测距 yolov5目标检测 并部署在Jeston nano的开源教程 它致力于让更多的大四学生毕业 以及让研一学生入门 开源链接 yzfzzz Stereo Detection
  • Visual Studio运行C语言程序(第一个程序)

    以VS2017为例 首先打开VS 新建Visual C 空项目 建议将编写的程序放在一个文件夹里 并以编写程序当天的日期来命名 在Visual C 里选择C 文件 命名为自己容易认出的名称 后缀为 c就行 右击资源管理器的源文件 选择添加
  • 用Python爬取电影数据并可视化分析_python电影数据分析

    文章目录 一 获取数据 1 技术工具 2 爬取目标 3 字段信息 二 数据预处理 1 加载数据 2 异常值处理 3 字段处理 三 数据可视化 四 总结 一 获取数据 1 技术工具 IDE编辑器 vscode 发送请求 requests 解析
  • Spring refresh() 方法详解(启动Spring,bean的创建过程)

    Spring refresh方法详解 一 refresh 方法预览 二 refresh 方法中调用的每个方法 1 this prepareRefresh 激活开启容器 2 this obtainFreshBeanFactory 获取 bea
  • SQL Server 批量插入数据的两种方法

    在SQL Server 中插入一条数据使用Insert语句 但是如果想要批量插入一堆数据的话 循环使用Insert不仅效率低 而且会导致SQL一系统性能问题 下面介绍SQL Server支持的两种批量数据插入方法 Bulk和表值参数 Tab
  • CSAPP学习记录-Course Overview

    这是我开始学习CSAPP的笔记的第一遍 在接下来的内容 我会分享自己在学习CSAPP时的笔记 感受等等 学习资料来自b站 声明 所有内容基于自己的理解 如有错误感谢大家指出 链接 https www bilibili com video B
  • QT中按钮格式QSS代码

    鼠标正常时按钮效果 QPushButton myButton normal 鼠标正常时的效果 color 000000 background color rgb 40 85 20 改变背景色 border style inset 改变边框风
  • Hadoop3.x 之 MapReduce 开发总结(月薪过万)

    Hadoop之 MapReduce开发总结 MapReduce 开发总结 月薪过万 1 输入数据接口 InputFormat 月薪过万 2 逻辑处理接口 Mapper 月薪过万 3 Partitioner 分区 月薪过万 4 Compara