1. 批处理计算
批量处理无法实现实时计算,可以用Mapreduce和spark。
由于spark是将数据放在内存中计算的,而mapreduce数据在磁盘中,需要将数据从磁盘中读取到内存,算完后再释放回磁盘
因此spark可以实现接近准实时性和秒级的响应
2. 流计算
数据源源不断的放入系统中计算(时间序列的数据),数据特点:少,但是要求响应极快(ms级别)
例如:大型应用系统的故障分析障碍
需要源源不断的从日志中读取,并对日志分析,再做出判断
用啥解决:
storm可以实现
S4,Flume,DStream都可以进行流计算
spark可以
mapreduce是不可以的,他的响应一般是分钟级别的
3. 图计算(有边和结点)
社交网络的数据,谁和谁关系较好等
地理信息的数据,各个城市间的高铁分布等
可以用MApreduce计算,但是效率特别低
google公司开发了专门针对图计算的框架---pregel
Hama、power Graph等也可以进行图计算
4. 查询分析计算
企业中应用最多。对数据仓库中的数据,用sql语句进行查询分析
专门的计算实现:google公司的Dremel
hadoop生态圈的hive