假设我有10个输入文件,每个文件都有几GB大小,我正在尝试将它们读入RDD并执行map/reduce操作。
显然,reduce阶段必须等到全部10个文件全部加载完毕。但是map阶段可以更早开始吗?
换句话说,Spark是否会逐段创建每个分区,然后立即开始对该分区的数据运行map操作……或者它会等到所有10个文件中的所有数据全部加载完毕,然后才在所有分区上同时启动map操作?
发布于 2016-04-30 06:26:44
您是否有理由相信spark正在等待所有文件在开始任何转换之前加载到内存中?
Spark做了惰性评估。因此,当您为它提供一组文件时,它将计算出需要多少个作业,并按顺序读取这些文件,对其进行处理并转储输出。在开始处理之前,它不会尝试在内存中加载整个文件。
https://stackoverflow.com/questions/36944585
复制相似问题