HADOOP笔试

2019-08-31 15:53

1 使用Hive或者自定义MR实现如下逻辑

product_no lac_id moment start_time user_id county_id staytime city_id 13429100031 22554 8 2013-03-11 08:55:19.151754088 571 571 282 571 13429100082 22540 8 2013-03-11 08:58:20.152622488 571 571 270 571 13429100082 22691 8 2013-03-11 08:56:37.149593624 571 571 103 571 13429100087 22705 8 2013-03-11 08:56:51.139539816 571 571 220 571 13429100087 22540 8 2013-03-11 08:55:45.150276800 571 571 66 571 13429100082 22540 8 2013-03-11 08:55:38.140225200 571 571 133 571 13429100140 26642 9 2013-03-11 09:02:19.151754088 571 571 18 571 13429100082 22691 8 2013-03-11 08:57:32.151754088 571 571 287 571 13429100189 22558 8 2013-03-11 08:56:24.139539816 571 571 48 571 13429100349 22503 8 2013-03-11 08:54:30.152622440 571 571 211 571 字段解释:

product_no:用户手机号; lac_id:用户所在基站;

start_time:用户在此基站的开始时间; staytime:用户在此基站的逗留时间。 需求描述:

根据lac_id和start_time知道用户当时的位置,根据staytime知道用户各个基站的逗留时长。根据轨迹合并连续基站的staytime。

最终得到每一个用户按时间排序在每一个基站驻留时长 期望输出举例:

13429100082 22540 8 2013-03-11 08:58:20.152622488 571 571 270 571 13429100082 22691 8 2013-03-11 08:56:37.149593624 571 571 390 571 13429100082 22540 8 2013-03-11 08:55:38.140225200 571 571 133 571 13429100087 22705 8 2013-03-11 08:56:51.139539816 571 571 220 571 13429100087 22540 8 2013-03-11 08:55:45.150276800 571 571 66 571

2 Linux脚本能力考察

2.1 请随意使用各种类型的脚本语言实现:批量将指定目录下的所有文件中的$HADOOP_HOME$替换成/home/ocetl/app/hadoop

2.2 假设有10台主机,H1到H10,在开启SSH互信的情况下,编写一个或多个脚本实现在所有的远程主机上执行脚本的功能 例如:runRemoteCmd.sh \期望结果: H1: XXXXXXXX XXXXXXXX XXXXXXXX H2: XXXXXXXX XXXXXXXX XXXXXXXX H3: ...

3 Hadoop基础知识与问题分析的能力

3.1 描述一下hadoop中,有哪些地方使用了缓存机制,作用分别是什么

3.2 请描述https://issues.apache.org/jira/browse/HDFS-2379说的是什么问题,最终解决的思路是什么?

4 MapReduce开发能力

请参照wordcount实现一个自己的map reduce,需求为: a 输入文件格式:

xxx,xxx,xxx,xxx,xxx,xxx,xxx b 输出文件格式: xxx,20 xxx,30 xxx.40

c 功能:根据命令行参数统计输入文件中指定关键字出现的次数,并展示出来

例如:hadoop jar xxxxx.jar keywordcount xxx,xxx,xxx,xxx(四个关键字)

5 MapReduce优化

请根据第五题中的程序, 提出如何优化MR程序运行速度的思路

6 Linux操作系统知识考察

请列举曾经修改过的/etc下的配置文件,并说明修改要解决的问题?

7 Java开发能力

7.1 写代码实现1G大小的文本文件,行分隔符为\\x01\\x02,统计一下该文件中的总行数,要求注意边界情况的处理

7.2 请描述一下在开发中如何对上面的程序进行性能分析,对性能进行优化的过程

答案如下:

1. 考虑后,决定使用 MR 来实现,于是使用Java,用一个MR Job完成这个事情:

1. package org.aboutyun;

2.

3. import org.apache.commons.lang.StringUtils;

4. import org.apache.hadoop.conf.Configuration;

5. import org.apache.hadoop.fs.Path;

6. import org.apache.hadoop.io.LongWritable;

7. import org.apache.hadoop.io.Text;

8. import org.apache.hadoop.mapreduce.Job;

9. import org.apache.hadoop.mapreduce.Mapper;

10. import org.apache.hadoop.mapreduce.Reducer;

11. import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

12. import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;

13. import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

14. import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;

15.

16. import java.io.IOException;

17. import java.text.ParseException;

18. import java.text.SimpleDateFormat;

19. import java.util.ArrayList;

20. import java.util.Collections;

21. import java.util.Comparator;

22.

23. public class TimeCount {

24. public static void main(String[] args) throws Exception {

25. Configuration conf = new Configuration();

26.

27. Job job = new Job(conf, \

28.

29. job.setOutputKeyClass(Text.class);

30. job.setOutputValueClass(Text.class);

31.

32. job.setMapperClass(Map.class);

33. job.setReducerClass(Reduce.class);

34.

35. job.setInputFormatClass(TextInputFormat.class);

36. job.setOutputFormatClass(TextOutputFormat.class);

37.

38. FileInputFormat.addInputPath(job, new Path(args[0]));

39. FileOutputFormat.setOutputPath(job, new Path(args[1]));

40.


HADOOP笔试.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于狗的经典对联精选

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: