I have the following situation with my Pyspark:

In my driver program (driver.py), I call a function from another file (prod.py) 

```
latest_prods = prod.featurize_prods(). 

```

Driver code: 

```
from Featurize import Featurize
from LatestProd import LatestProd
from Oldprod import Oldprod

sc = SparkContext()

if __name__ == '__main__':
    print 'Into main'

featurize_latest = Featurize('param1', 'param2', sc)

latest_prod = LatestProd(featurize_latest)
latest_prods = latest_prod.featurize_prods()
featurize_old = Featurize('param3', 'param3', sc)

old_prods = Oldprod(featurize_old)
old_prods = oldprod.featurize_oldprods()
total_prods =  sc.union([latest_prods, old_prods])

```

Then I do some some `reduceByKey` code here... that generates `total_prods_processed`.

Finally I call:

```
total_prods_processed.saveAsTextFile(...)

```

I would like to generate latest\_prods and old\_prods in parallel. Both are created in the same `SparkContext`. Is it possible to do that? If not, how can I achieve that functionality? 

Is this something that does Spark automatically? I am not seeing this behavior when I run the code so please let me know if it is a configuration option.