当前位置:网站首页 > R语言数据分析 > 正文

spark常见面试题(spark 面试题总结)



  磁盘IO,网络带宽

  单机版、伪分布式模式、完全分布式模式

  Hadoop是指Hadoop框架本身;hadoop生态系统,不仅包含hadoop,还包括保证hadoop框架正常高效运行其他框架,比如zookeeper、Flume、Hbase、Hive、Sqoop等辅助框架。

job提交流程源码详解

一个job的map阶段MapTask并行度(个数),由客户端提交job时的切片个数决定。

MapTask工作机制

ReduceTask工作机制

分区,排序,溢写,拷贝到对应reduce机器上,增加combiner,压缩溢写的文件。

  如果没有自定义的 partitioning,则默认的 partition 算法,即根据每一条数据的 key 的 hashcode 值摸运算(%)reduce 的数量,得到的数字就是“分区号“。

  通过Partitioner实现

  可以自定义groupingcomparator,对结果进行最大值排序,然后再reduce输出时,控制只输出前n个数。就达到了topn输出的目的。

  Extraction-Transformation-Loading的缩写,中文名称为、和。

  默认保存3份

  在Hadoop2.7版本之前是64MB,之后就改为了128MB

  DataNode负责数据存储

  他的目的使帮助NameNode合并编辑日志,减少NameNode 二次启动时间,备份数据

  Hadoop1.x都是64M,hadoop2.x开始都是128M。

  HDFS存储机制,包括HDFS的写入数据过程读取数据过程两部分
HDFS写数据过程

HDFS读数据过程

1)第一阶段:NameNode启动
  (1)第一次启动NameNode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
  (2)客户端对元数据进行增删改的请求。
  (3)NameNode记录操作日志,更新滚动日志。
  (4)NameNode在内存中对数据进行增删改查。
2)第二阶段:Secondary NameNode工作
  (1)Secondary NameNode询问NameNode是否需要checkpoint。直接带回NameNode是否检查结果。
  (2)Secondary NameNode请求执行checkpoint。
  (3)NameNode滚动正在写的edits日志。
  (4)将滚动前的编辑日志和镜像文件拷贝到Secondary NameNode。
  (5)Secondary NameNode加载编辑日志和镜像文件到内存,并合并。
  (6)生成新的镜像文件fsimage.chkpoint。
  (7)拷贝fsimage.chkpoint到NameNode。
  (8)NameNode将fsimage.chkpoint重新命名成fsimage。





































架构主要由四个部分组成,分别为HDFS Client、NameNode、DataNode和Secondary NameNode。下面我们分别介绍这四个组成部分。
1)Client:就是客户端。
  (1)文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行存储;
  (2)与NameNode交互,获取文件的位置信息;
  (3)与DataNode交互,读取或者写入数据;
  (4)Client提供一些命令来管理HDFS,比如启动或者关闭HDFS;
  (5)Client可以通过一些命令来访问HDFS;
2)NameNode:就是Master,它是一个主管、管理者。
  (1)管理HDFS的名称空间;
  (2)管理数据块(Block)映射信息;
  (3)配置副本策略;
  (4)处理客户端读写请求。
3)DataNode:就是Slave。NameNode下达命令,DataNode执行实际的操作。
  (1)存储实际的数据块;
  (2)执行数据块的读/写操作。
4)Secondary NameNode:并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。
  (1)辅助NameNode,分担其工作量;
  (2)定期合并Fsimage和Edits,并推送给NameNode;
  (3)在紧急情况下,可辅助恢复NameNode。




















































  Hadoop中常用的压缩算法有bzip2、gzip、lzo、snappy,其中lzo、snappy需要操作系统安装native库才可以支持。
  数据可以压缩的位置如下所示。

企业开发用的比较多的是snappy

        今天分享的内容就到这里了,喜欢的朋友可以点击下方我的公众号观看更多内容,我是大数据老哥我们下期再见~~

资源获取 获取Flink面试题,Spark面试题,程序员必备软件,hive面试题,Hadoop面试题,Docker面试题,简历模板等资源请去 GitHub自行下载 https://github.com/lhh2002/Framework-Of-BigData Gitee 自行下载  https://gitee.com/li_hey_hey/dashboard/projects

到此这篇spark常见面试题(spark 面试题总结)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • spring教程(spring教程入门)2025-08-16 09:54:09
  • raise a suilen动画(raise a suilen漫画)2025-08-16 09:54:09
  • cruise2010安装教程(cruise2014安装教程)2025-08-16 09:54:09
  • docker的版本(docker-ce版本)2025-08-16 09:54:09
  • uchar num什么意思(num_chars什么意思)2025-08-16 09:54:09
  • webflux和springmvc的区别(springwebflux原理)2025-08-16 09:54:09
  • ardbeg怎么读(argued怎么读?)2025-08-16 09:54:09
  • zipsigner签名教程(zip signature)2025-08-16 09:54:09
  • redhat 重置root密码(redhat8重置root密码)2025-08-16 09:54:09
  • jvisualvm分析hprof(jvisualvm分析hprof文件)2025-08-16 09:54:09
  • 全屏图片