gpt4 book ai didi

pyspark - pyspark 中 toDebugstring() 的准确使用

转载 作者:行者123 更新时间:2023-12-04 15:45:39 26 4
gpt4 key购买 nike

我是 pyspark 的新手,并试图了解 toDebugstring() 的确切用法。你能从下面的代码片段中解释一下吗?

 >>> a = sc.parallelize([1,2,3]).distinct()
>>> print a.toDebugString()
(8) PythonRDD[27] at RDD at PythonRDD.scala:44 [Serialized 1x Replicated]
| MappedRDD[26] at values at NativeMethodAccessorImpl.java:-2 [Serialized 1x Replicated]
| ShuffledRDD[25] at partitionBy at NativeMethodAccessorImpl.java:-2 [Serialized 1x Replicated]
+-(8) PairwiseRDD[24] at distinct at <stdin>:1 [Serialized 1x Replicated]
| PythonRDD[23] at distinct at <stdin>:1 [Serialized 1x Replicated]
| ParallelCollectionRDD[21] at parallelize at PythonRDD.scala:358 [Serialized 1x Replicated]

最佳答案

在 spark 中,RDD 中的依赖关系以图形的形式登录。简单来说,每一步都是血统的一部分。通过调用 toDebugString 方法,您实际上是在要求显示这个谱系图(又名发生的每个单独步骤的链,即创建的 RDD 类型和用于创建它的方法)。有些是您显式执行的转换,而另一些则不是(例如,沿袭图的最底部步骤是您吞没的真正类型的 RDD,但就在其上方的是由内部机制生成的 RDD,用于将输入 RDD 中的对象转换为Java 类型对象)

您的打印语句的结果显示了从创建 ParallelCollectionRDD 开始自下而上的每一步。缩进的每个变化都是混洗边界的指示,即混洗操作的发生。您可以从谱系图中阅读更多内容以更好地理解。

关于pyspark - pyspark 中 toDebugstring() 的准确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55893773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com