柠檬学院马延辉:常见的大数据面试题汇总
更新时间:2023-11-10 07:39:01 阅读量: 教育文库 文档下载
- 柠檬学院app推荐度:
- 相关推荐
一部分:某公司面试题
1、如何为一个hadoop任务设置mappers的数量 答案:
使用job.setNumMapTask(int n)手动分割,这是不靠谱的
官方文档:“Note: This is only a hint to the framework”说明这个方法只是提示作用,不起决定性作用 实际上要用公式计算:
Max(min.split,min(max.split,block))就设置分片的最大最下值 computeSplitSize()设置
2、有可能使hadoop任务输出到多个目录中么?如果可以,怎么做? 答案:在1.X版本后使用MultipleOutputs.java类实现 源码:
MultipleOutputs.addNamedOutput(conf, \Long.class, String.class);
MultipleOutputs.addNamedOutput(conf, \Long.class, String.class);
参考:http://my.oschina.net/leejun2005/blog/94706 发音:Multiple['m?lt?pl]--》许多的
3、如何为一个hadoop任务设置要创建的reducer的数量 答案:job.setNumReduceTask(int n)
或者调整hdfs-site.xml中的mapred.tasktracker.reduce.tasks.maximum默认参数值
4、在hadoop中定义的主要公用InputFormats中,哪一个是默认值: (A)TextInputFormat (B)KeyValueInputFormat (C)SequenceFileInputFormat 答案:A
5、两个类TextInputFormat和KeyValueTextInputFormat的区别? 答案:
?FileInputFormat的子类:
TextInputFormat(默认类型,键是LongWritable类型,值为Text类型,key为当前行在文件中的偏移量,value为当前行本身);
?KeyValueTextInputFormat(适合文件自带key,value的情况,只要指定分隔符即可,比较实用,默认是\\t分割); 源码: String sepStr
=job.get(\ 注意:在自定义输入格式时,继承FileInputFormat父类 6、在一个运行的hadoop任务中,什么是InputSpilt?
答案:InputSplit是MapReduce对文件进行处理和运算的输入单位,只是一个逻辑概念,每个InputSplit并没有对文件实际的切割,只是记录了要处理的数据的位置(包括文件的path和hosts)和长度(由start和length决定),默认情况下与block一样大。 拓展:需要在定义InputSplit后,展开讲解mapreduce的原理 7、Hadoop框架中,文件拆分是怎么被调用的?
答案:JobTracker, 创建一个InputFormat的 实例,调用它的getSplits()方法,把输入目录的文件拆分成FileSplist作 为Mapper task 的输入,生成Mapper task加入Queue。
源码中体现了拆分的数量
long goalSize = totalSize / (numSplits == 0 ? 1 : numSplits); long minSize =
Math.max(job.getLong(org.apache.hadoop.mapreduce.lib.input.
FileInputFormat.SPLIT_MINSIZE, 1), minSplitSize);//minSplitSize默认是1 8、分别举例什么情况下使用combiner,什么情况下不会使用?
答案:Combiner适用于对记录汇总的场景(如求和),但是,求平均数的场景就不能使用Combiner了
9、Hadoop中job和Tasks之间的区别是什么? 答案:
job是工作的入口,负责控制、追踪、管理任务,也是一个进程 包含map task和reduce task
Tasks是map和reduce里面的步骤,主要用于完成任务,也是线程
10、Hadoop中通过拆分任务到多个节点运行来实现并行计算,但是某些节点运行较慢会拖慢整个任务的运行,hadoop采用何种机制应对这种情况? 答案:结果查看监控日志,得知产生这种现象的原因是数据倾斜问题 解决:
(1)调整拆分mapper的数量(partition数量) (2)增加jvm
(3)适当地将reduce的数量变大
11、流API中的什么特性带来可以使map reduce任务可以以不同语言(如perl\\ruby\\awk等)实现的灵活性?
答案:用可执行文件作为Mapper和Reducer,接受的都是标准输入,输出的都是标准输出
12、参考下面的M/R系统的场景: --HDFS块大小为64MB --输入类型为FileInputFormat
--有3个文件的大小分别是:64k 65MB 127MB Hadoop框架会把这些文件拆分为多少块? 答案:
64k------->一个block
65MB---->两个文件:64MB是一个block,1MB是一个block 127MB--->两个文件:64MB是一个block,63MB是一个block 13、Hadoop中的RecordReader的作用是什么? 答案:属于split和mapper之间的一个过程
将inputsplit输出的行为一个转换记录,成为key-value的记录形式提供给mapper 14、Map阶段结束后,Hadoop框架会处理:Partitioning ,shuffle 和sort,在这个阶段都会发生了什么? 答案:
MR一共有四个阶段,split map shuff reduce 在执行完map之后,可以对map的输出结果进行分区,
分区:这块分片确定到哪个reduce去计算(汇总) 排序:在每个分区中进行排序,默认是按照字典顺序。 Group:在排序之后进行分组
15、如果没有定义partitioner,那么数据在被送达reducer前是如何被分区的? 答案:
Partitioner是在map函数执行context.write()时被调用。
用户可以通过实现自定义的?Partitioner来控制哪个key被分配给哪个?Reducer。 查看源码知道:
如果没有定义partitioner,那么会走默认的分区Hashpartitioner public class HashPartitioner extends Partitioner { /** Use {@link Object#hashCode()} to partition. */
public int getPartition(K key, V value, int numReduceTasks) { return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks; } }
参考:http://blog.csdn.net/gamer_gyt/article/details/47339755 16、什么是Combiner?
答案:这是一个hadoop优化性能的步骤,它发生在map与reduce之间 目的:解决了数据倾斜的问题,减轻网络压力,实际上时减少了maper的输出 源码信息如下:
public void reduce(Text key, Iterator values, OutputCollector output, Reporter reporter)
正在阅读:
柠檬学院马延辉:常见的大数据面试题汇总11-10
局开展党史学习教育的实施方案07-31
考研英语自我介绍精选7篇03-24
人教版语文四上第1单元06-28
工作狂老爸作文400字06-26
医院门诊科技楼工程施工组织设计方案08-05
UML状态图和活动图的设计(第五个实验)09-21
幸福就在不远处作文600字07-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 柠檬
- 汇总
- 试题
- 常见
- 数据
- 学院
- 马延辉
- 2017年新人教版小学一年级语文下册《写字表》
- 电磁场与电磁波答案(无填空答案)
- 八年级数学第二学期上海期末卷10套含答案
- 大学期末考试 通信原理试题A
- 《数据结构》试卷第1套
- 抵制宗教极端思想向校园渗透蔓延工作措施
- 大班科学教案:站住了,别倒下
- 实测流量悬移质输沙率计算
- 人员值班分配数学建模模型
- 电大法学专科《宪法学》期末考试题库
- 计算机实验2-文字处理Word 2010
- 机械设计练习题 - 图文
- 2010年述职述廉报告 - 杭福兵
- 二年级数学(下册)期末考试试题 北师大版B卷 附答案
- 泉州一中2010-2011学年第一学期期末考试 高三生物试卷
- 13年春护理心理学在线作业答案
- 实施五大统筹网建设加快推进城乡一体化
- 大型及分布式光伏电站视频监控典型配置方案V1.0
- 2008年綦江县生源地信用助学贷款办理要求
- 2016年江西省中考数学模拟试卷(四)(解析版)