栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

计算RDD中的行数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算RDD中的行数

您有一个正确的想法:用于

rdd.count()
计算行数。没有更快的方法。

我认为您应该问的问题是 为什么

rdd.count()
这么慢?

答案是

rdd.count()
“动作”,这是一个急切的操作,因为它必须返回实际的数字。您之前执行的RDD操作
count()
是“转换”-他们将RDD延迟地转换为另一个。实际上,转换实际上并没有执行,只是排队。调用时
count()
,您将强制执行所有先前的惰性操作。输入的文件需要立即加载,执行
map()
s和
filter()
s,执行随机播放等,直到最后我们有了数据并可以说出它有多少行。

请注意,如果您拨打

count()
两次,所有这些都会发生两次。返回计数后,所有数据都将被丢弃!如果要避免这种情况,请调用
cache()
RDD。然后,对的第二次调用
count()
将很快,并且派生的RDD也会更快地计算出来。但是,在这种情况下,RDD必须存储在内存(或磁盘)中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496696.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号