  The purpose of this paper is to examine how resource usage of an analytic is
affected by the different underlying datatypes of Spark analytics - Resilient
Distributed Datasets (RDDs), Datasets, and DataFrames. The resource usage of an
analytic is explored as a viable and preferred alternative of benchmarking big
data analytics instead of the current common benchmarking performed using
execution time. The run time of an analytic is shown to not be guaranteed to be
a reproducible metric since many external factors to the job can affect the
execution time. Instead, metrics readily available through Spark including peak
execution memory are used to benchmark the resource usage of these different
datatypes in common applications of Spark analytics, such as counting, caching,
repartitioning, and KMeans.
