PySpark实战:collect操作-将RDD类型的数据转化为数组

来自CloudWiki
跳转至: 导航搜索

介绍

collect操作是一个动作算子,

它可以将RDD类型的数据转化为数组,同时会从集群中拉取数据到driver端,这对于少量RDD数据的观察非常有用。

代码


import findspark
findspark.init()
##############################################
from pyspark.sql import SparkSession
spark = SparkSession.builder \
        .master("local[1]") \
        .appName("RDD Demo") \
        .getOrCreate();
sc = spark.sparkContext
#############################################
rdd = sc.parallelize([("a", 2), ("b", "c")])
#[('a', 2), ('b', 'c')]
print(rdd.collect())
##############################################
sc.stop()

  • rdd.collect()将RDD数据格式转换成一个数据序列
  • 注意:由于collect操作会将RDD数据汇总到一处,如果数据量非常大,那么可能会出现内存不足等情况,因此不适合海量数据的查看。

结果

[('a', 2), ('b', 'c')]