【HDFS】BlockReceiver#receivePacket方法详解

news/2024/5/20 0:49:34 标签: hdfs, hadoop, 大数据

BlockReceiver#receivePacket:

接收并处理一个packet,这个packet可能包含多个chunks。
返回值是packet的数据字节数。

receivePacket这个方法的代码有250+行。非常长。需要我们去一点一点拆解:

  private int receivePacket() throws IOException {
   
    // 从输入流in里读下一个packet。这个in是上游。receiveNextPacket也是核心方法,可以先跳转到文末看这个方法的解析,看完再回来。
    // 现在我们只需要知道receive packet之后把packet放到curPacketBuf这个ByteBuffer里了。
    // read the next packet
    packetReceiver.receiveNextPacket

http://www.niftyadmin.cn/n/4969665.html

相关文章

stm32单片机实现电机的PID控制

PID控制应该算是非常古老而且应用非常广泛的控制算法了,小到热水壶温度控制,大到控制无人机的飞行姿态和飞行速度等等。在电机控制中,PID算法用得尤为常见。 一、位置式PID 1.计算公式 在电机控制中,我们给电机输出的是一个PWM占…

Python数据分析实战-给定JSON格式的数据提取所需字段并转换为DataFrame(附源码和实现效果)

实现功能 给定JSON格式的数据提取所需字段并转换为DataFrame 实现代码 import pandas as pd import json# 假设给定的JSON数据已经存储在data变量中 data [{"title": "Data Source Adapter for Excel Sheets","project_code_url": "htt…

【部署】Window前后端部署JeecgBoot-Vue3

部署运维 前言前台部署配置修改前台打包IIS部署开启代理URL重写后台部署配置修改后台打包项目运行问题❌访问不是跟路由的网址,显示404参考文献前言 俗话说得好,是骡子是马,咱得牵出来遛遛,只能分真假。 其实内容蛮多的,好多文章都还没有开始写,现在项目也开始进入了关…

【IMX6ULL驱动开发学习】12.Linux SPI驱动实战:DAC驱动设计流程

基础回顾: 【IMX6ULL驱动开发学习】10.Linux I2C驱动实战:AT24C02驱动设计流程_阿龙还在写代码的博客-CSDN博客 【IMX6ULL驱动开发学习】11.Linux之SPI驱动_阿龙还在写代码的博客-CSDN博客 一、编写驱动 查看芯片手册,有两种DAC数据格式&a…

C++ VS2022使用gRPC

在2022年前,gRPC是一个受欢迎的RPC框架,允许应用程序在不同的环境中进行通信。gRPC是基于Google的Protocol Buffers作为接口定义语言的,它支持多种编程语言,其中之一就是C。 如果你想在Visual Studio 2022 (VS2022) 中使用gRPC和…

【Linux】GNOME图形化界面安装

Linux下具有多种图形化界面,每种图形化界面具有不同的功能,在这里我们安装的是GNOME。 1、 挂载yum源 挂载之前首先确保使用ISO映像文件 2.挂载之前先在/mnt下面创建一个cdrom目录用来作为挂载点目录 挂载完成之后那么就要去修改yum源了 Vi /etc/yum.r…

【数据结构练习】单链表OJ题(二)

目录 一、相交链表二、环形链表1三、环形链表2四、链表分割五、复制带随机指针的链表 一、相交链表 题目: 示例: 注意:不能根据节点的值来比较是否相交,而是根据节点在内存中是否指向相同的位置。 例如以上图: 链表…

反向传播求变量导数

反向传播求变量导数 1. 相关习题2. 推导流程2.1 相关公式2.3 变量导数求解 3. 代码实现3.1 参数对应3.2 代码实现 以前只知道反向传播通过链式法则实现今天看书发现图片上求出来的值自己算不出来所以自己算了一下,记录一下,并运行了书中的代码相关书籍&a…