scala – 为什么Apache Spark的功能不兼容?
发布时间:2020-12-16 18:20:49 所属栏目:安全 来源:网络整理
导读:在 http://spark.apache.org/docs/latest/programming-guide.html阅读Apache Spark指南它说: 为什么取功能不能并行运行?并行实现这种功能有什么困难?是否与事实有关,为了获取RDD的前n个元素,需要遍历整个RDD? 解决方法 实际上,虽然take并不是完全平行的,
在
http://spark.apache.org/docs/latest/programming-guide.html阅读Apache Spark指南它说:
为什么取功能不能并行运行?并行实现这种功能有什么困难?是否与事实有关,为了获取RDD的前n个元素,需要遍历整个RDD? 解决方法
实际上,虽然take并不是完全平行的,但它也不是完全顺序的.
例如,假设您采用(200),每个分区有10个元素. take将首先获取分区0并看到它有10个元素.它假定它需要20个这样的分区来获得200个元素.但是最好在并行请求中要求更多.所以它需要30个分区,它已经有1.所以它接下来并行地获取分区1到29.这可能是最后一步.如果它非常不吉利,并且没有找到总共200个元素,它将再次进行估算并同时请求另一批. 查看代码,它有详细记录: 我认为文档是错误的.只有在需要单个分区时才会进行本地计算.这是第一次传递(获取分区0)的情况,但通常不是后续传递中的情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |