PySpark RDD可视化
PySpark RDD还没有任何绘图功能。如果想绘制一些内容,可以将数据从SparkContext中取出并放入“本地”Python会话中,在那里可以使用Python的任意一个绘图库来处理它。对于RDD,调用.collect()方法,将数据返回到driver再绘制。
请看下面的示例。
from pyspark.sql import SparkSession import random import matplotlib import matplotlib.pyplot as plt # 构建SparkSession和SparkContext实例 spark = SparkSession.builder \ .master("spark://xueai8:7077") \ .appName("pyspark rdd demo") \ .getOrCreate() sc = spark.sparkContext # 创建一个包含100个随机数的RDD x = [random.normalvariate(0,1) for i in range(100)] rdd = sc.parallelize(x) # 绘制RDD中的数据 num_bins = 50 n, bins, patches = plt.hist(rdd.collect(), num_bins, density=1, facecolor='green', alpha=0.5)
执行以上代码,执行结果如下所示: