三种大数据处理引擎

批量大数据处理

  • 数据特点:静态数据
  • 场景:离散计算,対实时性要求不高
  • 代表技术:MapReduce

MapReduce

  1. 一次计算可以分为映射和规约两个阶段
  2. 拿到数据进行预处理
  3. 先被分成各个数据块
  4. Map阶段:读取数据,生成键(词)值(对应词出现的次数)对形式的中间结果,存储到本地内存,并定期写入磁盘并进行分区交互给Reduce阶段。
  5. Reduce阶段:拿到Map阶段的数据后进行排序,key相同的键值对进行规约累加,计算结果存储到规定位置进行输出。完成所有操作给用户反馈

举例:

流式大数据处理

  • 数据特点:动态数据;数据在计算过程中,不断更新,无法预先把数据保存
  • 场景:在线计算,对实时性要求高
  • 代表技术:storm

大规模图处理

  • 数据特点:比较重要,普遍存在生活中的数据,如交通网,社交网数据
  • 代表技术:pregel