Дублирующие СДР при объединении СДР из одних и тех же источников - PullRequest
0 голосов
/ 07 февраля 2019
r00 = sc.parallelize(range(9))
r01 = sc.parallelize(range(0,90,10))
r10 = r00.cartesian(r01)
r11 = r00.map(lambda n : (n, n))
r12 = r00.zip(r01)
r13 = r01.keyBy(lambda x : x / 20)
r20 = r11.union(r12).union(r13).union(r10)
r20.collect()

Предыдущий код блока pyspark дает следующую DAG для задания:

Job DAG

Но на этапе DAG задания отображается несколько PythonRDD из ParallelCollectionRDDдаже если они одинаковы (например, ParallelCollectionRDD [0] имеет PythonRDD [2], PythonRDD [5] и PythonRDD [8].

Stage DAG

Почему присутствуют PythonRDD? Почему нетпрямое соединение от ParallelCollectionRDD до UnionRDD, ZippedPartitionRDD и CartesianRDD?

...