  Distributed data processing platforms for cloud computing are important tools
for large-scale data analytics. Apache Hadoop MapReduce has become the de facto
standard in this space, though its programming interface is relatively
low-level, requiring many implementation steps even for simple analysis tasks.
This has led to the development of advanced dataflow oriented platforms, most
prominently Apache Spark and Apache Flink. Those platforms not only aim to
improve performance through improved in-memory processing, but in particular
provide built-in high-level data processing functionality, such as filtering
and join operators, which should make data analysis tasks easier to develop
than with plain Hadoop MapReduce. But is this indeed the case?
  This paper compares three prominent distributed data processing platforms:
Apache Hadoop MapReduce; Apache Spark; and Apache Flink, from a usability
perspective. We report on the design, execution and results of a usability
study with a cohort of masters students, who were learning and working with all
three platforms in order to solve different use cases set in a data science
context. Our findings show that Spark and Flink are preferred platforms over
MapReduce. Among participants, there was no significant difference in perceived
preference or development time between both Spark and Flink as platforms for
batch-oriented big data analysis. This study starts an exploration of the
factors that make big data platforms more - or less - effective for users in
data science.
