Diferença entre reduz e foldLeft / fold na programação funcional (particularmente Scala e Scala APIs)?

Por que Scala e estruturas como Spark e Scalding têm reducee foldLeft? Então, qual é a diferença entre reducee