【问题标题】:Understanding RDD in PySpark (from parallelize)了解 PySpark 中的 RDD(来自并行化)
【发布时间】:2021-01-28 06:07:08
【问题描述】:

我是 PySpark(或 Spark)的新手。我将 Python 列表转换为 RDD

name_list_json = [ '{"name": "k"}', '{"name": "b"}', '{"name": "c"}' ]
name_list_rdd = spark.sparkContext.parallelize(name_list_json)
print(name_list_rdd)

这会在 PythonRDD.scala:262 的 readRDDFromFile 处打印出“ParallelCollectionRDD[2]”。这里有两个问题:

  1. ParallelCollectionRDD[2] 中的 2 是什么意思?是分区数吗?

  2. 还有为什么 readRDDFromFile 会出现在这里?是不是因为python列表先保存到文件,然后再从文件中加载?

【问题讨论】:

    标签: apache-spark pyspark rdd


    【解决方案1】:
    1. 是的,它的分区数默认设置为 2,您可以使用 repartition() 对其进行重新分区
    2. 它实际上是指 readRDDFromFile 方法。如果要打印内容,需要在打印之前执行 collect() 之类的操作

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多