Spark中foreach和map的区别?

Spark中foreach和map的区别?

[TOC]

相同

  • 都用于遍历集合对象,并对每一项执行指定的方法

区别

  • 算子类别
    • foreach 是行为算子,产生shuffle 操作,消耗大
    • map 是转换算子,消耗小,运行快
  • 返回值
    • foreach 无返回值(准确说法是返回 void)
    • map 返回集合对象
  • 用法
    • foreach 用于遍历集合
    • map 用于映射(转换)集合到另一个集合
  • 处理逻辑
    • foreach 的处理逻辑是串行的
    • map 的处理逻辑是并行的

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!