Apache spark 有多少遗嘱执行人会做这项工作?火花
假设我们有1000个输入文件。 我们正在处理这些文件Apache spark 有多少遗嘱执行人会做这项工作?火花,apache-spark,Apache Spark,假设我们有1000个输入文件。 我们正在处理这些文件 我们将num executors设置为200,处理后将结果写入磁盘 我们将num executors设置为200,处理后合并(1)结果并将结果写入磁盘 我们将numexecutors设置为200,在处理缓存结果之后,合并(1)缓存结果并在磁盘上写入 我们将numexecutors设置为200,在处理后将结果持久化到磁盘上,然后合并(1)持久化结果并在磁盘上写入 我们将numexecutors设置为200,在处理之后,我们重新分区(1)结果并将
我用的是Spark 1.6你从中得到了什么启示吗?我面临着同样的问题(执行合并(1)时只有一个执行者),spark 2.1.1恰好没有答案。我的问题用我在问题中提到的方法解决了,所以我没有花更多的时间去深入挖掘。但是如果你想知道一些我感兴趣的事情,那么我得出了一个结论——在转换链的末尾运行
.repartition()
或.coalesce()
时,它实际上被转换为类似。。。一些疑问。。。按键分发
。所以事实上,重新分配发生在转换之前,造成了你所看到的副作用。因此,我将使用.collect()
,从收集的数据创建一个新的RDD,然后将其重新分区到单个分区,这与您的解决方案有些类似,但不保存中间文件。