网站大量收购闲置独家精品文档,联系QQ:2885784924

[柠檬学院马延辉:常见的大数据面试题汇总.docxVIP

[柠檬学院马延辉:常见的大数据面试题汇总.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[柠檬学院马延辉:常见的大数据面试题汇总

 一部分:某公司面试题 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, text2, TextOutputFormat.class, Long.class, String.class); MultipleOutputs.addNamedOutput(conf, text3, TextOutputFormat.class, Long.class, String.class); 参考:/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(mapreduce.input.keyvaluelinerecordreader.key.value.separator,\t); 注意:在自定义输入格式时,继承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采用何种机制应对这种情况? 答案:结果查看监控日志,得知产生这种现

文档评论(0)

1789811832 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档