RDD,Pypark,为什么平面图似乎不在CPU中执行任何操作?

2024-09-28 17:24:53 发布

您现在位置:Python中文网/ 问答频道 /正文

显示我的代码

In [10]: rdd = sc.mongoPairRDD("mongodb://localhost/stackoverflow.stack")

......
     A lot of INFO
......    

In [11]: newrdd = rdd.flatMap(f)

# No INFO

In [12]: newrdd.collect()
# A lot of INFO

当调用rdd的函数时,比如说flatMap,系统似乎不运行该函数的代码。但是当,比如说调用collect(),系统运行并从内存或磁盘收集所有数据?在

我说得对吗?在


Tags: of函数代码ininfolocalhostmongodb系统
1条回答
网友
1楼 · 发布于 2024-09-28 17:24:53

是的,你是!这实际上是Spark的预期行为。有转换(例如map、flatMap、reduce)和操作(count、collect、saveAsTextFile)可以应用于RDD。在

正如您所注意到的,当您调用转换时,不会发生计算,它只是将操作堆栈到RDD,以获得某种方法来生成它。但是一旦你调用一个动作然后砰的一声,RDD实际上就被评估了。这就是你打对方付费电话时发生的事。在

相关问题 更多 >