RDD沿袭/ Spark操作员图的良好输出

问题描述 投票:1回答:1

我对用于教育目的的Spark RDD谱系或运算符图表的清晰表达感兴趣。我试过.toDebugString(),但我很难把它打印得很漂亮(包括换行等)。这里出了什么问题?

Using Python version 3.6.4 (default, Mar  1 2018 18:36:42)

SparkSession available as 'spark'.
>>> sc
<SparkContext master=local[*] appName=PySparkShell>
>>> rdd = sc.parallelize(range(10000))
>>> rdd.toDebugString()
b'(4) PythonRDD[1] at RDD at PythonRDD.scala:48 []\n |  ParallelCollectionRDD[0] at parallelize at PythonRDD.scala:175 []'
>>> print(rdd.toDebugString())
b'(4) PythonRDD[1] at RDD at PythonRDD.scala:48 []\n |  ParallelCollectionRDD[0] at parallelize at PythonRDD.scala:175 []'
>>> 

除了调试字符串之外,还有更好的方法可视化图形吗?

python apache-spark pyspark
1个回答
2
投票

但我很难把它打印得很漂亮

因为它是bytes对象。只是decode结果:

>>> print(rdd.toDebugString().decode("utf-8"))
(4) PythonRDD[1] at RDD at PythonRDD.scala:48 []
 |  ParallelCollectionRDD[0] at parallelize at PythonRDD.scala:489 []

还有更好的可视化图形的方法吗?

Spark UI中的DAG可视化通常绰绰有余。

© www.soinside.com 2019 - 2024. All rights reserved.