Collect()动作非常有用。无需编写文件即可获得数据。但是,在收集太多数据可能导致Out Of Memory异常的意义上,它不具有可扩展性。顺便说一下,toLocalIterator()动作是相当可扩展的,但是它将一个分区的数据收集到一个效率不高的数据。任何可扩展的collect()的想法?像可配置的迭代器?
答案 0 :(得分:0)
收集方法强制所有工作人员将相关数据返回给master。 由于Collect方法返回Array,因此master需要在内存中本地创建整个数组,因为它是以这种方式设计的。 这对开发人员来说是一个限制,即收集方法返回的数据应该小于master的avalaible内存的大小,否则它将为你提供outofmemory异常
你可以试试foreach,这可能会有所帮助。