分布式计算框架

分布式计算就是为了把多个计算逻辑能够放到多台机器上执行,执行的逻辑一般使用java或者python等,还牵扯到数据如何分片。

计算

序列化

要将计算逻辑放到多台机器,首先需要的就是将计算逻辑序列化,在网络上传输到多台机器,然后在多台机器上面反序列化,进行执行。

资源管理

对于计算资源需要进行管理,每台机器启动多少进程,一般按照机器的处理器内核进行分配,即有几个内核就启动几个进程。

DAG

每一个完整的计算逻辑被切分成很多任务,这些任务是每个计算节点执行的最小单位,也是调度的最小单位。根据DAG可以清楚的了解每个任务之间的依赖关系。

数据

数据分片

数据分片跟计算的分布紧密相连,一般尽可能的使计算和分片的数据在同一个节点。也有使用统一存储的方式,如hadoop,则没有这个要求。可以简单的理解为一个数据分片就是一个小文件。

数据shuffle

分布式计算分为两类操作,一类是map;一类是aggregate/join。map操作是一个转化操作,只需要在本地、本分片的数据进行操作就可以。而聚合/合并类的操作需要使用别的计算节点的数据,这个时候就需要shuffle操作。本质上说shuffle操作就是把分区数据合并到一起,然后再从新分区,新的分区的依据就是聚合/合并操作所需要操作的key。有两个最为简单的实现:一是将所有数据都统一存放到一个中心的地点,进行重新分片;另一个方法是数据还保留到本地,只把数据的元数据放到一起进行重新分片,需要计算是,节点根据元数据找到相应的原始数据。

驱动程序

进行计算资源的规划以及数据分片的规划,把计算逻辑序列化,发送到需要进行计算的节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值