做有温度的教育!
全国统一咨询热线:400-803-9399
北京
校区
新闻资讯> 求职攻略> 大数据面试题

大数据面试题

时间:2018-08-15
浏览:5829
发布:甲骨文华育兴业
赞:4511

金九银十马上就要到了,各位在甲骨文华育兴业学习大数据的学员们也要到了面试的阶段,让我们在最后的这段时光中充分复习一下吧,来看看这些常见的面试问题!


  1、简答说一下hadoop的map-reduce编程模型

  首先map task会从本地文件系统读取数据,转换成key-value形式的键值对集合

  使用的是hadoop内置的数据类型,比如longwritable、text等

  将键值对集合输入mapper进行业务处理过程,将其转换成需要的key-value在输出

  之后会进行一个partition分区操作,默认使用的是hashpartitioner,可以通过重写hashpartitioner的getpartition方法来自定义分区规则

  之后会对key进行进行sort排序,grouping分组操作将相同key的value合并分组输出,在这里可以使用自定义的数据类型,重写WritableComparator的Comparator方法来自定义排序规则,重写RawComparator的compara方法来自定义分组规则

  之后进行一个combiner归约操作,其实就是一个本地段的reduce预处理,以减小后面shufle和reducer的工作量

  reduce task会通过网络将各个数据收集进行reduce处理,最后将数据保存或者显示,结束整个job


  2、hadoop的TextInputFormat作用是什么,如何自定义实现

  InputFormat会在map操作之前对数据进行两方面的预处理

  1是getSplits,返回的是InputSplit数组,对数据进行split分片,每片交给map操作一次

  2是getRecordReader,返回的是RecordReader对象,对每个split分片进行转换为key-value键值对格式传递给map

  常用的InputFormat是TextInputFormat,使用的是LineRecordReader对每个分片进行键值对的转换,以行偏移量作为键,行内容作为值

  自定义类继承InputFormat接口,重写createRecordReader和isSplitable方法

  在createRecordReader中可以自定义分隔符


  3、hadoop和spark的都是并行计算,那么他们有什么相同和区别

  两者都是用mr模型来进行并行计算,hadoop的一个作业称为job,job里面分为map task和reduce task,每个task都是在自己的进程中运行的,当task结束时,进程也会结束

  spark用户提交的任务成为application,一个application对应一个sparkcontext,app中存在多个job,每触发一次action操作就会产生一个job

  这些job可以并行或串行执行,每个job中有多个stage,stage是shuffle过程中DAGSchaduler通过RDD之间的依赖关系划分job而来的,每个stage里面有多个task,组成taskset有TaskSchaduler分发到各个executor中执行,executor的生命周期是和app一样的,即使没有job运行也是存在的,所以task可以快速启动读取内存进行计算

  hadoop的job只有map和reduce操作,表达能力比较欠缺而且在mr过程中会重复的读写hdfs,造成大量的io操作,多个job需要自己管理关系

  spark的迭代计算都是在内存中进行的,API中提供了大量的RDD操作如join,groupby等,而且通过DAG图可以实现良好的容错


  4、为什么要用flume导入hdfs,hdfs的构架是怎样的

  flume可以实时的导入数据到hdfs中,当hdfs上的文件达到一个指定大小的时候会形成一个文件,或者超过指定时间的话也形成一个文件

  文件都是存储在datanode上面的,namenode记录着datanode的元数据信息,而namenode的元数据信息是存在内存中的,所以当文件切片很小或者很多的时候会卡死


  5、map-reduce程序运行的时候会有什么比较常见的问题

  比如说作业中大部分都完成了,但是总有几个reduce一直在运行

  这是因为这几个reduce中的处理的数据要远远大于其他的reduce,可能是因为对键值对任务划分的不均匀造成的数据倾斜

  解决的方法可以在分区的时候重新定义分区规则对于value数据很多的key可以进行拆分、均匀打散等处理,或者是在map端的combiner中进行数据预处理的操作

  

人生从业之路的第一步,从甲骨文华育兴业开始,

背后付出的辛苦与努力只有自己知道,而这也只是职业生涯的开始。

勤恳努力的人终会得到最好的回报,有些努力需要时间来回答

你吃的苦终会铺成你想要的路!

甲骨文华育兴业,为你的IT之路开启梦想之门!


【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息联系我们,我们将及时沟通与处理。本站内容除非来源注明甲骨文华育兴业,否则均为网友转载,涉及言论、版权与本站无关。




【AI大数据】2019年AI数据5大趋势 ps使用 大数据 冲刺Java架构师年薪50W

友情链接: 甲骨文华育兴业太原校区 甲骨文华育兴业济南校区 甲骨文华育兴业哈尔滨校区 甲骨文华育兴业北京校区 魔据教育

Copyright ©2016-2019. All Rights Reserved. 京ICP备17018991号-4

网站地图