DataWhale 大数据处理技术组队学习task5

news/2024/5/2 6:07:30/文章来源:https://blog.csdn.net/Yzy_fulture/article/details/129251584

六、期中大作业

1. 面试题

1.1 简述Hadoop小文件弊端

  • 当小文件比较多的时候,就会产生很多的元数据文件,一方面会大量占用NameNode的内存空间,另一方面就是元数据文件过多,使得寻址索引速度变慢。小文件过多,在进行MR计算时,会生成过多切片,需要启动过多的MapTask。每个MapTask处理的数据量小,导致MapTask的处理时间比启动时间还小,白白消耗资源。
  • 解决方案:
    • 数据源头控制小文件出现:在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS
    • 在业务处理之前:在HDFS上使用MapReduce程序对小文件进行合并。
    • 在MapReduce处理时,可采用CombineTextInputFormat提高效率

1.2 HDFS中DataNode挂掉如何处理

  • 关闭pipeline(通信管道)
  • 根据ack queue将已经发送的pocket添加回data queue(撤回已经发送到故障节点的pocket)
  • namenode记录故障节点中的未完成的block信息, 待节点恢复后, 删除这部分数据
  • 在剩余的节点上建立新的通信管道
  • 继续传输pocket
  • datanode挂掉后缺失的副本会namenode管理下恢复

1.3 HDFS中NameNode挂掉如何处理

  • 如果只配置了一个NameNode作为主节点
    • 方法一:拷贝SNN数据到NN存储数据的目录中
      • kill -9 NameNode进程
      • 删除NameNode存储的数据
      • 拷贝SecondaryNameNode中数据到原NameNode存储数据目录
      • 重新启动NameNode即可
    • 方法二:使用-importCheckpoint选项启动NN守护进程,它会将SNN数据拷贝到NN数据目录中
      • 修改hdfs-site.xml
      • kill -9 NameNode进程
      • 删除NameNode存储的数据
      • 拷贝SecondaryNameNode中数据到原NameNode存储数据目录并删除in_use.lock文件
      • 导入检查点数据
      • 启动NameNode

1.4 HBase读写流程

  • HBase写流程:
    • Client访问zookeeper,获取元数据存储所在的regionserver
    • 通过刚刚获取的地址访问对应的regionserver,拿到对应的表存储的regionserver
    • 去表所在的regionserver进行数据的添加
    • 查找对应的region,在region中寻找列族,先向memstore中写入数据
    • 当memstore写入的值变多,触发溢写操作(flush),进行文件的溢写,成为一个StoreFile
    • 当溢写的文件过多时,会触发文件的合并(Compact)操作
    • 当region中的数据逐渐变大之后,达到某一个阈值,会进行裂变(一个region等分为两个region,并分配到不同的regionserver),原本的Region会下线,新Split出来的两个Region会被HMaster分配到相应的HRegionServer上,使得原先1个Region的压力得以分流到2个Region上。
  • HBase读流程:
    • Client访问zookeeper,获取元数据存储所在的regionserver
    • 通过刚刚获取的地址访问对应的regionserver,拿到对应的表存储的regionserver
    • 去表所在的regionserver进行数据的读取
    • 查找对应的region,在region中寻找列族,先找到memstore,找不到去blockcache中寻找,再找不到就进行storefile的遍历
    • 找到数据之后会先缓存到blockcache中,再将结果返回

1.5 MapReduce为什么一定要又Shuffle过程

  • Shuffle使map和reduce之间的桥梁,reduce需要Shuffle来获取数据

1.6 MapReduce中的三次排序

  • 不是很能理解题目的意思,有点疑惑

1.7 MapReduce为什么不能产生过多小文件

  • 文件的元数据存储在namenode中,每个文件的元数据都差不多大,小文件过多会极大的占用namonode
    的内存,制约集群的扩展。(主要影响)
  • 在对小文件进行处理的时候,一个小文件对应一个maptask,一个maptask会开启一个JVM进程,JVM处理一个maptask后会关闭,这样JVM开关的时间会比处理maptask的时间更长,严重浪费了资源,因为进程的开启销毁会严重性能。
  • HDFS读写小文件时也会更加耗时,因为每次都需要从NameNode获取元信息,并且对应的DataNode建立连接

2. 实验(之后统一完成)

参考自DataWhale组队学习资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74969.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

想招到实干派程序员?你需要这种面试法

技术招聘中最痛的点其实是不精准。技术面试官或CTO们常常会向我们吐槽: “我经常在想,能不能把我们项目中的代码打印出来,作为候选人的面试题的一部分?” “能不能把一个Bug带上环境,让候选人来试试怎么解决&#xf…

mysql中用逗号隔开的字段作查询用(find_in_set的使用)

mysql中用逗号隔开的字段作查询用(find_in_set的使用) 场景说明 在工作中,经常会遇到一对多的关系。想要在mysql中保存这种关系,一般有两种方式,一种是建立一张中间表,这样一条id就会存在多条记录。或者采用第二种方式&#xff…

【数据结构必会基础】关于树,你所必须知道的亿些概念

目录 1.什么是树 1.1浅显的理解树 1.2 数据结构中树的概念 2.树的各种结构概念 2.1 节点的度 2.2 根节点/叶节点/分支节点 2.3 父节点/子节点 2.4祖先节点/子孙节点 2.5兄弟节点 2.6树的度 2.7节点的层次 2.8森林 3. 如何用代码表示一棵树 3.1链式结构 3.1.1 树节…

Gitea Windows环境下服务搭建

前言:这篇文章没有去分析各大平台的优劣势,仅教学大家搭建一个属于自己的git代码管理器,主要作用在局域网内,办公电脑搭建一个简单的Gitea代码管理器。数据库使用SQLite3,环境是windows10。如果不是这个环境的话&#…

@Import注解的原理

此注解是springboot自动注入的关键注解,所以拿出来单独分析一下。 启动类的run方法跟进去最终找到refresh方法; 这里直接看这个org.springframework.context.support.AbstractApplicationContext#refresh方法即可,它下面有一个方法 invoke…

Node下载阿里OSS存储文件【不知目录结构】

前言:前端传模型ID,后台根据ID去阿里OSS存储下载对应文件(不知文件内部层级结构,且OSS只能单个文件下载),打包成zip字节流形式返回给前端下载。 需求分析: 生成OSS文件关系树Node做文件下载存…

kafka(一) 的架构,各概念

Kafka架构 Kafak 总体架构图中包含多个概念: (1)ZooKeeper:Zookeeper负责保存broker集群元数据,并对控制器进行选举等操作。 (2)Producer: 生产者负责创建消息,将消息发…

【神经网络】LSTM为什么能缓解梯度消失

1.LSTM的结构 我们先来看一下LSTM的计算公式: 1.遗忘门: 2.输入门: 3.细胞状态 4.输出门 2.LSTM的梯度路径 根据LSTM的计算公式,可以得出LSTM的cell state与、、都存在计算关系,而、、的计算公式又全部都与有关&#x…

RPC异步化原理

深入RPC,更好使用RPC,须从RPC框架整体性能考虑问题。得知道如何提升RPC框架的性能、稳定性、安全性、吞吐量及如何在分布式下快速定位问题。RPC框架如何压榨单机吞吐量? 1 前言 TPS一直上不去,压测时CPU压到40%~50%就…

bug的创建和等级

1.如何合理的创建一个bug 创建bug的要素 :问题的版本,发现问题的环境,发现问题的步骤,预取结果,实际结果。 eg: 1.问题的版本:谷歌浏览器108版本 2.发现问题的环境:windows11家庭版…

CHAPTER 2 CentOS的日志系统(日志工具)

日志工具2.1 rsyslogd(syslogd)2.1.1 介绍2.1.2 语法2.1.3 配置文件syslog.conf2.1.4 syslog.conf的配置规则2.1.5 示例2.2 logrotate2.2.1 介绍2.2.2 配置文件2.2.3 示例一2.2.4 示例二2.3 dmesg2.3.1 命令简介2.3.2 使用示例2.4 关于重启/死机的日志2.4.1 last2.4.2 日志查看…

HTML#5表单标签

一. 表单标签介绍表单: 在网页中主要负责数据采集功能,使用<form>标签定义表单表单项: 不同类型的input元素, 下拉列表, 文本域<form> 定义表单<input> 定义表单项,通过typr属性控制输入形式<label> 为表单项定义标注<select> 定义下拉列表<o…

工程机械焊接件焊接结构件三维扫描检测外观质量控制-CASAIM三维扫描检测仪

焊接已发展为制造业中的一种重要的加工方法&#xff0c;广泛应用于航空、航天、冶金、石油、汽车制造以及国防等领域。工程机械焊接件品种繁多、几何形状复杂&#xff0c;焊接件质量的好坏将直接影响到产品的使用寿命长短。对焊缝表面尺寸测量及评定表面焊缝缺陷时&#xff0c;…

叠氮试剂79598-53-1,6-Azidohexanoic Acid,6-叠氮基己酸,末端羧酸可与伯胺基反应

●中文名&#xff1a;6-叠氮基己酸●英文名&#xff1a;6-Azidohexanoic Acid&#xff0c;6-Azidohexanoic COOH●外观以及性质&#xff1a;西安凯新生物科技有限公司供应的6-Azidohexanoic Acid浅黄色或者无色油状&#xff0c;叠氮化物可使用铜催化的Click化学与末端炔烃共轭&…

一文了解 requestAnimationFrame

requestAnimationFrame 的基本使用 requestAnimationFrame 是什么 window.requestAnimationFrame() 告诉浏览器——你希望执行一个动画&#xff0c;并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数&#xff0c;该回调函数会在浏…

腾讯前端二面常考vue面试题(附答案)

虚拟DOM真的比真实DOM性能好吗 首次渲染大量DOM时&#xff0c;由于多了一层虚拟DOM的计算&#xff0c;会比innerHTML插入慢。正如它能保证性能下限&#xff0c;在真实DOM操作的时候进行针对性的优化时&#xff0c;还是更快的。 MVVM的优缺点? 优点: 分离视图&#xff08;V…

MK60DX256VLQ10(256KB)MK60DN256VLQ10 Kinetis K60 MCU FLASH

MK60DX256VLQ10(256KB)MK60DN256VLQ10 Kinetis K60 MCU 32BIT 256KB FLASH 144LQFP【说明】Kinetis K6x MCU系列是一个可扩展的组合&#xff0c;具有不同级别的集成&#xff0c;提供丰富的模拟、通信、定时和控制外设套件&#xff0c;以适应广泛的需求。应用楼宇自动化控制器人…

数仓基础与hive入门

目录1、数仓数据仓库主流开发语言--SQL2、Apache Hive入门2.1 hive定义2.2 为什么使用Hive2.3 Hive和Hadoop关系2.4 场景设计&#xff1a;如何模拟实现Hive功能2.5 Apache Hive架构、组件3、Apache Hive安装部署3.1 metastore配置方式4、Hive SQL语言&#xff1a;DDL建库、建表…

【谷歌grc】recaptcha browser-error 错误

grc 谷歌人机验证错误 https://www.google.com/recaptcha/api/siteverif 返回错误信息 browser-error [{"success": false,"error-codes": ["browser-error"] }]之前都是调通能用的&#xff0c;突然之间就不能用了&#xff0c;查了半天也没有找…

蓝库云|什么是供应链管理?SCM对制造业的重要性

企业在产品的销售经营上&#xff0c;往往不会考量到供应链管理(SCM)的流程规划&#xff0c;但现今的商业环境与以往不同&#xff0c;高度竞争与客户不断提升的期望&#xff0c;藉由做好供应链管理(SCM)&#xff0c;才能更准时的提供优质产品与优良服务&#xff0c;增强企业竞争…