我在hdfs中有一个10000块的文件。
#我的集群中的cpu = 200
内存= 500 GB
Q1。)当我初始化RDD时,在第一次迭代中仅读取200个(#cores)块。
因此,总共需要50次迭代来处理整个文件。这种理解对吗?
Q2。)在广泛的依赖关系中,需要洗牌。
为了正确地进行改组,如果在一次迭代中仅分区/处理了全部10K块中的200个块,那么
然后它将导致错误的结果(例如:groupByKey)。
因此在改组的情况下:
在第一阶段和第二阶段之间发生改组时
Q2a。)然后必须在RAM中提供第一阶段的完整数据(10000个分区/块)?理解正确吗?
Q2b。)这种情况下的解决方案是什么?
请尽我所能澄清上述混乱,但找不到任何解释。