У меня следующая ситуация с моим Pyspark:
В моей программе-драйвере (driver.py) я вызываю функцию из другого файла (prod.py)
latest_prods = prod.featurize_prods().
Код драйвера:
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])
Затем я делаю здесь некоторый код reduceByKey
... который генерирует total_prods_processed
.
Наконец я звоню:
total_prods_processed.saveAsTextFile(...)
Я хотел бы генерировать last_prods и old_prods параллельно. Оба созданы в одном и том же SparkContext
. Возможно ли это сделать? Если нет, как я могу добиться этой функциональности?
Это то, что делает Spark автоматически? Я не вижу такого поведения при запуске кода, поэтому, пожалуйста, дайте мне знать, является ли это параметром конфигурации.