【HDFS】Block、BlockInfo、BlockInfoContiguous、BlockInfoStriped的分析记录

news/2024/12/29 21:53:07/

本文主要介绍如下内容:

  • 关于几个Block类之间的继承、实现关系;
  • 针对文章标题中的每个类,细化到每个成员去注释分析
  • 列出、并详细分析BlockInfo抽象类提供的抽象方法、非抽象方法的功能
  • 针对几个跟块组织结构的方法再进行分析。moveBlockToHead、listInsert、listRemove等。

一、几个Block类的继承关系

二、Block

块(Block)是Hadoop FS中的一种原语,由long类型的块ID唯一标识。一个block也有一个伴随的generation stamp(GS), 这个 GS 是由NameNode持久化维护的每个块的一个单调递增的8字节数。然而,对于这个类而言,如果两个块具有相同的块ID,则认为它们是相等的。可以看重写的equals方法,如果两个块对象的block id相等,那么equals返回true。重写的hashCode方法是对block id求Long.hashCode()

类定义如下:实现了Writable接口,证明可以被序列化;实现了Comparable接口,证明可以比较。

public class Block 

http://www.ppmy.cn/news/989594.html

相关文章

【李宏毅机器学习·学习笔记】Deep Learning General Guidance

本节课可视为机器学习系列课程的一个前期攻略,这节课主要对Machine Learning 的框架进行了简单的介绍;并以training data上的loss大小为切入点,介绍了几种常见的在模型训练的过程中容易出现的情况。 课程视频: Youtube&#xff1…

C++字符串题基础(进阶请看下一个文章)

打印小写字母表 #include<iostream> #include<string.h> #include<iomanip> #include<stdio.h> #include<cmath> using namespace std; int main() {char na;for(int i1;i<13;i){cout<<n;n;}cout<<endl;for(int i1;i<13;i){c…

机器学习 day31(baseline、学习曲线)

语音识别的Jtrain、Jcv和人工误差 对于逻辑回归问题&#xff0c;Jtrain和Jcv可以用分类错误的比例&#xff0c;这一方式来代替单单只看Jtrain&#xff0c;不好区分是否高偏差。可以再计算人类识别误差&#xff0c;即人工误差&#xff0c;作为基准线来进行比较Jtrain与baselin…

计算机网络——学习笔记

付费版&#xff1a;直接在上面的CSDN资源下载 免费版&#xff1a;https://wwsk.lanzouk.com/ijkcj13tqmyb 示例图&#xff1a;

ArcGIS Pro 制作一张立体地形图

在各位关掉文章之前,先把成果贴上来 下面开始操作步骤贴图,这个真的很简单,没有什么复杂的软件联动和操作 这是哥斯达黎加部分区域的30mDEM,数据链接我放在最后。 首先,找到工具【栅格函数】—【统计分析】,选择下载好的栅格,领域设置行列数都改为6,点击创建新图层。然…

java 页面html常用写法总结

​(注意&#xff1a;本文章默认base html中已经引入bootstrap.min.css、style.css等css样式) input &#xff1a;输入标签 <#input required"必填" id"cycle" name"周期" underline"true" style"width:75%" itype&quo…

[NLP]LLM高效微调(PEFT)--LoRA

LoRA 背景 神经网络包含很多全连接层&#xff0c;其借助于矩阵乘法得以实现&#xff0c;然而&#xff0c;很多全连接层的权重矩阵都是满秩的。当针对特定任务进行微调后&#xff0c;模型中权重矩阵其实具有很低的本征秩&#xff08;intrinsic rank&#xff09;&#xff0c;因…

Flowable-中间事件-空中间抛出事件

定义 空中间抛出事件是一个 Throwing 事件&#xff0c;在 intermediateThrowEvent 元素下不加入任何的事件定 义元素&#xff0c;就构成一个空中间抛出事件。它通常用于表示流程中的某个状态&#xff0c;在实际使用的过程中可 以通过添加执行监听器&#xff0c;来表示流程状态…