Spark:HDFS中的文件远大于群集中的可用RAM时

时间:2018-10-03 05:44:11

标签: apache-spark hadoop reducers

我在hdfs中有一个10000块的文件。

#我的集群中的cpu = 200
内存= 500 GB

Q1。)当我初始化RDD时,在第一次迭代中仅读取200个(#cores)块。
因此,总共需要50次迭代来处理整个文件。这种理解对吗?

Q2。)在广泛的依赖关系中,需要洗牌。

为了正确地进行改组,如果在一次迭代中仅分区/处理了全部10K块中的200个块,那么

然后它将导致错误的结果(例如:groupByKey)。

因此在改组的情况下:

在第一阶段和第二阶段之间发生改组时

Q2a。)然后必须在RAM中提供第一阶段的完整数据(10000个分区/块)?理解正确吗?

Q2b。)这种情况下的解决方案是什么?

请尽我所能澄清上述混乱,但找不到任何解释。

0 个答案:

没有答案