了解 PySpark 中的 RDD(来自 parallelize)
Understanding RDD in PySpark (from parallelize)
我是 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)
这会打印出“ParallelCollectionRDD[2] at readRDDFromFile at PythonRDD.scala:262”。这里有两个问题:
ParallelCollectionRDD[2]中的2是什么意思?那是多个分区吗?
另外,为什么 readRDDFromFile 会出现在这里?是不是因为python列表是保存到文件,然后从文件中加载的?
- 是的,它的分区数默认设置为 2,您可以使用 repartition()
对其重新分区
- 其实是指readRDDFromFile方法。如果你想打印内容,你需要在打印之前做一些类似collect()的事情
我是 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)
这会打印出“ParallelCollectionRDD[2] at readRDDFromFile at PythonRDD.scala:262”。这里有两个问题:
ParallelCollectionRDD[2]中的2是什么意思?那是多个分区吗?
另外,为什么 readRDDFromFile 会出现在这里?是不是因为python列表是保存到文件,然后从文件中加载的?
- 是的,它的分区数默认设置为 2,您可以使用 repartition() 对其重新分区
- 其实是指readRDDFromFile方法。如果你想打印内容,你需要在打印之前做一些类似collect()的事情