Hadoop片段

      Hadoop1.x中,jobtracker 是一个进程,主要负责资源调度和任务分发,只有一个进程负责,负载很高,和从节点进行大量的通信,主要有资源申请,任务分发,执行情况回收以及心跳。

      Yarn:资源管理框架,applicationmaster来负责,想跑在yarn上必须实现applicationmaster接口。

Hdfs block备份的策略:三份的存储  

Hive 2.0 封装的是sparkhive依赖hdfsderbyderby不支持多用户链接,所以迁移到mysql

Hive一般使用外表和分区表,因为内表的话,AB的子表,需要在存储一份,没必要,所以用外表。

大数据处理的三种场景:批处理 实时处理 交互式查询

Spark一站搞定所有。

Mapreduce,一个split由一个task去处理,数据本地化,task进行分发的时候有本地化,如果不是一个block,一个split包含两个block的话,task分发给谁都不好,另一个都需要数据传输给tasksplit默认128M,和block大小一样,可以调,

Block 严格按照大小切分, split 不是严格的按照大小切片,一行为单位有可能一部分给 block1, 一部分给 block2,split1 中包含了剩余部分, split2 中就不包含这部分数据

Buffer 大小是100M,阈值80%,超过80%才会溢写,溢写之前进行分区、排序,才会溢写,排序是对内存中的排序,这时候这80M会被锁住,这时写入20M,溢写完了之后回合并成大文件,大文件也是分好区的,

Reduce阶段,合并大文件时有分组,每一组调用一次reduce函数,一个reduce函数对应一个输出文件

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

Scala也是基于jvm的,于java没有区别,只有语法区别,没有性能区别。

Standalonespark自带的一个资源调度框架,它支持完全分布式

Local:功能在本地的ide idea测试

Yarn hadoop生态圈里面一个资源调度,spark也是可以基于yarn来计算

Mesos:资源调度

Spark想要在yarn上计算,必须实现里面的applicationmaster接口

MR

资源调度

任务调度

Spark

只负责任务的分发维护就可以了  yarn来资源调度。

猜你喜欢

转载自blog.csdn.net/mr2zhang/article/details/80355108