有多少执行人员可以胜任这项工作?火花

时间:2017-03-06 17:17:35

标签: apache-spark

假设我们有1000个输入文件。 我们正在对文件进行一些处理。

  1. 我们将num executors设置为200,处理后我们将结果写在磁盘上。

  2. 我们将num executors设置为200,处理完毕后我们将结果合并(1)并将结果写入磁盘。

  3. 我们将num executors设置为200,并且在处理缓存结果之后,我们将缓存的结果合并(1)并写入磁盘。

  4. 我们将num executors设置为200,并且在处理后将结果保留在磁盘上,而不是合并(1)持久化结果并写入磁盘。

  5. 我们将num executors设置为200,处理后我们重新分区(1)结果并将结果写在磁盘上。

  6. 我们将num executors设置为200,并在处理缓存结果后,重新分区(1)缓存的结果并写入磁盘。

  7. 我们将num executors设置为200,并且在处理后将结果保留在磁盘上,而不是重新分区(1)持久化结果并写入磁盘。

  8. 有人能解释执行人员在这些案件中会做多少工作吗?

    我的经验是当我尝试将小结果文件折叠成一个具有coalesce(1)的文件而不是单个执行程序完成所有处理时,即使我之前缓存了结果(应该触发一个操作)据我所知)。所以我做了以下“黑客”。我在磁盘上写了多文件结果,而不是将其读回coalesce(1)并再次写回来。 注意:我处理了多个TB数据,结果很小,只有几kb。

    我觉得我错过了一些或者没有做对,或者因为合并(1)它必须由一个执行者处理,无论如何?一个合乎逻辑的步骤是结果的金字塔合并。

    我使用Spark 1.6

0 个答案:

没有答案