Hadoop-MapReduce-学习日志-20181213

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_1018944104/article/details/84994892

目录

1、MapReduce编程套路(有一张图重要)

2、maptask的并行度

3、MapReduce中自定义类

4、MapReduce程序的运行模式

5、MapReduce案例包

6、排序

7、combiner

8、分区—reducetask的并行度

9、join:hql——>sql

10、分组

扫描二维码关注公众号,回复: 4497794 查看本文章

11、shuffle的原理解析(有一个张图重要)

12、MRAppMaster

13、多job串联

14、倒排索引

15、全局计数器

16、MapReduce的输入

17、注意事项


1、MapReduce编程套路(有一张图重要)

1、MapReduce编程中map的输出的key

2、map输入的key如何设计?

2、maptask的并行度

1、什么是maptask

2、maptask的决定因素——切片

3、底层实现原理

4、面试题:切片和切块的区别?

5、修改切片的大小

3、MapReduce中自定义类

1、Hadoop中的内置类型

2、自定义类的实现原理

3、编写自定义类

4、MapReduce程序的运行模式

1、打jar包方式

2、本地运行

3、本地运行——提交YARN上

5、MapReduce案例包

1、位置

2、运行

6、排序

1、默认情况下会按照map输出的key进行排序

2、需求1:对wc的结果进行排序  按照单词出现的次数进行倒序排序

3、排序的原理解析

4、需求2:将统计结果按照先按照上行流量在按照总流量倒序排序

7、combiner

1、是什么?

2、有什么用?适用场景?

3、为什么?

4、如何用?

8、分区—reducetask的并行度

1、概念

2、有什么用?

3、为什么?

4、如何使用?

5、自定义分区

9、join:hql——>sql

1、reducejoin

数据倾斜

2、mapjoin

10、分组

1、默认情况

2、案例:求每门课程平均分的前五名同学

3、分组的原理解析

4、自定义分组

11、shuffle的原理解析(有一个张图重要)

12、MRAppMaster

13、多job串联

14、倒排索引

1、概念

2、案例

15、全局计数器

1、是什么

2、默认情况

3、自定义计数器

4、应用场景

16、MapReduce的输入

1、默认输入

2、需求:小文件合并,默认的输入一行一行的数据输入,目前的需求需要一次性读取一个小文件

3、自定义输入

4、自定义输出

17、注意事项

reduce端的values的两个坑:

1.只能循环遍历一次

2.values另外的坑:key values  只有一个对象

对象重用
List<Stu> list=new list;
for(Stu s:values){
重用的一个对象
循环遍历到每一个对象相当于对同一个对象重新赋值属性
list.add(s);
}

list中所有的对象都是values的最后一个对象了
所有的values通用一个内存地址,循环遍历的时候  只是属性在变

如何解决:
每次循环遍历的时候将这个values中的对象重新赋值给新的对象
for(Stu s:values){
Student ss=new Student(s.getName());
list.add(ss);
}
 

练习作业

1、求5个文件(小文件),每个文件中放的都是单词,每一行多个单词,分割符\t。求这五个文件中的所有单词的出现的总次数

2、有5个文件  每一个文件中存储的都是数字  每行一个字这五个文件中所有数字的最大值

3、mr的wc写完

4、5个文件  每一个文件中存储的都是数字  每行一个字这五个文件中所有数字的最大值 用MR写一遍

5、题目--求学生成绩--普通版,链接:

6、流量案例,链接:

7、题目--3--求学生成绩--增强版,链接:

8、很多作业题目,单独进行整理

猜你喜欢

转载自blog.csdn.net/qq_1018944104/article/details/84994892
今日推荐