我有一个完美的MapReduce工作。我想我可以通过将其重写为Spark而受益,并且它会有显着差异,例如之前性能的两倍吗?我的MapReduce作业没有它只是转换数据的reducer,没有复杂的计算,对同一输入数据没有迭代操作,所以看起来Spark内存中的功能在我的情况下是无用的。
让我担心的是,使用MapReduce我不需要设置内存量和完成作业所需的执行程序数量,它们将根据输入数据的大小计算。如果使用Spark,我将不得不使用spark.executor.memory
和num-executors
,动态分配会对我们的群集造成一些麻烦。