目录
数据处理的方式有哪些
单机数据处理
依赖单个计算机的资源,处理的数据量较少,当数据量过大时,无法执行
集群数据处理
采用分布式技术,借助分布式服务实现海量数据处理
- 分布式存储 HDFS : 主-NameNode 从-DataNode
- 分布式资源调度 Yarn : 主-ResourceManager 从-NodeManager
分布式计算框架
MapReduce
- 需要开发人员编写计算代码
- MapReduce采用的是多任务方式(进程)进行分布式计算,每个计算任务运行在不同的服务器上
- MapReduce包含Map和Reduce两个部分,两个部分分别以进程的方式运行
- Map运行的数量由谁决定?
- 默认情况下,split切割的数据会给到Map,而split默认切割一个块的的数据,所以,一个块对应一个map
- Reduce运行数量?
- 默认情况下,根据计算的数据量自动决定产生多少个reduce
- hive在进行计算时,可以通过set进行设置
- 指定的reduce个数决定了分区数 ,分区数和reudce个数是一致的
ApplicationMaster
ApplicationMaster管理MapReduce的计算
Spark分布式计算类别
spark有很多部署方式,不同的部署方式决定spark计算时的资源调度方式
- Local模式 使用单机资源
- 使用master参数指定资源调度方式 默认 loca