IT评测·应用市场-qidao123.com

标题: hadoop基础知识分享(二) [打印本页]

作者: 尚未崩坏    时间: 2024-11-6 16:07
标题: hadoop基础知识分享(二)
写在前面

本日继续学习hadoop部分的知识。
MapReduce

数据切片

InputFormat 接口

InputFormat 是一个抽象类,界说了两个方法:
FileInputFormat 抽象类

FileInputFormat 是所有以文件作为数据源的 InputFormat 实现的基类,保存作为 job 输入的所有文件,并实现了对输入文件盘算 splits 的方法。不同的子类(如 TextInputFormat)负责获得记录的方法。
TextInputFormat

TextInputFormat 是默认的处理类,用于处理平凡文本文件。文件中的每一行作为一个记录:
默认分隔符是换行符(\n)或回车键。
KeyValueTextInputFormat

适用于以制表符(\t)分割的多列数据:
SequenceFile 输入格式

适用于二进制文件。
CombineFile 输入格式

适用于小文件,解决大量小文件导致的 MapTask 数量过多问题。
InputSplit的巨细

InputSplit 的巨细由以下公式决定:
Math.max(minSize, Math.min(maxSize, blockSize))
特别:一个输入文件巨细为 140M,应该有几个 Map Task?

实行流程



Map 任务处理

Reduce 任务处理

自界说输出类

YARN

资源管理框架

架构

YARN 是 Hadoop 的资源管理框架,接纳主从架构:
调度计谋

Shuffle 过程

Shuffle 过程简介

广义的 Shuffle 过程是指,在 Map 函数输出数据之后,并且在 Reduce 函数实行之前的过程。Shuffle 过程包含了数据的分区、溢写、排序、合并等操纵。具体而言,Shuffle 主要包括以下步调:
Shuffle 源码实现

Shuffle 过程的核心代码主要包含在 MapOutputCollector 的子实现类中。该类对象表示缓冲区,负责存储 Map 输出数据并处理 Shuffle 阶段的操纵。
自界说排序

Shuffle 的默认排序方式是按照 Hash 值的字典顺序进行排序。如果需要自界说排序,可以通过实现 WritableComparable 接口并重写 compareTo 方法来指定排序规则。
自界说排序示例:
  1. public class MyCustomComparator implements WritableComparable<MyCustomComparator> {
  2.     private int key;
  3.    
  4.     @Override
  5.     public int compareTo(MyCustomComparator other) {
  6.         // 比较 key 的大小
  7.         return Integer.compare(this.key, other.key);
  8.     }
  9.    
  10.     // 重写其他必要的序列化和反序列化方法
  11. }
复制代码
InputFormat、FileInputFormat、TextInputFormat的区别?

这些类主要用于 Map 阶段的数据输入、切片和格式转换。
MapReduce 实行流程?

如何在 Map 阶段进行 Reduce 操纵(MapJoin)?

使用 Combiner 可以在 Map 阶段进行局部的聚合,从而淘汰 Reduce 阶段的数据量。Combiner 是一个在 Map 完成后实行的“轻量级” Reduce 操纵,它会对每个 Map Task 输出的数据进行初步的归约,淘汰 Shuffle 阶段的数据传输量。
MapReduce 优化?

数据输入优化

合并小文件

问题:大量小文件会导致创建大量 Map Task,从而低落实行效率。
解决方案:
Map 阶段优化

淘汰溢写次数

问题:多次溢写会导致磁盘 I/O 开销大,低落效率。
解决方案:
I/O 传输优化

问题:大量数据传输会影响 MapReduce 实行效率。
解决方案:
Reduce 阶段优化

问题: Reduce 阶段实行效率慢。
解决方案:
MapReduce 在 YARN 上的实行流程?

粗粒度与细粒度资源申请

YARN 的调度计谋?

YARN 中有三种调度计谋,分别适用于不同的场景:
通过合理选择调度计谋和优化 MapReduce 作业,可以明显进步作业的实行效率。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4