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

spark常见面试题(spark 面试题总结)磁盘 IO 网络带宽 单机版 伪分布式模式 完全分布式模式 1 Zookeeper 是一个开源的分布式应用程序协调服务 基于 zookeeper 可以实现同步服务 配置维护 命名服务 2 Flume 一个高可用的 高可靠的 分布式的海量日志采集 聚合和传输的系统 3 Hbase 是一个分布式的 面向列的开源数据库 利用 Hadoop HDFS 作为其存储系统 4 Hive

大家好,我是讯享网,很高兴认识大家。



  磁盘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

小讯
上一篇 2025-05-31 09:36
下一篇 2025-05-22 12:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/195242.html