大数据(三)大数据计算引擎

文章目录

  • 说明
  • 分享
  • 大数据计算引擎
    • 批处理
      • MapReduce
      • tez
    • 流批处理
      • Flink
      • spark
  • 总结

说明

  • 本博客每周五更新一次。
  • 介绍过大数据平台的搭建、应用和存储,本期分享下大数据计算。

分享

  • 大数据博客列表

大数据计算引擎

  • 什么是计算引擎?
    • 计算引擎就是一种计算规则的高度抽象聚合体,使用者按照指定的方式编写对应接口代码,然后执行就能得到需要的结果(前提没有bug)。
  • 大数据计算场景分为两个种:批处理(历史文件)和流处理(实时数据)处理,日常看到计算引擎划分:
    • 第一代:批处理代表MapReduce
    • 第二代:流处理代表spark
    • 第三代:流批一体代表flink

批处理

MapReduce

  • 批处理最有名且流行最广的计算引擎是MapReduce,它是hadoop平台自带计算引擎,任务调度由yarn调度管理,是hive数据库默认计算引擎。
  • MapReduce会自动将计算任务拆分为map和reduce阶段,并分发到平台节点进行计算,最终汇聚结果并输出,由于每步计算过程,结果都会生成文件,所以该计算引擎非常稳定,缺点是执行速度较慢。
  • 由于MapReduce超强的稳定性,开放自由的接口开发框架,经历几代计算引擎变更,特定领域的地位依然稳定。

tez

  • hadoop2新增计算引擎,MapReduce是第二代,优化原有MapReduce框架结构,合并非必要计算过程,减少数据存储次数,执行时间大幅提升。
  • 实际工作中未接触到任何tez实现的代码开发实现,仅用作hive计算引擎,但它对特定sql解析有异常,日常与MapReduce互补使用。

流批处理

Flink

  • 这几年国内大数据行业爆火的流批一体计算引擎技术,该项目已被阿里收购,随着近几年国产化浪潮,它的呼声巨大。
  • 1.12版本流批计算接口合并,总体上流处理能力强。

spark

  • 与Flink同类软件,独有RDD能力,支持流批和机器学习计算,某些方面开创先河。
  • 实际使用中根据实际场景和Flink同时使用。

总结

  • 当前大数据计算主要使用以上引擎,没有绝对的谁好谁坏,在速度和稳定性、可维护性能达到要求,满足业务需要就好。

你可能感兴趣的:(大数据,big,data,hadoop,spark)