Оценка PySpark

Я пытаюсь следующий код, который добавляет номер к каждой строке в RDD и возвращает список RDD, используя PySpark.

from pyspark.context import SparkContext
file  = "file:///home/sree/code/scrap/sample.txt"
sc = SparkContext('local', 'TestApp')
data = sc.textFile(file) 
splits = [data.map(lambda p :  int(p) + i) for i in range(4)]
print splits[0].collect()
print splits[1].collect()
print splits[2].collect()

Содержимое входного файла (sample.txt):

1
2
3

Я ожидал вывод, подобный этому (добавление чисел в rdd с 0, 1, 2 соответственно):

[1,2,3]
[2,3,4]
[3,4,5]

тогда как фактический результат был:

[4, 5, 6]
[4, 5, 6]
[4, 5, 6]

Это означает, что понимание использовало только значение 3 для переменной i, независимо отДиапазон (4).

Почему такое поведение происходит?

Ответы на вопрос(2)

Ваш ответ на вопрос